全方位揭秘!大数据从0到1的完美落地之Hive部署远程模式

v2-4b22527985384cedba02ae95e6d244cc_250x0

远程模式

简介

将hive中的相关进程比如hiveserver2或者metastore这样的进程单独开启,使用客户端工具或者命令行进行远程连接这样的服务,即远程模式。客户端可以在任何机器上,只要连接到这个server,就可以进行操作。客户端可以不需要密码。

服务端的配置

1) 修改 hive-site.xml

<!--hive仓库在hdfs的位置-->
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
</property>

<!-- 该参数主要指定Hive的临时文件存储目录  -->
<property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
</property>

<!--连接mysql的url地址-->
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://qianfeng03:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=latin1</value>
</property>
<!--mysql的驱动类-->
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
</property>
<!--mysql的用户名-->
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>
<!--mysql的密码-->
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
</property>


<!--hive工作的本地临时存储空间-->
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/usr/local/hive/iotmp/root</value>
</property>
<!--如果启用了日志功能,则存储操作日志的顶级目录-->
<property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>/usr/local/hive/iotmp/root/operation_logs</value>
</property>
<!--Hive运行时结构化日志文件的位置-->
<property>
    <name>hive.querylog.location</name>
    <value>/usr/local/hive/iotmp/root</value>
</property>
<!--用于在远程文件系统中添加资源的临时本地目录-->
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>/usr/local/hive/iotmp/${hive.session.id}_resources</value>
</property>

说明:

  1. 使用远程模式,需要在hadoop的$HADOOP_HOME/etc/hadoop/core-site.xml文件中添加一下属性,修改之后分发给不同节点
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>
  1. 远程模式是一个服务器在在一台节点,客户端在其他节点上

    将qianfeng01的节点作为服务器节点,将qianfeng02作为客户端节点,将qianfeng01节点中配置好hive远程发送给qianfeng02节点

scp -r ./hive-3.1.2/ root@qianfeng02:$PW
hive的两种服务说明

第一种服务:hiveserver2

1. 该服务端口号默认是10000
2. 可以单独启动此服务进程,供远程客户端连接;此服务内置metastore服务。
3. 启动方式:

    方法1:
        直接调用hiveserver2。会进入监听状态不退出。
    方法2:
        hive --service hiveserver2 & 进入后台启动
    方法3:
        hive --service hiveserver2 >/dev/null 2>&1 &; #信息送入黑洞。

第二种服务:metastore(hive链接方式)

1. 此服务才是真正连接元数据库的服务进程
2. 也可以让远程客户端连接
3. 启动方式:
	方法1:
		- hive --service metastore &
	方法2:
    	- hive --service metastore 2>&1 >/dev/null &; #信息送入黑洞。
客户端连接hiveserver2服务

说明:

  1. 将qianfeng01的hive发送到qianfeng02中,qianfeng02连接此服务的hive客户端,需要配好环境变量
  2. 修改hive-site.xml,修改hive.server2.thrift.bind.host的值为hiveserver2的服务端
  3. 只能使用hive中的beeline连接工具进行连接此服务,beeline是hive的一个轻量级的连接客户端工具

连接方式:

方式1:
   	step1. beeline 回车
   	step2. !connect jdbc:hive2://ip:10000 回车
   	step3. 输入用户名 回车
   	step4. 输入密码 回车
方法2(直连):
	1. beeline -u jdbc:hive2://ip:10000 -n 用户名
退出 !quit	

解析: 
	hive2,是hive的协议名称
	ip:  hiveserver2服务所在的主机IP。
	10000,是hiveserver2的端口号d
客户端连接metastore服务

注意:想要连接metastore服务的客户端必须配置如下属性和属性值

<property>
	<name>hive.metastore.uris</name> 
	<value>thrift://ip:9083</value>
</property>

使用的是bin下的hive命了

解析:thrift:是协议名称
	 ip为metastore服务所在的主机ip地址
     9083是默认端口号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值