Hive安装配置(容器环境)大数据职业技能竞赛

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

提前准备MySQL服务

看这篇文章MySQL-5.7数据库离线安装

环境说明:

服务端登录地址详见各任务服务端说明。
补充说明:宿主机可通过Asbru工具或SSH客户端进行SSH访问;
相关软件安装包在宿主机的/opt目录下,请选择对应的安装包进行安装,用不到的可忽略;
所有任务中应用命令必须采用绝对路径;
进入Master节点的方式为
docker exec -it master /bin/bash
进入Slave1节点的方式为
docker exec -it slave1 /bin/bash
进入Slave2节点的方式为
docker exec -it slave2 /bin/bash
三个容器节点的root密码均为123456

提前准备好apache-hive-3.1.2-bin.tar.gz、mysql-connector-java-5.1.37.jar放在宿主机的/opt/下(模拟的自己准备,比赛时会提供)

Hadoop 完全分布式安装配置

 环境搭建请看这篇文章大数据模块A环境搭建

前提条件已经在容器里搭建完hadoop了,没搭建的请看这篇Hadoop 完全分布式安装配置

Hive安装配置

本任务需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下:

1、 从宿主机/opt目录下将文件apache-hive-3.1.2-bin.tar.gz、mysql-connector-java-5.1.37.jar复制到容器Master中的/opt/software路径中(若路径不存在,则需新建),将Master节点Hive安装包解压到/opt/module目录下,将命令复制并粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;

第一步:从宿主机/opt目录下将文件apache-hive-3.1.2-bin.tar.gz、mysql-connector-java-5.1.37.jar复制到容器Master中的/opt/software路径中(若路径不存在,则需新建)
[root@Bigdata ~]# docker cp /opt/apache-hive-3.1.2-bin.tar.gz master:/opt/software
[root@Bigdata ~]# docker cp /opt/mysql-connector-java-5.1.37.jar master:/opt/software
第二步:将Master节点Hive安装包解压到/opt/module目录下
[root@master ~]# tar zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/

        重命名

[root@master ~]# mv /opt/module/apache-hive-3.1.2-bin /opt/module/hive

2、 设置Hive环境变量,并使环境变量生效,执行命令hive --version并将命令与结果截图容复制并粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;

第一步:设置Hive环境变量/etc/profile

[root@master ~]# vi /etc/profile

在文件末行插入

#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
第二步:使环境变量生效
[root@master ~]# source /etc/profile
第三步:执行命令hive --version
[root@master ~]# hive --version

        解决冲突问题
[root@master ~]# rm -rf /opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar 

        再次运行hive --version

[root@master ~]# hive --version

3、 完成相关配置并添加所依赖包,将MySQL数据库作为Hive元数据库。初始化Hive元数据,并通过schematool相关命令执行初始化,将初始化结果截图(范围为命令执行结束的最后10行)复制粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下。

第一步:完成相关配置并添加所依赖包,将MySQL数据库作为Hive元数据库
        将mysql-connector-java-5.1.37.jar放到hive的lib里
[root@master ~]# cp /opt/software/mysql-connector-java-5.1.37.jar /opt/module/hive/lib/
        hive的guava包与hadoop版本不同,将hadoop的guava包放到hive中
cp /opt/module/hadoop/share/hadoop/common/lib/guava-27.0-jre-jar /opt/module/hive/lib
        删除hive中较低版本的guava-19.0.jar
[root@master ~]# rm -rf /opt/module/hive/lib/guava-19.0.jar
        复制一份模板hive-env.sh   
[root@master ~]# cp /opt/module/hive/conf/hive-env.sh.template /opt/module/hive/conf/hive-env.sh    
        加入一下环境变量
[root@master ~]# vi /opt/module/hive/conf/hive-env.sh

                文件最后添加以下:

export JAVA_HOME=/opt/module/java
export HADOOP_HOME=/opt/module/hadoop
export HIVE_CONF_DIR=/opt/module/hive/conf
export HIVE_AUX_JARS_PATH=/opt/module/hive/lib
第二步:配置hive-site.xml
[root@master ~]# vi /opt/module/hive/conf/hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--mysql的连接地址将下面的ip改成宿主机或mysql服务器的ip-->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://192.168.6.64:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
<!--mysql用户名-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
<!--mysql中hive用户密码-->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
	</property>
<!--mysql驱动-->
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
	</property>
</configuration>
第三步:始化Hive元数据,并通过schematool相关命令执行初始化,将初始化结果截图(范围为命令执行结束的最后10行)
        启动Hadoop集群(启动过了就不用启动了)
start.all.sh
        在hdfs上创建一个文件夹
[root@master ~]# hdfs dfs -mkdir -p /user/hive/warehouse
        开始初始化
[root@master ~]# schematool -dbType mysql -initSchema --verbose

命令解释:
schematool:这是 Hive 自带的一个工具,用于管理和维护 Hive 元数据库(Metastore)的模式。通过它,你可以执行数据库模式的初始化、升级等操作。
-dbType mysql:指定你使用的数据库类型,这里是 mysql,意味着你将连接到 MySQL 数据库。如果你使用的是其他数据库(如 PostgreSQL、Oracle),可以将 mysql 替换为对应的数据库类型。
-initSchema:这个选项表示初始化 Hive 的数据库模式。执行此操作时,它会根据 Hive 的版本自动在 MySQL 数据库中创建表和必要的结构(例如表、索引等),以便 Hive 能够正常存储和查询元数据。
--verbose:该选项会在执行过程中提供详细的输出,帮助你查看执行的步骤和日志,便于排查问题。

初始化结果

上面的步骤已经完成任务了

下面是多余的操作

解决启动hive时有大量的日志问题

        解决前

把hive-log4j2.properties.template替换为log4j.properties

[root@master ~]# mv /opt/module/hive/conf/hive-log4j2.properties.template /opt/module/hive/conf/log4j.properties

解决后

执行下查看databases

END

一键三连是我写文章的动力!

声明:此文章为个人学习笔记,如文章有问题欢迎留言探讨,也希望您的指正 !

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xfcloud

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值