NameNode配置HA后及其反过程Hive路径不正确的问题解决

8 篇文章 0 订阅
在CDH5.7下,配置了NameNode的HA后,Hive无正常查询数据了,但是其他的组件HDFS , HBase ,Spark都正常的。

Hive新建表出现如下异常:
CREATE TABLE `x_test`(
  `client_ip` string , 
  `time` string , 
  `http_request` string , 
  `node_ip` string , 
  `unknow` string , 
  `total_time` string , 
  `dir` string)
;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice1)

Hive查询会出现如下异常:
hive> select * from tv_log;
FAILED: SemanticException Unable to determine if hdfs://nameservice1/user/hive/warehouse/tv.db/tv_log is encrypted: java.lang.IllegalArgumentException: Wrong FS: hdfs://nameservice1/user/hive/warehouse/tv.db/tv_log, expected: hdfs://master:8020

初步怀疑是Hive元数据的问题,在Hive数据库中有两张表:
DBS  : Hive数据仓库的总路径
SDS  : Hive每张表对应的路径

数据库中保存了原来的hdfs的路径,修改成HA对应的别名即可。
update DBS set DB_LOCATION_URI=REPLACE (DB_LOCATION_URI,'nameservice1','master:8020');  
update SDS set LOCATION=REPLACE (LOCATION,'nameservice1','master:8020');  

修改之后,则在hive中可以进行正常的数据查询与建表操作。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值