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集群(启动过了就不用启动了)
在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
一键三连是我写文章的动力!
声明:此文章为个人学习笔记,如文章有题目欢迎留言探究,也希望您的指正 !
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |