hive的hiveserver2客户端配置

2 篇文章 0 订阅
2 篇文章 0 订阅

前言

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

如图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加以下配置

 <property>
        <name>hive.server2.authentication</name>
        <value>NONE</value>
</property>
<property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop1</value>
</property>
<property>
         <name>hive.server2.thrift.port</name>
         <value>10000</value>
         <description>TCP port number to listen on, default 10000</description>
 </property>

<property>
        <name>hive.server2.thrift.http.port</name>
        <value>10001</value>
</property>

<property>
        <name>hive.server2.thrift.client.user</name>
        <value>root</value>
        <description>Username to use against thrift client</description>
</property>
<property>
        <name>hive.server2.thrift.client.password</name>
        <value>root</value>
        <description>Password to use against thrift client</description>
</property>	
	
hive文件配置说明
  • hive.server2.authentication 配置hive用户认证,设置为NONE则跳过认证

  • hive.server2.thrift.bind.host 配置thrift服务绑定的ip,需要在hadoop1启动hive服务,thrift服务才能与hadoop1建立连接,thrift主要用来实现hiveserver2的瘦客户端

  • hive.server2.thrift.port 配置thrift服务绑定的端口,主要用来建立与thrift服务连接

  • hive.server2.thrift.http.port 配置thrift服务绑定的http端口,可以通过http执行hive操作

  • hive.server2.thrift.client.user 配置thrift服务的验证账户

  • hive.server2.thrift.client.password 配置thrift服务的验证密码

原理

瘦客户端提供了一种方式,通过thrift服务去连接hive服务端,实现hive的操作,而客户端通过调用thrift服务,执行操作命令,实现了客户端与服务端的交互。

2. 配置core-site.xml

添加以下配置

<property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>

如图:
在这里插入图片描述

hadoop的文件配置说明
  • hadoop.proxyuser.root.hosts 配置hadoop的代理用户,主要是用于让hiveserver2客户端访问及操作hadoop文件具备权限
  • hadoop.proxyuser.root.groups 配置hadoop的代理用户组,主要是用于让hiveserver2客户端访问及操作hadoop文件具备权限
文件说明

如果不清楚文件的具体位置,请浏览hadoop集群安装与搭建

3.分发文件

上面两个步骤都在一台机器上配置好之后,远程分发文件到其他机器上。
我这里有4台机器,所以分发到另外三台,命令如下:

分发hive文件:

scp -r /usr/local/hive/conf/hive-site.xmt hadoop2:/usr/local/hive/conf/
scp -r /usr/local/hive/conf/hive-site.xml hadoop3:/usr/local/hive/conf/
scp -r /usr/local/hive/conf/hive-site.xml hadoop4:/usr/local/hive/conf/

分发hadoop文件:

scp -r /usr/local/hadoop/etc/hadoop/core-site.xml hadoop2:/usr/local/hadoop/etc/hadoop
scp -r /usr/local/hadoop/etc/hadoop/core-site.xml hadoop3:/usr/local/hadoop/etc/hadoop
scp -r /usr/local/hadoop/etc/hadoop/core-site.xml hadoop4:/usr/local/hadoop/etc/hadoop
4.启动hadoop和hive服务
  1. 在namenode节点的hadoop1上启动hadoop

    start-dfs.sh
    
    ssh hadoop2		//远程到hadoop2上,启动yarn,文件配置hadoop2作为任务调度管理
    
    start-yarn.sh
    
  2. 启动存放hive元数据的mysql

    /etc/init.d/mysqld start
    

    注:我这里是直接进入启动项目录启动的,可以使用其他命令启动,如:

    service mysql start
    
  3. 在hadoop1上启动hiveserver2服务

瘦客户端服务的启动,这里有两种启动方式,一种是前台启动,即控制台一直打印日志,且不能关掉控制台,关掉即服务挂掉

cd /usr/local/hive/bin
./hiveserver2

另一种是后台启动的方式,后台启动控制台可以关闭,且在进程中运行,执行 jps,可以看到hive的进程

cd /usr/local/hive/bin
nohup hive --service hiveserver2 &

如图:
在这里插入图片描述

等2分钟左右,我们再去启动客户端,这样避免做多次连接操作而连接不上,原因是服务端的程序还没执行完成

4.启动瘦客户端beeline:

cd /usr/local/hive/bin
beeline
!connect jdbc:hive2://hadoop1:10000

命令说明:

  • 执行beeline,启动了thirft服务,通过thirft的jdbc命令连接hive。
  • hadoop1是启动hive服务的主机名,10000则是hive-site.xml文件配置的端口。
  • 执行上面命令之后,需要执行hive-site.xml文件上配置的验证账户和密码,即root,回车之后,就登陆进hive了

客户端界面
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值