参考:https://blog.csdn.net/sjhuangx/article/details/82217306
版本:hive-3.1.1
下载解压hive
镜像地址:http://mirror.hust.edu.cn/apache/hive/hive-3.1.1/
# 下载
wget http://mirror.hust.edu.cn/apache/hive/hive-3.1.1/apache-hive-3.1.1-bin.tar.gz
# 解压到指定路径
tar -xzvf apache-hive-3.1.1-bin.tar.gz -C /home/cjp/app/
mysql驱动
参考:https://www.cnblogs.com/thisyan/p/9609497.html
从官网下载驱动jar包https://dev.mysql.com/downloads/connector/j/5.1.html
解压:unzip mysql-connector-java-5.1.47.zip
复制到hive的lib:cp mysql-connector-java-5.1.47-bin.jar ~/app/apache-hive-3.1.1-bin/lib/
配置文件
hive-env.sh
# 先从模版中复制出配置文件
cat hive-env.sh.template >> ~/hadoop/app/hive-1.1.0-cdh5.7.0/conf/hive-env.sh
# 路径配置
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
export HADOOP_HOME=/home/cjp/app/hadoop-3.2.0
export HIVE_HOME=/home/cjp/app/apache-hive-3.1.1-bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib/*
hive-site.xml
# 先从模版中复制出配置文件
cp -r hive-default.xml.template hive-site.xml
主要是配置mysql的关联
/home/cjp/app/apache-hive-3.1.1-bin/tmp
在文件添加如下内容:
相关:https://blog.csdn.net/wodedipang_/article/details/72718138
<property>
<name>system:java.io.tmpdir</name>
<value>/home/cjp/app/apache-hive-3.1.1-bin/tmp</value>
</property>
<property>
<name>system:user.name</name>
<value>${user.name}</value>
</property>
# 驱动配置 使用vim查找修改
<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>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
首次启动hive
解决完以下问题后,直接到hive的bin目录下启动hive
[cjp@centos bin] ./hvie
使用schemaTool初始化mysql数据库
[cjp@centos bin] ./schematool -dbType mysql -initSchema
错误总结
-
jar冲突
参考:https://www.cnblogs.com/Jesse-Li/p/7809485.html
以下两jar包冲突,这两个版本的hadoop和hive的库都带了,删掉一个就好
/home/cjp/app/hadoop-3.2.0/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar
/home/cjp/app/apache-hive-3.1.1-bin/lib/slf4j-log4j12-1.7.25.jar
新增问题:删除hadoop的jar后,虽然全部启动成功的,但hadoop还是报了一个错误,似乎slf4j在hadoop下是用于记录日志的。
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
尝试删除hive下面包,保留hadoop的,最后没有问题了!
-
配置文件非法字符
警告汇总
-
ssh安全警告
参考https://blog.csdn.net/u012922838/article/details/73291524
设置
useSSL=false
, 这里有个坑 就是hive的配置文件是.XML
格式,而在xml文件中&;才表示&,所以正确的做法是在Hive的配置文件中,如hive-site.xml
进行如下设置<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>
-
hbase的支持
暂未解决,并不影响