HCM-hive1.2.1安裝過程總結

只須要在master節點安裝就能夠

一、下載apache-hive-1.2.1-bin.tar.gz

二、將apache-hive-1.2.1-bin.tar.gz上傳到master節點,解壓

三、修改/etc/profile
export HIVE_HOME=/usr/local/hive
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin
#source /etc/profile

四、修改配置文件
mv hive-exec-log4j.properties.template hive-exec-log4j.properties
mv hive-log4j.properties.template hive-log4j.properties
mv hive-env.sh.template hive-env.sh
mv hive-default.xml.template hive-site.xml

五、hive-site.xml
<configuration>
    <!-- mysql鏈接URL -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://sniper:3306/hive_metadata?createDatabaseIfNotExist=true</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    
    <!-- mysql鏈接username -->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    
    <!-- mysql鏈接passwd -->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
    
    <property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/hive/warehouse</value>
      <description>location of default database for the warehouse</description>
    </property>
    
    <property>
      <name>hive.exec.scratchdir</name>
      <value>/home/hadoop/soft/hive/hive/tmp/hive-${user.name}</value>
    </property>
    
     <!-- 如下寫法在hdfs上生成 -->
    <property>
      <name>hive.querylog.location</name>
      <value>/home/hadoop/soft/hive/hive/tmp/${user.name}</value>
    </property>
</configuration>

六、建立數據庫,賦權
create database hive_metadata;
grant all on hive_metadata.* to hive@'%' identified by 'hive';
grant all on hive_metadata.* to hive@localhost  identified by 'hive';
ALTER DATABASE hive_metadata CHARACTER SET latin1;

七、上傳mysql驅動包到hive/lib
mysql-connector-java-5.1.22-bin.jar

八、啓動
hive
show databases;
use defualt;
show tables;
create table t1(id int);
show tables;
select * from t1;
quit;java


安裝出現問題:mysql

一、輸入hive命令啓動報錯:sql

[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expectedshell

緣由:hadoop目錄下存在老版本jline:
/hadoop-2.6.0/share/hadoop/yarn/lib:
數據庫

解決:apache

cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar /hadoop-2.5.2/share/hadoop/yarn/libide

二、建立表報錯oop

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections, we don't support retries at the client level.)ui

解決:建立數據庫的時候必須設置爲latin1字符集spa

ALTER DATABASE hive_metadata CHARACTER SET latin1;

三、drop table的時候命令窗口沒有反應元數據庫字符集的問題。解決方法是:先刪除存儲元數據的數據庫hivemetadb;而後再建立hivemetadb;修改hivemetadb的字符集:alter database hivemetadbcharacter set latin1。注意這一步必定要在執行hive shell前執行,也就是hive初始化元數據庫以前執行。而後再執行hive就ok了!

相關文章
相關標籤/搜索