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')
相關文章
相關標籤/搜索