hive的hiveserver2客户端配置

前言

hive提供了三种操作方式,一种是使用hive命令行方式进行操作;一种是使用java的api方式进行操作;还有一种是使用http的rest api进行操作。这里,我们只讲前两种的配置和实现。

在这之前,我们先了解一下hive的客户端,hive提供了两种客户端,一种是胖客户端,一种是瘦客户端。胖客户端显得比较臃肿,它实现的效果是直接启动服务端和客户端集成于一身,我们在操作控制台执行hive命令会启动hive服务,然后直接显示hive>命令操作行。可见,这种集成在一起的效果无法满足多台服务器的调用,只能在本机操作,也就是说无法支持并发,而且安全性低,客户端一旦断开,服务端也将失效,客户端与服务端粘合度太高。所以就出现了瘦客户端,瘦客户端支持多台服务器进行并非操作,而且客户端与服务端是分离开来的,显得比较轻量,所以就有肥瘦之分。

hive集群搭建

参考 hive集群安装与搭建

如果hive跑起来了,再继续下面步骤~

文件配置

1.配置hive-site.xml

切换到hive的配置目录下,打开hive-site.xml文件

cd /usr/local/hive/conf
vi hive-site.xml

如图:

在这里插入图片描述

### 如何配置 HiveHiveServer2 #### 1. 调整资源配置以提升性能 为了提高 HiveServer2 处理查询请求的效率,可以通过修改内存分配来实现。例如,在启动脚本中设置 `HADOOP_HEAPSIZE` 参数以及 JVM 堆大小选项: ```shell export HADOOP_HEAPSIZE=4096 export HADOOP_NAMENODE_OPTS="-Xms4096m -Xmx4096m" ``` 这些命令会将堆内存固定为 4GB,从而减少动态调整带来的开销[^1]。 #### 2. 安全加固措施 加强 HiveServer2 的安全性非常重要,尤其是在生产环境中。可以启用 Kerberos 认证机制,具体方法是在环境变量中定义如下内容: ```shell export HIVE_SERVER2_AUTHENTICATION=KERBEROS ``` 此操作能够有效限制未授权用户的访问行为并保护敏感数据。 #### 3. 修改核心配置文件 (`hive-site.xml`) 在 `$HIVE_HOME/conf/hive-site.xml` 中添加必要的属性以便于客户端正常连接到 HiveServer2 实例上。以下是几个常见的配置项及其作用说明: - 设置绑定地址和监听端口: ```xml <property> <name>hive.server2.thrift.bind.host</name> <value>192.168.1.10</value> </property> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> ``` 上述 XML 片段指定了服务运行的具体 IP 地址与通信端口号[^2]。 - 如果需要支持高可用架构,则可通过 Zookeeper 来管理多个节点间的协调工作。下面是一条典型的 Beeline CLI 连接字符串实例演示了如何利用 ZK 提供的服务发现功能: ```plaintext !connect jdbc:hive2://centos-1:2181,centos-2:2181,centos-3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2?tez.queue.name=hive1&hive.server2.thrift.resultset.serialize.in.tasks=true ``` 当成功建立链接后,终端应该显示类似于这样的日志消息:“Connected to: Apache Hive (version 2.1.1)” 表明当前已接入目标数据库引擎版本号为 2.1.1 的服务器进程[^3]。 #### 4. 用户代理权限控制 为了让特定用户能够在不同机器之间切换身份完成作业提交任务,还需要额外声明允许哪些主体具备跨域操作的能力。这里给出了一组通用样例用于授予根账户(`root`)完全信任关系以及其他普通成员有限度内的许可范围扩展可能性: ```xml <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property> ``` 以上片段赋予了 hadoop 和 root 用户广泛的主机列表及组集合访问权限[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值