您好,登錄后才能下訂單哦!
這篇文章主要介紹Ubuntu中如何安裝hive1.1 + mysql,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
一,下載
1, apache-hive-1.1.0-bin.tar.gz下載
下載地址:http://apache.dataguru.cn/hive/hive-1.1.0/apache-hive-1.1.0-bin.tar.gz
2,mysql-connector-java-5.0.8.tar.gz下載
二,安裝
1,mysql 安裝:
sudo apt-get install mysql-server
中間讓設root密碼,請認真添寫,并勞記
啟動MySQL:
創建hive連接的用戶,和hive存放元數據的數據庫,如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive' ;
Query OK, 0 rows affected (0.09 sec)
mysql> create database hive default character set latin1; //字符集必須是latian1,如果是utf8則很多 hive元數據表無法創建。
Query OK, 1 row affected (0.01 sec)
具體的啟動命令:
啟動metastore:(遠程mysql需要啟動)
hive --service metastore -hiveconf hbase.zookeeper.quorum=db96,db98,db99 -hiveconf hbase.zookeeper.property.clientPort=2181
啟動hiveservice:
hive --service hiveserver -hiveconf hbase.zookeeper.quorum=db96,db98,db99
-hiveconf hbase.zookeeper.property.clientPort=2181 //(啟動服務,這樣jdbc:hive就能連上,默認10000端口,后面的部分一定要帶上,否則用eclipse連接不上的)
2,hive安裝:進入hive下載目錄解壓apache-hive-1.1.0-bin.tar.gz到/usr/local目錄
sudo tar -zxvf apache-hive-1.1.0-bin.tar.gz -C /usr/local
mv apche-hive-1.1.0-bin hive
sudo chown -R hadoop:hadoop hive
三,環境配置
1,/etc/profile:
exprot HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
2,cp hive-default.xml.template hive-site.xml 并配置hive.site.xml
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://node0:9000/usr/hive/warehouse</value>
(這里就與前面的hdfs dfs -mkdir -p /usr/hive/warehouse相對應)
</property>
其中node0指的是筆者的NameNode的hostname;
<property>
<name>hive.exec.scratchdir</name>
<value>hdfs://node0:9000/usr/hive/warehouse</value>
</property>
//這個沒有變化與derby配置時相同
<property>
<name>hive.querylog.location</name>
<value>/usr/hive/log</value>
</property>
-------------------------------------
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNoExist=true</value>
</property>
javax.jdo.option.ConnectionURL
這個參數使用來設置元數據連接字串
-------------------------------------
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
javax.jdo.option.ConnectionDriverName
關于在hive中用java來開發與mysql進行交互時,
需要用到一個關于mysql的connector,
這個可以將java語言描述的對database進行的操作,
轉化為mysql可以理解的語句。
connector是一個用java語言描述的jar文件。
而這個connector可在官方網站上下載得到。
經證實即便connector與mysql的版本號不一致,
也可以實現相應的功能。
connector是要copy到/usr/hive/lib目錄下面的。
cp mysql-connector-java-5.1.1.18-bin /usr/hive/lib
-------------------------------------
<property>
<name>javax.jdo.option.ConnectorUserName</name>
<value>hive</value>
</property>
這個javax.jdo.option.ConnectionUserName
是用來設置hive存放的元數據的數據庫(這里是mysql數據庫)的用戶名稱的。
而這個‘hive‘可以根據用戶自己的需要來自行設置
--------------------------------------
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
這個javax.jdo.option.ConnetionPassword是用來設置,
用戶登錄數據庫的時候需要輸入的密碼的。
而這個‘hive’同樣可以根據用戶自己的需要來進行設置。
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/local/hive/lib/hive-hbase-handler-0.13.1.jar,file:///usr/local/hive/lib/protobuf-java- 2.5.0.jar,file:///usr/local/hive/lib/hbase-client-0.96.0-hadoop2.jar,file:///usr/local/hive/lib/hbase-common-0.96.0-hadoop2.jar,file:///usr/local/hive/lib/zookeeper-3.4.5.jar,file:///usr/local/hive/lib/guava-11.0.2.jar</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.8.96:9083</value>
</property>
</configuration>
上面的配置中用到的jar包均在hbase/lib下,
[root@db96 lib]# pwd //發現hive的lib目錄下沒有該文件。去hbase的lib下找到下面4個文件拷貝
//到hive的lib目錄下。
/usr/local/hive/lib
[root@db96 lib]# ll protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar guava-12.0.1.jar
ls: 無法訪問protobuf-java-2.5.0.jar: 沒有那個文件或目錄
ls: 無法訪問hbase-client-0.96.2-hadoop2.jar: 沒有那個文件或目錄
ls: 無法訪問hbase-common-0.96.2-hadoop2.jar: 沒有那個文件或目錄
ls: 無法訪問guava-12.0.1.jar: 沒有那個文件或目錄
[root@db96 lib]# pwd
/usr/local/hbase/lib
[root@db96 lib]# ll protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar guava-12.0.1.jar
-rw-r--r-- 1 root root 1795932 12月 11 2013 guava-12.0.1.jar
-rw-r--r-- 1 root root 826678 3月 25 07:03 hbase-client-0.96.2-hadoop2.jar
-rw-r--r-- 1 root root 371546 3月 25 07:03 hbase-common-0.96.2-hadoop2.jar
-rw-r--r-- 1 root root 533455 12月 11 2013 protobuf-java-2.5.0.jar
[root@db96 lib]# cp protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar guava-12.0.1.jar /usr/local/hive/lib
3,cp hive-log4j.properties.template hive-log4j.proprties
vi hive-log4j.properties
hive.log.dir=
這個是當hive運行時,相應的日志文檔存儲到什么地方
(mine:hive.log.dir=/usr/hive/log/${user.name})
hive.log.file=hive.log
這個是hive日志文件的名字是什么
默認的就可以,只要您能認出是日志就好,
只有一個比較重要的需要修改一下,否則會報錯。
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
如果沒有修改的話會出現:
WARNING: org.apache.hadoop.metrics.EventCounter is deprecated.
please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
(只要按照警告提示修改即可)。
4,最后在hive/lib目錄下會有一個jline-2.12.jar要拷備到 hadoop/share/hadoop/yarn/lib下替換掉jline-0.19.jar
以上是“Ubuntu中如何安裝hive1.1 + mysql”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。