Hive -error- 数据仓库问题:FAILED: SemanticException Unable to determine if hdfs://master:9000/user/hiv

在集群主机名更改后,启动Hive时遇到错误,表现为无法从表中获取数据,原因是元数据中的路径未同步更新。错误信息显示仓库路径中的主机名仍为'master:9000',而预期为'hadoop01:9000'。解决方案是通过SQL命令更新MySQL中hive元数据表DBS和SDS的DB_LOCATION_URI与LOCATION字段,将'master:9000'替换为'hadoop01:9000'。
摘要由CSDN通过智能技术生成

说明:今天我将集群的主机名修改了,集群能正常启动,但启动hive后,从hive的其中一张表中获取数据出现错误

错误如下:

FAILED: SemanticException Unable to determine if hdfs://master:9000/user/hive/warehouse/emp is encrypted: java.lang.IllegalArgumentException: Wrong FS: hdfs://master:9000/user/                                                                                         hive/warehouse/emp, expected: hdfs://hadoop01:9000

错误原因:

用mysql作为hive的元数据存储数据库,而mysql中存储hive元数据的hive数据库中表DBS,SDS这两张表中hive数据存储默认路径需要修改,但修改之前的元数据存储路径是hdfs://master:9000/user/hive/warehouse/ ,所以修改主机名后,相应的主机名也要修改。

废话不多说,请看下图 :

解决办法: 执行下面命令,修改成要修改的主机名就好了

update DBS set DB_LOCATION_URI=REPLACE (DB_LOCATION_URI,'master:9000','hadoop01:9000');
update SDS set LOCATION=REPLACE (LOCATION,'qianfeng01:8020','hadoop01:9000');

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值