Hive:客户端

本文详细介绍了如何通过配置Hive远程客户端连接到Hive服务器的过程。包括在服务器上开启Thrift服务,以及在客户端配置hive.metastore.local和hive.metastore.uris属性的方法。同时,还提到了客户端访问数据文件时对IP映射的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hive本身提供了thrift协议对外提供服务的功能。

如果某台机器已经配置好了hive,然后运行以下命令打开thrift,提供对外服务(打开后这台机器就为hive服务器):

hive --service metastore  & 

远程机器想要使用hive,可以不做任何元数据和数据存储位置配置(都不需要知道这些配置细节),只需用hive的客户端功能连接hive服务器就行了。

这样配置连接hive服务器:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>  
        <name>hive.metastore.local</name>  
        <value>false</value>  
    </property>  
    <property>  
        <name>hive.metastore.uris</name>  
        <value>thrift://192.168.0.101:9083</value>  
    </property>
</configuration>

然后在客户端机器运行hive命令,就能使用hive客户端功能了,和正常使用hive一样。

注意:

  1. hive命令启动需要本地起了hdfs服务,不需要yarn服务
  2. hive客户端从hive服务端拿到元数据,然后会根据元数据中记录的数据文件地址拿数据,但是元数据中记录的地址可能为如下形式:
    hdfs://slave5:9000/user/hive/warehouse/...
    也就是说hive客户端需要知道slave5对应ip才能访问数据文件,要求hive客户端的/etc/hosts文件里有ip映射。

如果不想配第2步,在服务端hive-site.xml配置文件里指定hive.metastore.warehouse.dir选项时,直接用ip地址(未测试过)。但是不建议这样,因为如果用了ip地址,一旦hdfs集群的NameNode换了ip,hdfs上的数据文件就不能用原来的ip访问到了,想用hive继续访问,需要修改hive的元数据内容。

转载于:https://www.cnblogs.com/xuejianbest/p/10285021.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值