大数据之06Hive部署搭建
作者:互联网
大数据之06Hive搭建
第一步:Hive安装及配置
(1) 把apache-hive-3.1.2-bin.tar.gz上传到linux的/opt/software目录下
(2) 解压apache-hive-3.1.2-bin.tar.gz到/opt/module/目录下面
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/
(3) 修改apache-hive-3.1.2-bin.tar.gz的名称为hive
mv /opt/module/apache-hive-3.1.2-bin/ /opt/module/hive
(4) 修改/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对话框使环境变量生效
(5) 替换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
(6) 解决日志Jar包冲突
mv $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.bak
第二步:Hive元数据配置到MySql
(1) 拷贝驱动
将MySQL的JDBC驱动拷贝到Hive的lib目录下
cp /opt/software/mysql-connector-java-5.1.48.jar $HIVE_HOME/lib
(2) 配置Metastore到MySQL
在$HIVE_HOME/conf目录下新建hive-site.xml文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--连接MySQL数据库-->
<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>
<!--登录MySQL用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!--登录MySQL密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>000000</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>
<!--修改Hive的计算引擎-->
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
</configuration>
第三步:安装Tez引擎
Tez是一个Hive的运行引擎,性能优于MapReduce。
(1) 将tez安装包拷贝到集群
(2) 解压tar包
tar -zxvf /opt/software/apache-tez-0.9.2-bin.tar.gz -C /opt/module
(3) 重命名
mv /opt/module/apache-tez-0.9.2-bin /opt/module/tez
(4) 上传tez依赖到HDFS
hadoop fs -mkdir /tez
hadoop fs -put /opt/module/tez/share/tez.tar.gz /tez
(5) 新建tez-site.xml
vim $HADOOP_HOME/etc/hadoop/tez-site.xml
添加如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>tez.lib.uris</name>
<value>${fs.defaultFS}/tez/tez.tar.gz</value>
</property>
<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>false</value>
</property>
<property>
<name>tez.history.logging.service.class</name> <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
</property></configuration>
(6) 修改Hadoop环境变量
编辑hadoop-env.sh
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
添加Tez的Jar包相关信息
export TEZ_CONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_JARS=/opt/module/tez
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*
(7) 修改Hive的计算引擎
vim $HIVE_HOME/conf/hive-site.xml
添加
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
(8) 解决日志Jar包冲突
rm /opt/module/tez/lib/slf4j-log4j12-1.7.10.jar
第四步:启动metastore和hiveserver2
(1)编写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
(2)添加执行权限
chmod +x $HIVE_HOME/bin/hiveservices.sh
(3)hive日志配置信息修改
[tan@daoop102 conf]$ mv hive-log4j2.properties.template hive-log4j2.properties #重命名
[tan@daoop102 conf]$ vim hive-log4j2.properties #修改成如下配置
(4)启动Hive后台服务
hiveservices.sh start #启动hive
jps #查看节点启动情况
netstat -nltp | grep -E 25776\|25633 #查看节点对于的端口启动
Hive,Tez安装包
链接:https://pan.baidu.com/s/1Idh_jdHoFAYIhbYGjKfc6w 提取码:1907
复制这段内容后打开百度网盘手机App,操作更方便哦
标签:opt,部署,06Hive,PID,HIVE,tez,hive,HOME,搭建 来源: https://blog.csdn.net/qq_44881823/article/details/115036549