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://xiahunao.cn/news/2981735.html

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

相关文章

unity学习(89)——unity塞满c盘!--删除editor下的log文件

卸了一个视频后强制续命打开详细信息: 这个再往下找也是没用的! 显示隐藏文件夹后!执行如下操作! 30个g! 其中unity占23g editer占了21g 删除C:\Users\王栋林\AppData\Local\Unity\Editor下的log文件 恢复到之前的水…

SpanBert学习

SpanBERT: Improving Pre-training by Representing and Predicting Spans 核心点 提出了更好的 Span Mask 方案,也再次展示了随机遮盖连续一段字要比随机遮盖掉分散字好;通过加入 Span Boundary Objective (SBO) 训练目标,增强了 BERT 的性…

C++中`Stream-based I/O`是`RAII`机制的

C中Stream-based I/O都是RAII机制的,文件流可以不手动close。 Do I need to manually close an ifstream? https://en.cppreference.com/w/cpp/io Refenence https://github.com/cyrusbehr/tensorrt-cpp-api/issues/55

网络安全主题纪录片

网络安全主题纪录片 文章目录 网络安全主题纪录片第四公民黑客帝国系列龙纹身女孩碟中谍系列虎胆龙威4匿名者终结者2:审判日东方快车谋杀案黑客国家公敌我是谁:没有绝对安全的系统黑客军团速度与激情系列十亿美元大劫案勒索软件的背后黑客的恐惧为什么网…

Linux 终端中的目录切换

目录 ⛳️推荐 前言 理解 Linux 中的路径 利用 cd 命令变更目录 故障解决 文件或目录不存在 非目录错误 特殊目录符号 测试你的知识 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击…

面包屑新玩法,ReactRouter+Ant Design实现动态渲染

在Ant Design中,可以通过Breadcrumb组件结合react-router库实现动态生成面包屑导航。具体步骤如下: 定义路由配置数据结构 我们需要在路由配置中添加额外的面包屑相关信息,例如面包屑标题、icon等。例如: const routes [{path: /,breadcrumbName: 首页},{path: /users,brea…

华为数通HCIA ——企业网络架构以及产品线

一.学习目标:精讲网络技术,可以独立搭建和维护中小企业网络! 模拟器(华为方向请安装ENSP,Ensp-Lite已有安装包,号称功能更加完善-这意味着要耗费更多的系统资源但是仅对华为内部伙伴申请后方可使用&#x…

Java技术学习|消息队列|初级RabbitMQ

学习材料声明 黑马RabbitMQ快速入门教程,快速掌握rabbitmq、springAMQP消息中间件 是非常初级的学习,听说后续的高级课程会涉及到微服务之类的,所以等学完微服务再回来学。还有redis的高级部分也涉及了微服务,所以也都暂时停止学…

【行为型模式】中介者模式

一、中介者模式概述 中介者模式定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式。(对象行为型模式) 中介者模式…

autodl私有云使用方法(成员端使用)

此时找管理员添加进团队,https://private.autodl.com/访问,登录账号。可以看到容器实例。 点击创建实例,根据所需创建。版本号不可以超过最高的CUDA支持,可以自己拉取镜像。 此处需要注意数据盘使用量,密切关注。存取传…

web前端学习笔记2

2. 网页穿上美丽外衣 2.1 什么是CSS CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。 CSS样式包括对字体、颜色、边距、高度、宽度、背景图片、网页定位…

MySQL数据库精讲001——概述

MySQL数据库精讲001——概述 文章目录 MySQL数据库精讲001——概述1.1 安装1.1.1 版本1.1.2 安装一、下载二、解压三、配置1. 添加环境变量2. 初始化MySQL3. 注册MySQL服务4. 启动MySQL服务5. 修改默认账户密码 四、登录MySQL五、卸载MySQL 1.1.3 连接1.1.4 企业使用方式(了解)…

绝缘栅型场效应管内部工作原理

我们以增强型nmos为例,其他mos管作为拓展理解: 1.各个部分介绍 如图,增强型nmos引出三个极,源极(Source),栅极(Gate),漏极(Drain)&am…

微博评论爬取

import requests import csv# 打开CSV文件以写入数据 f open(data.csv, modea, encodingutf-8-sig, newline) csv_writer csv.DictWriter(f, fieldnames[昵称, 性别, 归属地, 内容]) csv_writer.writeheader()# 定义一个函数用于获取评论内容 def GetContent(max_id):# 设置请…

【头文件】对.h文件的理解

目录 🌞1. 头文件的概念 🌊1.1 头文件的由来 🌊1.2 头文件的作用 🌊1.3 在.h文件中实现函数也不会出错的原因 🌞2. 简单示例 🌊2.1 头文件addition.h 🌊2.2 头文件接口实现addition.cpp …

网络编程 day5

select实现TCP并发服务器&#xff1a; #include<myhead.h> #define SER_IP "192.168.125.199" //服务器IP地址 #define SER_PORT 6666 //服务器端口号int main(int argc, const char *argv[]) {//1、创建套节字&#xff1a;用于接收…

页面分页打印,echarts图解决办法;生成PDF

1&#xff1a;echarts图片前端打印不是很完美&#xff0c;对于VUE2.0版本不是很有好 2&#xff1a;360浏览器不支持vue的最新版本的插件vue3-print-nb 3&#xff1a;vue-print-nb 可以打印带有echarts 一页内容&#xff0c;并且还存在bug&#xff0c;第一次点击打印没有&…

SVG 绘制微信订阅号icon

效果 代码 <!DOCTYPE html> <html> <body><svg xmlns"http://www.w3.org/2000/svg" version"1.1" width"600" height"600"><rect x"0" y"0" rx"0" ry"0" width&…

HarmonyOS开发案例:【图片编辑】

介绍 本篇Codelab是基于ArkTS的声明式开发范式的样例&#xff0c;主要介绍了图片编辑实现过程。样例主要包含以下功能&#xff1a; 图片的解码。使用PixelMap进行图片编辑&#xff0c;如裁剪、旋转、亮度、透明度、饱和度等。图片的编码。 相关概念 [图片解码]&#xff1a;读…

数学建模完整版

模型与适用题型 微分方程传染病预测模型 神经网络 层次分析法 粒子群算法 matlab 优劣解距离法