Hive服务详解

Hive服务

HiveServer2、Hive Metastore 服务服务共同构成了 Hive 生态系统中的核心功能,分别负责管理元数据和提供数据查询服务,为用户提供了一个方便、高效的方式来访问和操作存储在 Hive 中的数据。


1. Hive 查询服务(HiveServer2):

在这里插入图片描述

  • Hive 查询服务是通过 JDBC 或 ODBC 接口提供 SQL 查询功能的服务,为用户提供远程访问Hive数据的功能,例如用户期望在个人电脑中访问远程服务中的Hive数据,就需要用到Hiveserver2。
  • 允许用户通过标准 SQL 查询语言来访问存储在 Hive 中的数据,并将查询结果返回给客户端。
  • HiveServer2 提供了多用户并发访问的能力,并支持身份验证、授权等安全特性
  • 用户可以通过各种客户端工具(如 Beeline、Python、Java 等)连接到 HiveServer2,执行查询操作

Hiveserver2用户说明

  • 在远程访问Hive数据时,客户端并未直接访问Hadoop集群,而是由Hivesever2代理访问。
  • 由于Hadoop集群中的数据具备访问权限控制,所以此时需考虑一个问题:那就是访问Hadoop集群的用户身份是谁?是Hiveserver2的启动用户?还是客户端的登录用户?
  • 答案是都有可能,具体是谁,由Hiveserver2的hive.server2.enable.doAs参数决定,该参数的含义是是否启用Hiveserver2用户模拟的功能。
  • 若启用,则Hiveserver2会模拟成客户端的登录用户去访问Hadoop集群的数据,不启用,则Hivesever2会直接使用启动用户访问Hadoop集群数据。模拟用户的功能,默认是开启的。

1.未开启用户模拟

在这里插入图片描述

在生产环境中未开启用户模拟功能可能会造成以下影响

  1. 权限混淆:
  • 如果未开启用户模拟功能,所有的查询和操作都将以 HiveServer2 进程的身份进行
  • 这样一来,不同用户之间的权限将会混淆,所有用户都将共享相同的权限
  • 这可能导致数据访问和操作的混乱,无法实现对不同用户的精细化权限控制
  1. 安全风险:
  • 缺乏用户模拟功能会增加系统的安全风险。因为所有的查询和操作都以相同的身份进行,一旦有用户的凭据泄露或者被滥用,就可能导致对系统中敏感数据的非法访问和操作
  • 这可能会造成数据泄露、数据损坏或者其他安全问题。
  1. 难以追踪和审计:
  • 缺乏用户模拟功能会使得对用户操作的追踪和审计变得困难。
  • 由于所有的操作都以相同的身份进行,无法准确追踪到是哪个用户执行了具体的查询或操作,也无法对用户的行为进行有效的审计和监控。
  1. 管理复杂性增加:
  • 在没有用户模拟功能的情况下,管理员需要更加谨慎地管理用户的权限,以确保不会发生数据访问和操作的冲突。这增加了管理的复杂性,并可能需要花费更多的时间和精力来维护系统的安全和稳定性。

因此,在生产环境中,强烈建议开启用户模拟功能,以确保不同用户之间的权限隔离和系统安全性。


2.开启用户模拟

在这里插入图片描述

生产环境,推荐开启用户模拟功能,因为开启后才能保证各用户之间的权限隔离,增强了系统的安全性和可管理性。

  1. 权限隔离:
  • 用户模拟功能允许不同用户以其自己的身份进行查询和操作,从而实现了权限的精细化管理和隔离。每个用户只能访问其被授权的数据和执行被授权的操作,有效保护了数据的安全性和完整性。
  1. 安全性增强:
  • 通过用户模拟功能,系统可以对不同用户进行身份验证,并根据其角色和权限进行访问控制。这样可以有效防止未经授权的用户访问敏感数据,降低数据泄露和滥用的风险,提高系统的安全性。
  1. 审计和追踪:
  • 用户模拟功能使得对用户操作的审计和追踪变得更加容易。每个查询和操作都可以被追踪到相应的用户身份,管理员可以准确地了解到是哪个用户执行了什么样的操作,从而更好地监控系统的使用情况和安全状态
  1. 管理灵活性:
  • 用户模拟功能提供了灵活的角色和权限管理机制,管理员可以根据实际需求为不同用户分配适当的角色和权限。这样可以根据实际情况灵活调整用户的权限,满足不同用户的需求,提高系统的管理灵活性和可维护性。

2. Hive Metastore 服务:

  • Hive的metastore服务的作用是为Hive CLI或者Hiveserver2提供元数据访问接口。
  • Hive Metastore 是负责管理 Hive 元数据的服务。
  • 它存储了关于 Hive 数据库、表、分区、列等元数据信息,包括表的结构、存储位置等。
  • Hive Metastore 通常使用关系型数据库(如 MySQL、Derby 等)来存储元数据信息。
  • 这个服务的作用是提供对元数据的持久化存储和管理,以便其他 Hive 组件可以通过它来获取元数据信息。

metastore运行模式

在 Apache Hive 中,Metastore 有两种运行模式——嵌入式模式和独立服务模式。

1. 嵌入式模式(Embedded Mode):

在这里插入图片描述

  • 在嵌入式模式下,Metastore 服务与 HiveServer2 进程运行在同一台机器上,它们共享相同的 JVM 进程

  • 这种模式下,Metastore 直接作为 HiveServer2 的一部分运行,没有单独的 Metastore 服务进程

  • 嵌入式模式下,每个Hive CLI都需要直接连接元数据库,当Hive CLI较多时,数据库压力会比较大。

  • 每个客户端都需要用户元数据库的读写权限,元数据库的安全得不到很好的保证

  • 这种模式通常用于小规模的数据处理任务或者单机环境下的开发和测试

2. 独立服务模式(Standalone Mode):

在这里插入图片描述

  • 在独立服务模式下,Metastore 作为一个独立的服务运行在专用的服务器上,与 HiveServer2 进程分开。
  • HiveServer2 进程通过网络与 Metastore 服务通信,Metastore 负责管理元数据,包括表、分区、列等信息。
  • 这种模式通常用于生产环境,因为它提供了更好的可扩展性和灵活性,可以通过多台服务器构建高可用的 Metastore 集群,以应对大规模数据处理任务的需求。

选择适合的运行模式取决于实际的使用场景和需求。对于小规模或者开发测试环境,嵌入式模式可能更加方便简单;而对于生产环境或者大规模数据处理任务,独立服务模式则更为适合。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jmeter之连接MySQL数据库

jmeter连接mysql数据库 mysql官网下载地址:MySQL :: Download Connector/J 步骤如下: 1、下载mysql的jar包放入到jmeter的lib/ext下,然后重启jmeter 链接: https://pan.baidu.com/s/1rRrMQKnEuKz8zOUfMdMHFg?pwdawfc 提取码: awfc 2、配置…

构建NodeJS库--前端项目的打包发布

1. 前言 学习如何打包发布前端项目,需要学习以下相关知识: package.json 如何初始化配置,以及学习npm配置项; 模块类型type配置, 这是nodejs的package.json的配置main 入口文件的配置 webpack 是一个用于现代 JavaSc…

ElasticSearch总结二

正向索引和倒排索引: 正向索引: 比方说我这里有一张数据库表,那我们知道对于数据库它一般情况下都会基于i d去创建一个索引,然后形成一个b树。 那么你根据i d进行检索的速度,就会非常的快,那么这种方式的…

Cesium之加载GeoServer或geowebcache的WMTS服务

文章目录 Cesium加载GeoServer的WMTS关键代码WMTS服务地址获取核心参数获取 Cesium加载GeoServer的WMTS关键代码 Cesium之加载GeoServer或geowebcache的WMTS服务关键代码如下 var url2"http://localhost:8090/geowebcache/service/wmts/rest/arcgis_com/{style}/{TileMat…

在excel中,如何在一个表中删除和另一个表中相同的数据?

现在有A表,是活动全部人员的姓名和学号,B表是该活动中获得优秀人员的姓名和学号, 怎么提取没有获得优秀人员的名单? 这里提供两个使用excel基础功能的操作方法。 1.条件格式自动筛选 1.1按住Ctrl键,选中全表中的姓…

的记忆:pandas(实在会忘记,就看作是一个 Excel 表格,或者是 SQL 表,或者是字典的字典。)

pandas 是一个开源的 Python 数据分析库,它提供了快速、灵活和富有表现力的数据结构,旨在使“关系”或“标记”数据的“快速分析、清洗和转换”变得既简单又直观。pandas 非常适合于数据清洗和转换、数据分析和建模等任务。以下是 pandas 的基本概念和主…

用 LM Studio 1 分钟搭建可在本地运行大型语言模型平台替代 ChatGPT

📌 简介 LM Studio是一个允许用户在本地离线运行大型语言模型(LLMs)的平台,它提供了一种便捷的方式来使用和测试这些先进的机器学习模型,而无需依赖于互联网连接。以下是LM Studio的一些关键特性: 脱机&am…

C++笔记:C++中的重载

重载的概念 一.函数重载 代码演示例子&#xff1a; #include<iostream> using namespace std;//函数名相同&#xff0c;在是每个函数的参数不相同 void output(int x) {printf("output int : %d\n", x);return ; }void output(long long x) {printf("outp…

RTU遥测终端为城市排水安全保驾护航!

近年来&#xff0c;全球气候变迁与城市化进程不断加速&#xff0c;导致强降雨事件频发&#xff0c;道路低洼地带、下穿式立交桥和隧道等区域在暴雨中常易积水&#xff0c;严重阻碍了人民的出行&#xff0c;甚至危及生命与财产安全。而传统的排水管网管理方式已难以适应现代城市…

mybatis的使用技巧8——联合查询union和union all的区别和用法

在实际项目开发中&#xff0c;会经常联合查询结构相似的多张数据表&#xff0c;使用union关键字就只需要一次sql操作&#xff0c;而无需执行多次查询并通过代码逻辑合并处理&#xff0c;减少了大量繁琐的操作&#xff0c;最重要的是还能通过可选的all关键字筛选重复的数据。 1…

数据结构基础:链表操作入门

数据结构基础&#xff1a;链表操作入门 数据结构基础&#xff1a;链表操作入门链表的基本概念链表的基本操作输出链表插入节点删除节点查找值 完整的链表操作示例结语 数据结构基础&#xff1a;链表操作入门 在计算机科学中&#xff0c;数据结构是组织和存储数据的方式&#x…

海康Visionmaster-常见问题排查方法-启动失数

问题2&#xff1a;VM无法启动&#xff0c;报错&#xff1a;参数错误&#xff1b;  问题原因&#xff1a;客户电脑环境异常导致代理启动失败。  解决方法&#xff1a;安装运行时库&#xff0c;并测试代理能否正常启动,步骤如下&#xff1a; ① 尝试双击代理进程&#xff…

WPF 6 命令

命令 创建一个按钮&#xff0c;新建一个事件&#xff0c;按住F12 就可以添加业务代码 运行代码 此时希望UI与后台代码分离&#xff0c;互不影响 此时新建一个MainViewModel类&#xff0c;来保存业务代码 Icommand 是所有command的父类接口 新建一个command来实现这个接口…

OceanBase诊断调优 】—— 如何快速定位SQL问题

作者简介&#xff1a; 花名&#xff1a;洪波&#xff0c;OceanBase 数据库解决方案架构师&#xff0c;目前负责 OceanBase 数据库在各大型互联网公司及企事业单位的落地与技术指导&#xff0c;曾就职于互联网大厂和金融科技公司&#xff0c;主导过多项数据库升级、迁移、国产化…

蓝桥杯:日期问题(我的绝望题)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;每日一练 &#x1f337;追光的人&#xff0c;终会万丈光芒 目录 前言&#xff1a; &#x1f337;1.问题描述&#xff1a; 1.问题描述&#xff1a; 2.输入格式&#xff1a; 3.输出格式&#…

HarmonyOS开发案例:【相机开发】

基本概念 相机是OpenHarmony多媒体进程提供的服务之一&#xff0c;提供了相机的录像、预览、拍照功能&#xff0c;支持多用户并发取流。 在进行应用的开发前&#xff0c;开发者应了解以下基本概念&#xff1a; 视频帧 视频流指的是将一系列图片数据按照固定时间间隔排列形成的…

探索设计模式的魅力:主从模式与AI大模型的结合-开启机器学习新纪元

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 ✨欢迎加入探索主从模式与AI大模型之旅✨ &#x1f31f;Hey, tech enthusiasts! 你是否还在追…

AI论文速读 |2024[TPAMI]【综述】自监督学习在时间序列分析的分类、进展与展望

题目&#xff1a; Self-Supervised Learning for Time Series Analysis: Taxonomy, Progress, and Prospects 作者&#xff1a;Kexin Zhang, Qingsong Wen(文青松), Chaoli Zhang, Rongyao Cai, Ming Jin(金明), Yong Liu(刘勇), James Zhang, Yuxuan Liang(梁宇轩), Guansong…

运维 kubernetes(k8s)基础学习

一、容器相关 1、发展历程&#xff1a;主机–虚拟机–容器 主机类似别墅的概念&#xff0c;一个地基上盖的房子只属于一个人家&#xff0c;很多房子会空出来&#xff0c;资源比较空闲浪费。 虚拟机类似楼房&#xff0c;一个地基上盖的楼房住着很多人家&#xff0c;相对主机模式…

【python程序打包教程】PyInstaller一键打包Python程序为独立可执行exe文件

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…