大数据基础平台搭建-(五)Hive搭建

news/2025/3/26 2:30:07/

大数据基础平台搭建-(五)Hive搭建

大数据平台系列文章:
1、大数据基础平台搭建-(一)基础环境准备
2、大数据基础平台搭建-(二)Hadoop集群搭建
3、大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建
4、大数据基础平台搭建-(四)HBase集群HA+Zookeeper搭建
5、大数据基础平台搭建-(五)Hive搭建

目录

  • 大数据基础平台搭建-(五)Hive搭建
  • 一、部署架构
  • 二、Hadoop集群各节点分布情况
  • 三、Hive搭建前准备
    • 1、Hadoop集群搭建完成
    • 2、Zookeeper集群搭建完成
    • 3、HBase集群搭建完成
    • 4、mysql数据库
    • 5、各组件版本说明
  • 四、Hive搭建
    • 1、在hnode5上部署Hive
      • 1).解压安装包
      • 2).配置环境变量
      • 3).为Hive元数据创建数据库
      • 4).为Hive添加mysql数据库驱动
      • 5).修改hive的环境变量
      • 6).修改hive-size.xml
      • 7).初始化元数据配置表
  • 五、Hive服务启动
    • 1、启动metastore服务
    • 2、启动hiveserver2服务
    • 3、以root用户通过beeline连接hive

一、部署架构

在这里插入图片描述

二、Hadoop集群各节点分布情况

序号服务节点NameNode节点Zookeeper节点HMaster节点HRegionServer节点Hive节点
1hNode1√ (主)√ (主)--
2hNode2√ (备)√ (备)--
3hNode3---
4hNode4----
5hNode5---

三、Hive搭建前准备

1、Hadoop集群搭建完成

参见大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建

2、Zookeeper集群搭建完成

参见大数据基础平台搭建-(三)Hadoop集群HA+Zookeeper搭建中的**【三、搭建Zookeeper集群】**部分

3、HBase集群搭建完成

参见大数据基础平台搭建-(四)HBase集群HA+Zookeeper搭建

4、mysql数据库

用于存储Hive元数据信息,mysql服务的安装就不在文章中体现了,大家可以配置一个已经安装的mysql数据库即可。

5、各组件版本说明

序号软件名称版本说明
1JDK1.8
2Hadoop3.3.4
3HBase3.8.0列式数据库
4Zookeeper2.4.15
5Hive3.1.3Hadoop数据仓库工具
6mysql5.7.39Hadoop数据仓库工具

四、Hive搭建

1、在hnode5上部署Hive

1).解压安装包

[root@hnode1 ~]# cd /opt/hadoop
[root@hnode5 hadoop]# tar -xzvf ./apache-hive-3.1.3-bin.tar.gz

2).配置环境变量

[root@hnode1 hadoop]# vim /etc/profile
#Hive
export HIVE_HOME=/opt/hadoop/apache-hive-3.1.3-bin
export PATH=$HIVE_HOME/bin:$PATH
[root@hnode1 hadoop]# source /etc/profile

3).为Hive元数据创建数据库

[root@dbserver opt]# mysql -uroot -p
mysql> create database hiveDB_metastore charset=utf8;

4).为Hive添加mysql数据库驱动

将mysql-connector-java-5.1.12-bin.jar(mysql驱动jar)上传到/opt/hadoop/apache-hive-3.1.3-bin/lib/目录下

5).修改hive的环境变量

[root@hnode1 hadoop]# cd /opt/hadoop/apache-hive-3.1.3-bin/conf
[root@hnode5 conf]# cp ./hive-env.sh.template ./hive-env.sh
[root@hnode5 conf]# vim hive-env.sh
export HIVE_CONF_DIR=/opt/hadoop/apache-hive-3.1.3-bin/conf
export JAVA_HOME=/usr/java/jdk1.8.0_271
export HADOOP_HOME=/opt/hadoop/hadoop-3.3.4
export HIVE_AUX_JARS_PATH=/opt/hadoop/apache-hive-3.1.3-bin/lib

6).修改hive-size.xml

[root@hnode5 conf]# cp ./hive-default.xml.template ./hive-site.xml
[root@hnode5 conf]# vim ./hive-site.xml
#把hive-site.xml 中所有包含 ${system:java.io.tmpdir}替换成/opt/hadoop/apache-hive-3.1.3-bin/iotmp.
:%s#${system:java.io.tmpdir}#/opt/hadoop/apache-hive-3.1.3-bin/iotmp#g
#如果系统默认没有指定系统用户名,那么要把配置${system:user.name}替换成当前用户名root
:%s/${system:user.name}/root/g
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><!-- jdbc 连接的 URL --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://192.168.2.186:3306/hiveDB_metastore?useSSL=false</value></property><!-- jdbc 连接的 Driver--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><!-- jdbc 连接的 username--><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><!-- jdbc 连接的 password --><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value></property><!-- Hive 元数据存储版本的验证 --><property><name>hive.metastore.schema.verification</name><value>false</value></property><!--元数据存储授权--><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property><!-- Hive 默认在 HDFS 的工作目录 --><property><name>hive.metastore.warehouse.dir</name><value>/hive/warehouse</value></property> <!-- 指定存储元数据要连接的地址 --><property><name>hive.metastore.uris</name><value>thrift://hnode5:9083</value></property><!-- 使用 JDBC 方式访问 Hive; 指定 hiveserver2 连接的 host --><property><name>hive.server2.thrift.bind.host</name><value>hnode5</value></property><!-- 指定 hiveserver2 连接的端口号 --><property><name>hive.server2.thrift.port</name><value>10000</value></property><property><name>hive.cli.print.header</name><value>true</value></property><property><name>hive.cli.print.current.db</name><value>true</value></property></configuration>

7).初始化元数据配置表

[root@hnode5 conf]# schematool -initSchema -dbType mysql -verbose

五、Hive服务启动

1、启动metastore服务

# 方式一 以后台模式运行
[root@hnode5 conf]# hive --service metastore &
# 方式二 输出信息指向黑洞
[root@hnode5 conf]# hive --service metastore 2>&1 >/dev/null &

2、启动hiveserver2服务

# 方式一 以后台模式运行
[root@hnode5 conf]# hive --service hiveserver2 &
# 方式二 输出信息指向黑洞
[root@hnode5 conf]# hive --service hiveserver2 >/dev/null 2>&1 &

3、以root用户通过beeline连接hive

# 在HDFS上创建Hive目录/hive/warehouse,并赋予777权限
[root@hnode1 opt]# hdfs dfs -mkdir -p /hive/warehouse
[root@hnode1 opt]# hadoop fs -chmod -R 777 /hive
[root@hnode1 opt]# hadoop fs -chmod -R 777 /hive/warehouse
# 设置hadoop代理用户
[root@hnode1 opt]# vim /opt/hadoop/hadoop-3.3.4/etc/hadoop/core-site.xml
<property><!-- 注意是root,根据自己实际部署hadoop的用户的组来进行设置 --><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property>

将core-size.xml分发给其它所有hadoop节点,然后重启hadoop集群和Hive服务

[root@hnode5 opt]# beeline
beeline> !connect jdbc:hive2://hnode5:10000
Connecting to jdbc:hive2://hnode5:10000
Enter username for jdbc:hive2://hnode5:10000: root
Enter password for jdbc:hive2://hnode5:10000: ******
Connected to: Apache Hive (version 3.1.3)
Driver: Hive JDBC (version 3.1.3)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://hnode5:10000> create database hivetest1;
0: jdbc:hive2://hnode5:10000> show databases;
OK
INFO  : Compiling command(queryId=root_20230106163527_be98a4b0-c479-43e1-bef8-8ef1b7ebff5c): show databases
INFO  : Concurrency mode is disabled, not creating a lock manager
INFO  : Semantic Analysis Completed (retrial = false)
INFO  : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:database_name, type:string, comment:from deserializer)], properties:null)
INFO  : Completed compiling command(queryId=root_20230106163527_be98a4b0-c479-43e1-bef8-8ef1b7ebff5c); Time taken: 0.042 seconds
INFO  : Concurrency mode is disabled, not creating a lock manager
INFO  : Executing command(queryId=root_20230106163527_be98a4b0-c479-43e1-bef8-8ef1b7ebff5c): show databases
INFO  : Starting task [Stage-0:DDL] in serial mode
INFO  : Completed executing command(queryId=root_20230106163527_be98a4b0-c479-43e1-bef8-8ef1b7ebff5c); Time taken: 0.015 seconds
INFO  : OK
INFO  : Concurrency mode is disabled, not creating a lock manager
+----------------+
| database_name  |
+----------------+
| default        |
| hivetest1      |
+----------------+
2 rows selected (0.089 seconds)
0: jdbc:hive2://hnode5:10000> 

在这里插入图片描述


http://www.ppmy.cn/news/10057.html

相关文章

【算法】哈希表

&#x1f600;大家好&#xff0c;我是白晨&#xff0c;一个不是很能熬夜&#x1f62b;&#xff0c;但是也想日更的人✈。如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下&#x1f440;白晨吧&#xff01;你的支持就是我最大的动力&#xff01;&#x1f4…

剑指offer----C语言版----第十一天

目录 1. 数值的整数次方 1.1 运行超时的思路 1.2 思路一: 快速幂 (递归实现) 1.3 思路二: 快速幂 (迭代实现) 1. 数值的整数次方 原题链接: 剑指 Offer 16. 数值的整数次方 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/shu-zhi-de-zheng-shu-ci-f…

40 行 Python 代码,写一个 CPU!

目录 一、引言 二、CPU 的组成 三、工作原理 四、CPU 指令工作详细剖析 五、 Python 实现 CPU 各组成部分 六、集成 CPU 七、为CPU编程&#xff0c;体会上古程序员 工作流程 八、总结 一、引言 CPU 如何工作&#xff1f;是困扰初级用户一个迷雾般的难题。我们可能知道诸…

【华为机试真题详解】查找单入口空闲区域【2022 Q4 | 100分】

文章目录 前言题目描述输入描述输出描述示例 1示例 2示例 3示例 4题目解析参考代码前言 《华为机试真题详解 Python实现》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!…

做好功课!解析MES系统实施过程

“关于是否引进MES系统&#xff0c;我们的顾虑主要还是集中在对它的不了解上面。” 科技的进步&#xff0c;大数据的普及&#xff0c;使得各类信息系统频繁出现在我们生活中的角角落落。小到笔记本电脑的软硬件管理系统&#xff0c;大到国家层面的安全管理系统&#xff0c;都让…

百度语音+自动驾驶感知+深度学习平台技术解析

HIEV快讯&#xff08;文/戒僧&#xff09;本文将解析三部分技术内容&#xff0c;出自百度2023 Create大会-技术开放日&#xff1a; •百度如何用“手机全双工语音交互”改善使用导航应用的体验 •如何用“上帝视角”BEV技术提升汽车的自动驾驶能力 •如何用百度自研的深度学习平…

微信小程序测试(简单项目测试)

Flex布局简介 布局的传统解决方案&#xff0c;基于盒状模型&#xff0c;依赖 display属性 position属性 float属性 什么是flex布局&#xff1f; Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵活性。 任何一个容器都可以指…

一个精美的登录界面原来是这样做的

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏 玩归玩闹归闹&#xff0c;别拿java开玩笑 —————————————————— ⭐相关文章⭐ -通过窗口看…