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了!

相关文章
相关标签/搜索