Hive安裝本地模式

  • 環境

CentOS6.5

jdk1.8

MySQL5.6

Hadoop2.7

mysql要用原生的若果是centOS會自帶MariaDB,不要用。

CentOS上MySQL安裝

  • 安裝hive

下載hive壓縮包

解壓

然後放到一個單獨的目錄下(不放也行)

wget url
tar -zxvf   apache-hive-2.2-bin.tar.gz
mv apache-hive-2.2-bin hive

不用編譯,然後配置就好了

  • 配置hive

  • 環境變量
vim /etc/profile
#在最後加上下面內容,第一行是hive的絕對路徑
export HIVE_HOME=/usr/hive
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH
#編輯好後保存
:wq
#保存環境變量
source /etc/profile
  • MySQL

這裏假裝MySQL已經裝好了

新建一個用戶hive,密碼爲000000。然後新建庫hive,這些配置在hive-site.xml中會用到。

mysql -u root -p #進入MySQL
#配置如下
CREATE USER 'hive'@'localhost' IDENTIFIED BY '000000';
grant all privileges on *.* to 'hive'@'localhost' identified by 'hive';
flush privileges;
  • 配置驅動程序

需要把MySQL驅動的jar包下載下來然後放到hive的lib目錄下。

wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.39.tar.gz
tar -zxvf mysql-connector-java-5.1.39.tar.gz # 解壓
cp mysql-connector-java-5.1.39/mysql-connector-java-5.1.39-bin.jar /usr/hive/lib
  • 配置hive-site.xml

到hive的安裝目錄。目錄裏是沒有hive-site.xml的,但是有模板,把模板複製到hive-site.xml中。然後進行編輯。

模板中內容很多,但是需要改的地方只有幾個。所以需要查找內容再修改。最好把文件下載到本地改好再放回。

在修改之前要先建一個臨時文件目錄,配置的時候會用到。這裏是

mkdir /usr/Hadoop/hive/iotmp

cd conf   #切換到配置目錄下
cp hive-default.xml.template hive-site.xml    #複製一份
vim hive-site.xml     #修改

需要修改的地方如下(修改的內容在文件中不是連續的,要找全):

<!-- 數據庫地址 -->
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>
 <!-- 數據庫連接驅動 -->
<property>
   <name>javax.jdo.option.ConnectionDriverName</name>
   <value>com.mysql.jdbc.Driver</value>
   <description>Driver class name for a JDBC metastore</description>
</property>
 <!-- 數據庫名字-->
<property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>hive</value>
   <description>Username to use against metastore database</description>
</property>
 <!-- 數據庫密碼 -->
<property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>000000</value>
   <description>password to use against metastore database</description>
</property>
 <!-- 下面--四個---的配置都是臨時存儲目錄,自己新建然後填上絕對路徑-->
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/usr/Hadoop/hive/iotmp</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>/usr/Hadoop/hive/iotmp</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>/usr/Hadoop/hive/iotmp</value>
    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>
<property>
    <name>hive.querylog.location</name>
    <value>/usr/Hadoop/hive/iotmp</value>
    <description>Location of Hive run time structured log file</description>
</property>

hive-env也要從模板複製過去然後修改。

賦值之後打開,要修改的內容被註釋掉了可以打開註釋修改也可以直接在末尾添加內容。

cp hive-env.sh.template hive-env.sh    #複製
vim hive-env  #打開
#在末尾添加下面內容

# Hadoop的目錄
HADOOP_HOME=/usr/hadoop

# hive的配置文件目錄
export HIVE_CONF_DIR=/usr/hive/conf

:wq #保存退出
  • 新建元數據sechme(這個單詞還不知道怎麼翻譯)

切換到hive的bin目錄下,然後新建元數據sechme. 這裏名字要和mysql對應

cd /usr/hive/bin
#新建
./schematool -initSchema -dbType mysql
  • 啓動hive

啓動Hadoop 啓動MySQL 啓動hive 在控制檯輸入hive 出現下面輸出

Logging initialized using configuration in jar:file:/usr/Hadoop/hive/hive/lib/hive-common-2.0.1.jar!/hive-log4j2.properties
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. tez, spark) or using Hive 1.X releases.
hive>

然後輸入show tables;不報錯就是安裝好了。

hive> show tables;
OK
Time taken: 2.42 seconds
hive>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章