Hive集群部署实验
创始人
2024-01-31 00:12:24

目录

  • 一、实验介绍
    • 1.1 实验内容
    • 1.2 实验知识点
    • 1.3 实验环境
    • 1.4 实验资源
    • 1.5 实验步骤清单
  • 二、实训架构
  • 三、实验环境准备
  • 四、实验步骤
    • 4.1 Hive部署
      • 4.1.1 安装Hive
      • 4.1.3 修改hive配置文件
      • 4.1.4 创建Hadoop测试目录
      • 4.1.5 初始化hive元数据库
    • 4.2 Hive测试
      • 4.2.1 启动Hive
      • 4.2.2 创建测试数据库并验证
  • 五、实验总结

一、实验介绍

1.1 实验内容

在Hadoop集群上部署Hive数据仓库,使用MySQL作为元数据存储。
在Hive集群平台创建测试表,验证HiveQL在Hadoop Mapreduce中的执行情况。

1.2 实验知识点

Hive集群工作原理
Hive客户端访问方式
Hive与MySQL的关系

1.3 实验环境

Hive2.3.9
VMware Workstation 16 Pro for Windows
虚拟机镜像

1.4 实验资源

资源名称存储目录
Hive安装包/opt/software/package
在这里插入图片描述

1.5 实验步骤清单

hive部署(安装hive、创建元数据库、修改配置文件、创建测试目录、初始化hive)
hive测试(启动hibe、创建测试数据库并验证、使用beeline连接hive)

二、实训架构

序号 IP地址 机器名 类型 核数/内存 目录

序号IP地址机器名类型
1172.25.10.140masterNN/DN/Hive
2172.25.10.141slave1DN/NM
3172.25.10.142slave2DN/NM
4172.25.10.143slave3DN/NM

三、实验环境准备

本次实验需要提前准备好相关服务,需要Hadoop集群、HDFS文件系统、Zookeeper集群控制软件、MySQL数据库的支持。本次实验采用hive-2.3.9版本。
启动虚拟机master、slave1和slave2,slave3输入用户名root密码root登录系统。

四、实验步骤

4.1 Hive部署

4.1.1 安装Hive

1、解压和重命名Hive
tar zxvf /opt/software/package/apache-hive-2.3.9-bin.tar.gz -C /usr/local/
mv /usr/local/apache-hive-2.3.9-bin/ /usr/local/hive

2、检查环境变量
vim /etc/profile

export HIVE_HOME=/usr/local/hive
export PATH=${HIVE_HOME}/bin:${PATH}

在这里插入图片描述

mysql -uroot -p
#创建数据库
create database metastore;
#关闭只读
set global read_only=0;
#设置密码安全策略
set global validate_password_policy=0;
#设置密码长度
set global validate_password_length=4;
#更改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
#数据库授权
grant all on metastore.* to hive@'%' identified by 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';

#刷新权限
flush privileges;
#退出mysql
exit
在这里插入图片描述

#上传mysql-connector到Hive库目录
cp /opt/software/package/mysql-connector-java-5.1.46-bin.jar /usr/local/hive/lib/

4.1.3 修改hive配置文件

#复制hive-env.sh
cp /usr/local/hive/conf/hive-env.sh.template /usr/local/hive/conf/hive-env.sh
#修改hive-env.sh文件,参考如下内容:
vim /usr/local/hive/conf/hive-env.sh

export JAVA_HOME=//usr/local/jdk/jre
export HADOOP_HOME=/usr/local/hadoop
export HIVE_HOME=/usr/local/hive
export HIVE_CONF_DIR=/usr/local/hive/conf

在这里插入图片描述

#复制hive-site.xml
cp /usr/local/hive/conf/hive-default.xml.template /usr/local/hive/conf/hive-site.xml

#修改hive-site.xml
替换所有system:java.io.tmpdir为/usr/local/hive/tmp替换所有{system:java.io.tmpdir} 为/usr/local/hive/tmp 替换所有system:java.io.tmpdir为/usr/local/hive/tmp替换所有{system:user.name} 为 root
vim /usr/local/hive/conf/hive-site.xml

替换所有${system:java.io.tmpdir} 为/usr/local/hive/tmp
:1,$s#${system:java.io.tmpdir}#/usr/local/hive/tmp#g
#替换当前行的${system:user.name}为root
:s/${system:user.name}/root/g 
#替换所有${system:user.name} 为 root 
:1,$s/${system:user.name}/root/g

注意:逐个替换以下参数内容,其他参数保留原始配置即可。完整配置内容参见“六、参考文档”。

hive.exec.scratchdir/user/hive/tmp

hive.metastore.warehouse.dir/user/hive/warehouse

hive.querylog.location/user/hive/log

javax.jdo.option.ConnectionURL
jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=falsejavax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.Driverjavax.jdo.option.ConnectionUserNamerootjavax.jdo.option.ConnectionPasswordroot

#创建/usr/local/hive/tmp目录
mkdir /usr/local/hive/tmp
chmod -R 777 /usr/local/hive/tmp

#复制log配置文件
cp /usr/local/hive/conf/hive-log4j2.properties.template /usr/local/hive/conf/hive-log4j2.properties
cp /usr/local/hive/conf/hive-exec-log4j2.properties.template /usr/local/hive/conf/hive-exec-log4j2.properties
在这里插入图片描述

4.1.4 创建Hadoop测试目录

#启动hadoop
start-all.sh

#在hdfs中创建以下目录并授权,用于存储文件
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir -p /user/hive/tmp
hdfs dfs -mkdir -p /user/hive/log
````hdfs dfs -chmod -R 777 /user/hive/warehouse hdfs dfs -chmod -R 777 /user/hive/tmp hdfs dfs -chmod -R 777 /user/hive/log```

在这里插入图片描述

#查看目录
hdfs dfs -ls /user/hive/
在这里插入图片描述

4.1.5 初始化hive元数据库

schematool -dbType mysql -initSchema root root

在这里插入图片描述

4.2 Hive测试

4.2.1 启动Hive

启动mysql
systemctl start mysqld.service
hive
在这里插入图片描述

4.2.2 创建测试数据库并验证

#创建数据库
create database testdb;
在这里插入图片描述
#查看数据库
show databases;
在这里插入图片描述

#使用数据库
use testdb;

exit;

五、实验总结

本次实验中,Hive采用MySQL数据库保存Hive的元数据,而不是采用Hive自带的derby来存储元数据。
Hive常用的HiveQL操作命令主要包括:数据定义、数据操作。
Hive实现最大的优势是,对于非程序员,不用学习编写Java MapReduce代码,也可以完成MapReduce任务。

相关内容

热门资讯

长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
1秒多少毫秒 1秒等于多少毫秒... 长度单位换算1丈=10尺;1尺=10寸;1寸=10分;1分=10厘;1丈≈3.33米;1尺≈3.33...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
中国电信人工电话多少 中国电信... 当我们在使用中国移动、中国电信和中国联通提供的电信业务时,可能会发生争议。建议直接向服务提供商投诉,...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...