Hive 部署

一、介绍

Apache Hive是一个分布式、容错的数据仓库系统,支持大规模的分析。Hive Metastore(HMS)提供了一个中央元数据存储库,可以轻松地进行分析,以做出明智的数据驱动决策,因此它是许多数据湖架构的关键组件。Hive构建在Apache Hadoop之上,并通过hdfs支持S3,adls,gs等存储。Hive允许用户使用SQL读取、写入和管理PB级数据。
官网地址

二、架构

Hive中主要包含:Hive-Server 2 (HS2)、Hive Metastore Server (HMS)、以及Hive Client CLI

Hive-Server 2 (HS2):HS2支持多客户端并发和身份验证。它旨在为JDBC和ODBC等开放式API客户端提供更好的支持。
简单来说:HS2提供JDBC/ODBC访问接口和用户认证

Hive Metastore Server (HMS):是关系数据库中Hive表和分区的元数据的中央存储库,并使用元存储库服务API为客户端(包括Hive、Impala和Spark)提供对此信息的访问。
简单来说:Metastore提供元数据访问接口,不负责存储元数据,通常保存在MySQL当中
元数据:在Hive中创建的数据库、表、字段信息(不包含数据信息,数据信息存储在HDFS中)

Hive Client CLI:提供客户端访问,只能在安装了Hive的本地使用

三、环境搭建

3.1、最小化安装

部署版本:3.1.3

  1. 下载压缩包

下载地址

  1. 解压缩
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/modulemv apache-hive-3.1.3-bin/ /opt/module/hive
  1. 修改环境变量
vim /etc/profile.d/my_env.sh#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE/bin
  1. 刷新环境变量
source /etc/profile.d/my_env.sh
  1. 初始化元数据(默认使用derby数据库)
/opt/module/hive/bin/schematool -dbType derby -initSchema
  1. 启动hive
$HIVE_HOME/bin/hive

3.2、使用mysql存储元数据

  1. 创建元数据库
create database metastore;
  1. 将mysql的jdbc驱动上传到Hive的lib目录下

在这里插入图片描述

  1. 新建hive-site.xml文件
vim $HIVE_HOME/conf/hive-site.xml
<?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://hadoop102:3306/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默认在HDFS的工作目录 --><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property>
</configuration>
  1. 初始化元数据库
$HIVE_HOME/bin/schematool -dbType mysql -initSchema -verbose

在这里插入图片描述

3.3、Hive-Server 2(HS2) 部署

上面部署完hive只能在本地客户端访问,需要部署HS2才能使用远程jdcb连接访问

修改配置

# 该配置需要分发到所有hadoop节点
vim $HADOOP_HOME/etc/hadoop/core-site.xml<!--配置所有节点的root用户都可作为代理用户-->
<property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property><!--配置root用户能够代理的用户组为任意组-->
<property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property><!--配置root用户能够代理的用户为任意用户-->
<property><name>hadoop.proxyuser.root.users</name><value>*</value>
</property>
vim $HADOOP_HOME/etc/hadoop/hive-site.xml<!-- 指定hiveserver2连接的host -->
<property><name>hive.server2.thrift.bind.host</name><value>hadoop102</value>
</property><!-- 指定hiveserver2连接的端口号 -->
<property><name>hive.server2.thrift.port</name><value>10000</value>
</property>

启动HS2

nohup $HIVE_HOME/bin/hive --service hiveserver2 &

使用DBeaver远程连接
在这里插入图片描述

3.4、Hive Metastore Server (HMS) 部署

为Hive CLI或者Hiveserver2提供元数据访问接口(其本身不存储元数据)
HMS分为两种运行模式:嵌入式模式、独立服务模式
嵌入模式:在每个HS2和Hive CLI中都都嵌入HMS,不做额外配置的情况下,采用的是嵌入模式
独立模式:HMS独立部署,HS2和Hive CLI获取元数据信息通过访问HMS,再由HMS访问元数据

3.4.1、嵌入模式
vim $HIVE_HOME/conf/hive-site.xml
<?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://hadoop102:3306/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>
</configuration>
3.4.1、独立模式

在嵌入模式的配置基础上增加,HS2和Hive CLI访问HMS的地址

<!-- 指定metastore服务的地址 -->
<property><name>hive.metastore.uris</name><value>thrift://hadoop102:9083</value>
</property>

启动HMS

nohup $HIVE_HOME/bin/hive --service metastore &

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

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

相关文章

C/C++ 递增/递减运算符和指针

可以将递增运算符用于指针和基本变量。本书前面介绍过。将递增运算符用于指针时。将把指针的值增加其指向的数据类型占用的字节数&#xff0c;这种规则适用于对指针递增和递减。 double arr[5] {1.1, 2.1, 3.1, 4.1, 5.1}; double *ptr arr; ptr; 也可以结合使用这些运算符和…

第十部分 欧拉图与哈密顿图

欧拉图&#xff1a; 历史背景&#xff1a; 哥尼斯堡七桥问题与欧拉图 问题提出后&#xff0c;很多人对此很感兴趣&#xff0c;纷纷进行试验&#xff0c;但在相当长的时间里&#xff0c;始终未能解决。而利用普通数学知识&#xff0c;每座桥均走一次&#xff0c;那这七座桥所有的…

软件架构的演进过程

软件架构的发展经历了由单体架构、垂直架构、SOA架构到微服务架构的演进过程&#xff0c;下面我们分别了解一下这几个架构。 一, 单体架构 一个归档包&#xff08;例如war格式或者Jar格式&#xff09;包含了应用所有功能的应用程序&#xff0c;我们通常称之为单体应用。架构单…

共模电容:又一款EMC滤波神器?|深圳比创达电子(下)

一、共模电容 1、结构特性 图7 共模电容结构示意 如图7&#xff0c;共模电容是在普通叠层电容基础上&#xff0c;结合3端电容中为降低电容ESL的优化设计&#xff0c;添加了一组GND&#xff1b;同时这组GND还有一定的屏蔽作用&#xff0c;可降低电极的边缘辐射。 2、电气特性…

记一次redis内存没满发生key逐出的情况。

现象&#xff1a; 从监控上看&#xff0c;redis的内存使用率最大是80%&#xff0c;但是发生了key evicted 分析&#xff1a; 原因1、可能是阿里云监控没抓取到内存100%监控数据。 阿里控制台监控监控粒度是5秒。 内存使用率的计算方法。 used_memory_human/maxmemory 原因2、…

drf之路由

一 路由Routers 对于视图集ViewSet&#xff0c;我们除了可以自己手动指明请求方式与动作action之间的对应关系外&#xff0c;还可以使用Routers来帮助我们快速实现路由信息。 REST framework提供了两个router SimpleRouterDefaultRouter 1.1 使用方法 1&#xff09; 创建r…

自编码器的基本概念

这里写目录标题 全连接自编码器卷积自编码器正则自编码器:变分自编码器2. **VAE的改进&#xff1a;**3. **关键概念&#xff1a;**4. **目标函数&#xff1a;**5. **生成新样本&#xff1a;**6. **应用领域&#xff1a;** 全连接自编码器 自编码器是一种无监督学习模型&#x…

【c++】入门2

函数重载 函数重载&#xff1a;是函数的一种特殊情况&#xff0c;C允许在同一作用域中声明几个功能类似的同名函数&#xff0c;这 些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同&#xff0c;常用来处理实现功能类似数据类型 不同的问题。 c区分重载函数是根据参数…

搬运机器人RFID传感器CNS-RFID-01|1S的RS485(MODBUS|HS协议)通讯连接方法

搬运机器人RFID传感器CNS-RFID-01|1S支持RS485通信&#xff0c;可支持RS485&#xff08;MODBUS RTU&#xff09;协议、RS485-HS协议&#xff0c;广泛应用于物流仓储&#xff0c;立库 AGV|无人叉车|搬送机器人等领域&#xff0c;常用定位、驻车等&#xff0c;本篇重点介绍CNS-RF…

Ubuntu20.04-查看GPU的使用情况及输出详解

1. 查看GPU的使用情况 1.1 nvidia-smi # 直接在终端得到显卡的使用情况 # 不会自动刷新 nvidia-smi# 重定向到文件中 nvidia-smi > nvidia_smi_output.txt# 如果输出的内容部分是以省略号表示的&#xff0c;可以-q nvidia-smi -q 1.2 nvidia-smi -l # 会自动刷新&#x…

CleanMyMac X2024免费许可证及功能详细讲解

一些用户反映自己的CleanMyMac卸载不干净&#xff1f;你的卸载方式正确码&#xff1f;当你在Mac上安装使用CleanMyMac后&#xff0c;需要将软件卸载&#xff0c;你会使用怎样方法完成操作呢&#xff1f;小编今天主要讲解如何卸载CleanMyMac以及卸载这款软件时应该注意的事项。一…

SpringBoot 3.2.0 基于Logback定制日志框架

依赖版本 JDK 17 Spring Boot 3.2.0 工程源码&#xff1a;Gitee 日志门面和日志实现 日志门面&#xff08;如Slf4j&#xff09;就是一个标准&#xff0c;同JDBC一样来制定“规则”&#xff0c;把不同的日志系统的实现进行了具体的抽象化&#xff0c;只提供了统一的日志使用接…

re模块(正则)

【 一 】 re模块概述 在线测试工具 正则表达式在线测试 - 站长工具 随着正则表达式越来越普遍&#xff0c;Python 内置库 re 模块也支持对正则表达式使用 Python 提供了re模块可以支持正则表示表达式使用&#xff0c;re模块提供了9个常量、12个函数 使用方法&#xff1a; re…

FRP 内网穿透指南:简单上手,快速入门

最近受朋友启发&#xff0c;突然萌生了一个想法&#xff0c;那就是如何将家里闲置五六年的台式机给利用起来&#xff0c; 本来打算组装一个NAS存储服务器&#xff0c;但是硬盘实在是有点小贵&#xff0c;所以决定先买了一块799元的4T机械硬盘&#xff0c; 然后做的frp内网穿透&…

同步与互斥(三)

一、递归锁 /* 创建一个递归锁&#xff0c;返回它的句柄。 * 此函数内部会分配互斥量结构体 * 返回值: 返回句柄&#xff0c;非NULL表示成功 */ SemaphoreHandle_t xSemaphoreCreateRecursiveMutex( void );/* 释放 */ BaseType_t xSemaphoreGiveRecursive( SemaphoreHandle_t…

全自动智能四向车系统|海格里斯HEGERLS四向穿梭车机器换人 科技赋能

近年来面对用户小批量、多品种、定制化产品服务需求日渐增多&#xff0c;制造行业仓储库容利用率低、分拣效率低、无法快速响应等问题更加凸显&#xff01;核心设备也由传统货架转变为智能仓储设备立体货架的存储方式&#xff0c;形成更加自动化、智能化的系统集成物流体系。其…

camunda-modeler画图入门

软件下载 camunda-modeler是camunda的工作流绘制桌面工具 5.9.0和5.18.0版本下载地址 https://storage.googleapis.com/downloads-camunda-cloud-release/camunda-modeler/5.9.0/camunda-modeler-5.9.0-win-x64.ziphttps://storage.googleapis.com/downloads-camunda-cloud-…

WAVE SUMMIT+ 2023倒计时2天,传文心一言将曝最新进展!

传文心一言将曝最新进展&#xff01; 亮点一&#xff1a;趋势引领&#xff0c;“扛把子”文心一言将曝新进展亮点二&#xff1a;干货十足&#xff0c;硬核低门槛开发秘籍大放送亮点三&#xff1a;蓄势待发&#xff0c;大模型赋能产业正当时亮点四&#xff1a;群星闪耀&#xff…

什么是波分复用 (WDM) 或密集波分复用 (DWDM)?

波分复用 (WDM) 是一种光纤传输技术&#xff0c;可以使用多个光波长&#xff08;或颜色&#xff09;通过同一介质发送数据。两种或多种颜色的光可以在一根光纤上传播&#xff0c;并且可以在光波导中以光谱上的不同波长或频率传输多种信号。 早期的光纤传输系统通过简单的光脉冲…

408计算机网络错题知识点拾遗

个人向错题相关部分整理&#xff0c;涵盖真题、模拟、课后习题等。 408相关&#xff1a; 408数据结构错题知识点拾遗 408计算机网络错题知识点拾遗 计网复习资料下载整合 已进行资源绑定&#xff0c;相关计网复习资料上方下载。 第一章 计算机网络体系结构 第二章 物理层 第三…