Hive安装部署及启动
附件包在本文末尾
一、Hive安装及配置
-
把apache-hive-3.1.2-bin.tar.gz上传到linux的/opt/software目录下
-
解压apache-hive-3.1.2-bin.tar.gz到/opt/module/目录下面
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/
- 修改apache-hive-3.1.2-bin.tar.gz的名称为hive
mv /opt/module/apache-hive-3.1.2-bin/ /opt/module/hive
- 修改/etc/profile.d/my_env.sh,添加环境变量
sudo vim /etc/profile.d/my_env.sh
添加内容
#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
重启Xshell对话框使环境变量生效
- 替换hive中的guava.jar
cp $HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar $HIVE_HOME/lib/
rm $HIVE_HOME/lib/guava-19.0.jar
- 解决日志Jar包冲突
mv $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.bak
二、Hive元数据配置到MySql
- 拷贝驱动
将MySQL的JDBC驱动拷贝到Hive的lib目录下
cp /opt/software/mysql-connector-java-5.1.48.jar $HIVE_HOME/lib
- 配置Metastore到MySql
在$HIVE_HOME/conf目录下新建hive-site.xml文件
vim $HIVE_HOME/conf/hive-site.xml
添加如下内容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</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>root</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop102:9083</value>
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>hadoop102</value>
</property>
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
</configuration>
三、启动Hive
- 初始化元数据库
登陆MySQL
mysql -uroot -proot
新建Hive元数据库
create database metastore;
quit;
初始化Hive元数据库
schematool -initSchema -dbType mysql -verbose
- 启动metastore和hiveserver2
Hive 2.x以上版本,要先启动这两个服务,否则会报错:
FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
编写hive服务启动脚本
vim $HIVE_HOME/bin/hiveservices.sh
内容如下:
#!/bin/bash
HIVE_LOG_DIR=$HIVE_HOME/logs
META_PID=/tmp/meta.pid
SERVER_PID=/tmp/server.pid
mkdir -p $HIVE_LOG_DIR
function hive_start()
{
nohup hive --service metastore >$HIVE_LOG_DIR/metastore.log 2>&1 &
echo $! > $META_PID
sleep 8
nohup hive --service hiveserver2 >$HIVE_LOG_DIR/hiveserver2.log 2>&1 &
echo $! > $SERVER_PID
}
function hive_stop()
{
if [ -f $META_PID ]
then
cat $META_PID | xargs kill -9
rm $META_PID
else
echo "Meta PID文件丢失,请手动关闭服务"
fi
if [ -f $SERVER_PID ]
then
cat $SERVER_PID | xargs kill -9
rm $SERVER_PID
else
echo "Server2 PID文件丢失,请手动关闭服务"
fi
}
case $1 in
"start")
hive_start
;;
"stop")
hive_stop
;;
"restart")
hive_stop
sleep 2
hive_start
;;
*)
echo Invalid Args!
echo 'Usage: '$(basename $0)' start|stop|restart'
;;
esac
添加执行权限
chmod +x $HIVE_HOME/bin/hiveservices.sh
- 修改hive的日志输出路径
mv /opt/module/hive/conf/hive-log4j2.properties.template hive-log4j2.properties
修改内容为:
# property.hive.log.dir 修改为:
property.hive.log.dir = /opt/module/hive/logs
- 启动Hive后台服务
hiveservices.sh start
四、附件包
链接: https://pan.baidu.com/s/1D4G5WkuVQSRnhLv3ic3tlg 密码: uaho
二维码:
版权声明:
作者:十下
链接:http://blog.edkso.cn/?p=207
来源:十下博客
文章版权归作者所有,未经允许请勿转载。