Hive-安裝
阿新 • • 發佈:2018-11-14
下載hive
官網下載地址:http://www-us.apache.org/dist/hive/
cdh下載地址:http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.9.3.tar.gz
解壓
[[email protected] app]# tar -zxvf hive-1.1.0-cdh5.9.3.tar.gz -C /opt/
內嵌模式安裝
這種安裝模式的元資料是內嵌在Derby資料庫中的,只能允許一個會話連線,資料會存放到HDFS上。這種模式安裝不需要配置,需要hadoop已經啟動。進入安裝目錄的bin目錄下執行以下命令即可啟動
[[email protected] bin]# ./hive which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_181/bin:/opt/erlang/bin:/root/bin:/opt/jdk1.8.0_181/bin:/opt/erlang/bin:/opt/hadoop-2.6.0-cdh5.9.3/bin) 18/09/16 09:34:45 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Logging initialized using configuration in jar:file:/opt/hive-1.1.0-cdh5.9.3/lib/hive-common-1.1.0-cdh5.9.3.jar!/hive-log4j.properties WARNING: Hive CLI is deprecated and migration to Beeline is recommended. hive>
本地模式安裝
這種安裝方式和嵌入式的區別在於,不再使用內嵌的Derby作為元資料的儲存介質,而是使用其他資料庫比如MySQL來儲存元資料。
這種方式是一個多使用者的模式,執行多個使用者client連線到一個數據庫中。這種方式一般作為公司內部同時使用Hive。
這裡有一個前提,每一個使用者必須要有對MySQL的訪問權利,即每一個客戶端使用者需要知道MySQL的使用者名稱和密碼才行。
下面開始正式搭建,這裡要求hadoop系統已經正常啟動,且MySQL資料庫已經正確安裝。
使用mysql作為元資料,所以下載mysql驅動包到lib目錄下
[[email protected] lib]# wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.40/mysql-connector-java-5.1.40.jar
進入conf目錄,新建一個hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>[email protected]</value>
</property>
</configuration>
進入bin目錄
[[email protected] bin]# ./schematool -dbType mysql -initSchema
[[email protected] bin]# ./hive #執行該語句前一定要先設定$HADOOP_HOME
which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_181/bin:/opt/erlang/bin:/root/bin:/opt/jdk1.8.0_181/bin:/opt/erlang/bin:/opt/hadoop-2.6.0-cdh5.9.3/bin)
18/09/16 09:49:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Logging initialized using configuration in jar:file:/opt/hive-1.1.0-cdh5.9.3/lib/hive-common-1.1.0-cdh5.9.3.jar!/hive-log4j.properties
WARNING: Hive CLI is deprecated and migration to Beeline is recommended.
hive>
本地模式安裝完成後,進入mysql可以看到多了一個hive資料庫,裡面會有很多表。
建立表,列與列之間以'/t'分隔
create table test(uid string,name string)row format delimited fields terminated by '/t';