ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

大数据之06Hive部署搭建

2021-03-21 09:29:50  阅读:290  来源: 互联网

标签:opt 部署 06Hive PID HIVE tez hive HOME 搭建


大数据之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

MySQL安装参考

(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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有