hadoop NameNode 配置HA后不生效问题

现象

最先Hadoop的NameNode是没有配置HA的,后面配置了HA后发现NameNode发生切换以后表仍是不能正常查询了,通过DESCRIBE formatted xxx以后发现,配置过HA以后新建的表的Location仍然是数据库

hdfs://host:8020/user/hive/warehouse/xxx.db/xxx

而不是配置的Nameservice名称bash

排查

通过排查发现配置HA以后新建的数据库里的表,在发生NameNode切换以后仍然能正常查询,推测多是跟hive的元数据库有关。ide

查看hive元数据库里的DBS

果真问题出在这里。oop

解决办法

将上表里的cdh01:8020 改成NameNodeNameservice名称。
这样是解决了日后新建的表的问题,那么修改以前的表在NameNode发生切换后,仍是不能正常读取。
那就要改SDS表中的LOCATION字段里的值了:
在这里插入图片描述
使用以下SQL便可:spa

UPDATE SDS set LOCATION=REPLACE(LOCATION,'cdh01:8020','nameservice1')
相关文章
相关标签/搜索