Hive集群部署实验

news2025/7/27 20:33:28

目录

  • 一、实验介绍
    • 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
替换所有 s y s t e m : j a v a . i o . t m p d i r 为 / u s r / l o c a l / h i v e / t m p 替 换 所 有 {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

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

<property>
    <name>hive.exec.scratchdir</name>
    <value>/user/hive/tmp</value>
</property>
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
</property>
<property>
    <name>hive.querylog.location</name>
    <value>/user/hive/log</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
  </property>

#创建/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任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/16618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytorch的gpu版本安装以及cpu版本的卸载

目录 前言 一、安装显卡驱动 二、安装Visual Studio 2019 三、安装CUDA 四、安装cudnn 五、安装anaconda 六、安装PyTorch 前言 因为最近需要导师的指导&#xff0c;我开始了unet的学习&#xff0c;虽然之前也学习过机器学习&#xff0c;但是只是浅尝辄止&#xff0c;没…

你好,以太坊社区,你准备好参加 ETH India 2022 黑客马拉松活动了吗

你好&#xff0c;以太坊社区&#xff0c;我们很高兴通过 ETH Global即将举行的ETH India 2022 黑客马拉松活动将Cartesi 技术带到亚洲&#xff01;如果你是一位喜欢探索尖端技术且是一位创新型开发人员&#xff0c;我们期待着你的到来&#xff0c;并且想帮助你将美好的DApps 发…

[BLIP]-多模态Language-Image预训练模型

论文&#xff1a;https://arxiv.org/pdf/2201.12086.pdf 代码&#xff1a;GitHub - salesforce/BLIP: PyTorch code for BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation demo&#xff1a;BLIP - a Hugging Face …

代码随想录算法训练营第二天|LeetCode 977.有序数组的平方 、209.长度最小的子数组 、59.螺旋矩阵II

LeetCode 977.有序数组的平方 题目链接&#xff1a;977.有序数组的平方 思路&#xff1a; 1、先对每个数进行遍历平方&#xff0c;并插入新的容器中 2、对容器进行排序&#xff0c;返回就可以了 缺陷&#xff1a;开辟了新的容器空间 class Solution { public:vector<int…

2019年1+X 证书 Web 前端开发中级理论考试题目原题+答案——第二套

&#x1f4da;文章目录 &#x1f3af;关于1X标准 &#x1f3af;关于中级考点 ⏩&#x1f4bb;答案速查 一、单选题&#xff08;每小题2分&#xff0c;共30小题&#xff0c;共60分&#xff09; 二、多选题&#xff08;每小题2分&#xff0c;共15小题&#xff0c;共30分&…

测试工程师必备的数据库知识

测试工程师必备的数据库知识 1. 数据库的重要性 数据库是一个容器&#xff0c;仓库存的是货物&#xff0c;而数据库存的是数据。数据很好的解决了数据到哪里去&#xff0c;以及数据从哪里来的问题。 2. 数据库工具的选择 选择数据库是根据项目特点&#xff0c;架构&#xff0c;…

枚举类与注解(复习)

枚举类的使用 枚举类的使用如何自定义枚举类枚举类中的方法注解 Annotation自定义注解jdk 中四个元注解RetentionTargetDocumentedInheritedJdk 8 中注解新特性可重复注解 Repeatable类型注解类的对象只有有限个&#xff0c;确定的 星期&#xff1a;Monday(星期一)、…、Sunday…

为什么学3D建模前没人告诉我这些,常见问题答疑

1️⃣入门前建模新手要做好哪些准备❓ 一开始啥都不懂先别着急学&#xff0c;先刷刷Pinterest&#xff0c;ArtStation等业内比较知名的网站&#xff0c;多看优秀作品提高审美水平&#xff0c;这样能快速了解建模行业&#xff0c;到时上手操作也不至于脑袋空空没有想法&#xf…

C语言-数据类型

C语言-数据类型0. 概念表达式与语句字面量常量表达式/表达式1. 整型有符号/无符号进制数原码/补码/反码int/charfloat/double2. 字符型字符型与整型字符与进制数/字符型进制数putchar/getchar转义字符字符集与字符编码C语言字符串型puts/getsprintfscanf3. 数据运算/IO基本运算…

计算机SSM毕设项目 软件工程毕业设计【源码+论文】

文章目录前言 题目1 : 基于SSM的游戏攻略资讯补丁售卖商城 <br /> 题目2 : 基于SSM的疫情期间医院门诊网站 <br /> 题目3 : 基于SSM的在线课堂学习设计与实现<br /> 题目4 : 基于SSM的大学生兼职信息系统 <br /> 题目5 : 基于SSM的大学生社团管理系统 …

nginx降权+匹配php

目录 nginx降权启动 确认普通用户无法开启nginx 创建普通用户&#xff1a; 测试是否可以启动nginx: 创建必须的相关文件 使用root用户copy配置文件中网页支持类型文件 使用root用户拷贝nginx配置文件 设置权限 修改配置文件 安装 PHP 7.4&#xff0c;配合 Nginx 安装 P…

wireshark提取视频数据之RTP包中提取H264和H265

wireshark提取视频数据之RTP包中提取H264和H265 文章目录wireshark提取视频数据之RTP包中提取H264和H2651 背景2 提取前工作3 H264视频从RTP包中提取步骤4 H265视频从RTP包中提取步骤5 后记1 背景 在流媒体相关问题分析时&#xff0c;抓包分析是非常重要的手段&#xff0c;比如…

容器入门:一文了解容器的发展历史、技术和术语

学习目标 本文为Amazon容器入门课程笔记&#xff0c;内容是容器化背后的发展历史和概念&#xff0c;介绍容器生态系统中使用的特定技术&#xff0c;并讨论容器在微服务架构中的重要性。 本篇文章仅做前两个小结的梳理和总结。看完这篇文章之后应该掌握容器背后的发展历史、技…

webpack使用详解

什么是webpack 官方定义&#xff1a;从本质上来说&#xff0c;webpack是一个现代的JavaScript的静态模块打包工具。 webpack是前端工程化的一个解决方案。 主要功能&#xff1a; 提供了前端模块化功能支持&#xff0c;模块混淆&#xff0c;代码压缩&#xff0c;处理浏览器JS兼…

腾格尔发新歌《遥远的地方》,成都邓秀菊自发红包朋友圈寻歌词

随着卡特尔世界杯拉开帷幕&#xff0c;著名音乐人腾格尔&#xff0c;再一次走进大家的视野当中&#xff0c;不过这次却不是因为唱歌。腾格尔是一个音乐人&#xff0c;他更是一个出色的球迷&#xff0c;为了表达对世界杯的喜爱&#xff0c;他还专门拍摄了段子上传网络。 说起音乐…

C++ :Symbol:符号

1&#xff1a;符号的概念 符号&#xff08;symbol&#xff09;是在 ELF格式中会遇到的概念&#xff0c;也就是在写汇编代码时候会遇到的&#xff0c;而在更高级语言&#xff08;C或者C&#xff09;中不会直接遇到这个概念&#xff0c;我们把讨论的范围限制在 Linux上的ELF格式…

python多分支选择结构实例讲解

多分支选择结构的语法格式如下&#xff1a; if 条件表达式 1 : 语句 1/语句块 1 elif 条件表达式 2: 语句 2/语句块 2 elif 条件表达式 n : 语句 n/语句块 n [else: 语句 n1/语句块 n1 ] 【注】计算机行业&#xff0c;描述语法格式时&#xff0c;使用中…

Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建条形码

条形码是具有编码数据/信息的平行线、点或矩形形式的图像。行业专业人士使用条形码嵌入和访问产品信息、跟踪产品移动并跟上库存。在某些情况下&#xff0c;我们可能需要在 MS Word 文档中生成和添加条形码。MS Word 是最流行和广泛使用的图形文字处理程序。它用于创建带有文本…

总结:从实模式到保护模式的流程和相关寄存器,相关数据结构之间的联系

总结&#xff1a;从实模式到保护模式的相关寄存器和相关数据结构之间的联系 1.怎么进入保护模式 段描述符 段描述符&#xff1a; 实模式下的用户可以破坏存储代码的内存区域 &#xff0c;用段描述符来对某一段进行描述内存段类型属性来阻止这种行为。8个字节大小 全局描述…

[附源码]java毕业设计朋辈帮扶系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…