大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!!
本次为师傅们带来的是“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析系列的第⑤期,是“构建数据仓库 ”篇章哦!
第①期完整赛题、第②期基础环境配置、第③期Zookeeper集群环境搭建和第④期Hadoop完全分布式集群搭建的链接在下面,师傅们想看完整赛题、基础环境配置、Zookeeper集群环境搭建和Hadoop完全分布式集群搭建的请安心享用:
【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析①_爱波吉的阿尼亚的博客-CSDN博客
【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析②_爱波吉的阿尼亚的博客-CSDN博客
【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析③_爱波吉的阿尼亚的博客-CSDN博客
【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析④_爱波吉的阿尼亚的博客-CSDN博客
目录
1.判断是否安装mysql-community-server
1.将Hive安装包解压到指定路径/usr/hive(安装包存放于/usr/package/)
2.配置元数据数据存储位置为/user/hive_remote/warehouse
4.配置连接JDBC的URL地址主机名及默认端口号3306,数据库为hive,如不存在自行创建,ssl连接方式为false
1.配置元数据存储位置为/user/hive_remote/warehouse
3.配置指向metastore服务的主机为slave1,端口为9083
构建数据仓库(30 / 30分)
集群中使用远程模式,使用外部数据库MySQL用于存储元数据,使用client/thrift server的连接方式进行访问。其中slave2节mysql数据库,slave1作为hive服务器端,master作为hive客户端。
安装数据库(5 / 5分)
前提说明
-
相关安装包已经存放至环境/usr/package/中
-
对应ntp和mysql已安装,可直接对其进行操作和配置
考核条件如下:
1.判断是否安装mysql-community-server
操作环境: slave2
#slave2
systemctl start mysqld.service #开启mysql服务
2.判断是否开启MySQL服务
操作环境: slave2
#slave2
systemctl status mysqld.service #查看mysql服务状态
3.mysqld.log日志下生成初临时密码
操作环境: slave2
#slave2
grep "temporary password" /var/log/mysqld.log #直接查看密码
mysql -uroot -p #登入数据库
4.设置MySQL本地root用户密码为123456
操作环境: slave2
#slave2
set global validate_password_policy=0; #设置密码强度为低级
set global validate_password_length=6; #设置密码长度
alter user 'root'@'localhost' identified by '123456'; #修改本地密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; #满足任意主机节点root的远程访问权限
flush privileges; #刷新权限
Hive基础环境配置(8 / 8分)
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
考核条件如下:
1.将Hive安装包解压到指定路径/usr/hive(安装包存放于/usr/package/)
操作环境: master、slave1
#master、slave1
mkdir -p /usr/hive #创建目录
cd /usr/hive #切换到目录
cp /usr/package/apache-hive-2.1.1-bin.tar.gz /usr/hive #拷贝压缩包到当前目录
tar -zxvf apache-hive-2.1.1-bin.tar.gz #解压
2.设置HIVE系统环境变量($HIVE_HOME)
操作环境: master、slave1
#master、slave1
vim /etc/profile #修改对应配置文件
#添加以下内容
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile #生效配置文件
3.设置HIVE运行环境
操作环境: master、slave1
#master、slave1
cd $HIVE_HOME/conf #切换到对应目录
cp hive-env.sh.template hive-env.sh #拷贝模板配置文件
vim hive-env.sh #修改对应配置文件
#添加以下内容
# 配置 Hadoop 安装路径
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
# 配置 Hive 配置文件存放路径
export HIVE_CONF_DIR=/usr/hive/apache-hive-2.1.1-bin/conf
# 配置 Hive 运行资源库路径
export HIVE_AUX_JARS_PATH=/usr/hive/apache-hive-2.1.1-bin/lib
vim hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
<!-- Hive 产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<!--- 使用本地服务连接 Hive,默认为 true-->
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<!-- 连接服务器-->
<property>
<name>hive.metastore.uris</name>
<value>thrift://slave1:9083</value>
</property>
</configuration>
4.解决jline的版本冲突
操作环境: master、slave1
#master、slave1
cp $HIVE_HOME/lib/jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib/ #拷贝指定版本文件
配置HIVE元数据至MySQL(9 / 9分)
slave1作为服务器端需要和Mysql通信,所以服务端需要将Mysql的依赖包放在Hive的lib目录下。 mysql-connector-java是MySQL的JDBC驱动包,用JDBC连接MySQL数据库时必须使用该jar包。
考核条件如下:
1.驱动拷贝(依赖包存放于/usr/package/)
操作环境: slave1
#slave1
cp /usr/package/mysql-connector-java-5.1.47-bin.jar /usr/hive/apache-hive-2.1.1-bin/lib #拷贝指定版本文件
2.配置元数据数据存储位置为/user/hive_remote/warehouse
操作环境: slave1
#slave1
vim $HIVE_HOME/conf/hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
<!-- Hive产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
……………………………
</configuration>
3.配置数据库连接驱动为MySQL
操作环境: slave1
#slave1
vim $HIVE_HOME/conf/hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
……………………………
<!-- 数据库连接driver,即MySQL驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
……………………………
</configuration>
4.配置连接JDBC的URL地址主机名及默认端口号3306,数据库为hive,如不存在自行创建,ssl连接方式为false
操作环境: slave1
#slave1
vim $HIVE_HOME/conf/hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
……………………………
<!-- 数据库连接JDBC的URL地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>
</property>
……………………………
</configuration>
5.配置数据库连接用户
操作环境: slave1
#slave1
vim $HIVE_HOME/conf/hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
……………………………
<!-- MySQL数据库用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
……………………………
</configuration>
6.配置数据库连接密码
操作环境: slave1
#slave1
vim $HIVE_HOME/conf/hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
……………………………
<!-- MySQL数据库密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
</configuration>
配置HIVE客户端(3 / 3分)
master作为客户端,可进入终端进行操作;关闭本地模式;将hive.metastore.uris指向metastore服务器URL。
考核条件如下:
1.配置元数据存储位置为/user/hive_remote/warehouse
操作环境: master
#master
vim $HIVE_HOME/conf/hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
<!-- Hive产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
……………………………
</configuration>
2.关闭本地metastore模式
操作环境: master
#master
vim $HIVE_HOME/conf/hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
……………………………
<!--- 使用本地服务连接Hive,默认为true-->
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
……………………………
</configuration>
3.配置指向metastore服务的主机为slave1,端口为9083
操作环境: master
#master
vim $HIVE_HOME/conf/hive-site.xml #修改对应配置文件
#添加以下内容
<configuration>
……………………………
<!-- 连接服务器-->
<property>
<name>hive.metastore.uris</name>
<value>thrift://slave1:9083</value>
</property>
</configuration>
启动Hive(5 / 5分)
服务器端初始化数据库,并启动metastore服务; 客户端开启Hive client,即可根据创建相关数据操作。
考核条件如下:
1. 初始化数据库,启动metastore服务,开启客户端
操作环境: slave1、master
#slave1
schematool -dbType mysql -initSchema #服务器端初始化数据库
cd /usr/hive/apache-hive-2.1.1-bin #切换到对应目录
bin/hive --service metastore #启动metastore服务
#master
cd /usr/hive/apache-hive-2.1.1-bin #切换到对应目录
bin/hive #开启hive客户端