本例中修改将原来的hdfs-ha 修改为 hdfs-ns
停止HDFS, 防止新的业务操作
等待停止结束
KDE中需要调整的配置项如下图所示
a.搜索栏找到fs.defaultFS,将hdfs://hdfs-ha改为hdfs://hdfs-ns
b.搜索栏找到dfs.nameservices,将hdfs-ha改为hdfs-ns
c.搜索栏找到dfs.internal.nameservices,将hdfs-ha改为hdfs-ns
d.找到自定义hdfs-site,批量修改添加
#记录以下值
dfs.client.failover.proxy.provider.hdfs-ha=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
dfs.ha.namenodes.hdfs-ha=hostgroup_1,hostgroup_5
dfs.namenode.http-address.hdfs-ha.hostgroup_1=kde-offline2.sdns.kscbigdata.cloud:50070
dfs.namenode.http-address.hdfs-ha.hostgroup_5=kde-offline1.sdns.kscbigdata.cloud:50070
dfs.namenode.https-address.hdfs-ha.hostgroup_1=kde-offline2.sdns.kscbigdata.cloud:50470
dfs.namenode.https-address.hdfs-ha.hostgroup_5=kde-offline1.sdns.kscbigdata.cloud:50470
dfs.namenode.rpc-address.hdfs-ha.hostgroup_1=kde-offline2.sdns.kscbigdata.cloud:8020
dfs.namenode.rpc-address.hdfs-ha.hostgroup_5=kde-offline1.sdns.kscbigdata.cloud:8020
#需要将变量中的hdfs-ha改为hdfs-ns,需要批量添加修改后的值
dfs.client.failover.proxy.provider.hdfs-ns=org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
dfs.ha.namenodes.hdfs-ns=hostgroup_1,hostgroup_5
dfs.namenode.http-address.hdfs-ns.hostgroup_1=kde-offline2.sdns.kscbigdata.cloud:50070
dfs.namenode.http-address.hdfs-ns.hostgroup_5=kde-offline1.sdns.kscbigdata.cloud:50070
dfs.namenode.https-address.hdfs-ns.hostgroup_1=kde-offline2.sdns.kscbigdata.cloud:50470
dfs.namenode.https-address.hdfs-ns.hostgroup_5=kde-offline1.sdns.kscbigdata.cloud:50470
dfs.namenode.rpc-address.hdfs-ns.hostgroup_1=kde-offline2.sdns.kscbigdata.cloud:8020
dfs.namenode.rpc-address.hdfs-ns.hostgroup_5=kde-offline1.sdns.kscbigdata.cloud:8020
删除老配置
剩余以下配置
批量添加配置
保存配置
修改其它组件配置
hbase配置
搜索栏找到HBase root directory,将hdfs://hdfs-ha/apps/hbase/data改为/apps/hbase/data,去掉hdfs://hdfs-ha
hive配置
ranger配置
其它配置
在所有服务搜索原 集群nameserice 明确,确认全部都进行了替换
格式化zkfc
ssh kde-offline1
hdfs zkfc -formatZK
#两个节点都需要执行
ssh kde-offline2
hdfs zkfc -formatZK
输入: Y
另一个节点也需要执行
备份journal node数据目录
所有journal-node节点执行
cp -r /data/hadoop/hdfs/journalnode/hdfs-ha /data/hadoop/hdfs/journalnode/new-ha-name
重启 HDFS
重启其它组件
kde页面操作
修改HIVE元数据
#mysql -u hive -p${目标端hive用户密码} -h ${目标集群mysql masterIP} hive
#select * from DBS;
#确认hdfs地址为旧集群的条目id,进行修改
#update DBS set DB_LOCATION_URI="实际的hdfs地址" where DB_ID=需要修改的id;
#select * from SDS;
#update SDS set LOCATION = REPLACE(LOCATION,'源集群hdfs地址','目标集群hdfs地址');
例子:
update sds set LOCATION = REPLACE(LOCATION,'mycluster','hdfs-ha');
修改项目组客户端配置
通过grep -rn "{原nameservice名称}" {客户端配置文件目录} #找到所有需要修改的文件进行替换
hdfs验证
su - hdfs
hdfs fsck /
path '/' is HEALTHY 为正常