一、背景
kudu集群为kudu 1.9.0-cdh6.2.1
3个master高可用集群,其中一个master节点需要下线维护,故迁移该节点的master角色至其他节点。
二、Kudu Master迁移
1、新增kudu master节点
在CM界面新增一个kudu master实例,但不启动
2、记录kudu master uuid
查看所有master uuid
sudo -u kudu kudu local_replica cmeta print_replica_uuids -fs_wal_dir=/data/sdv1/kudu_master/wal -fs_data_dirs=/data/sdv2/kudu_master,/data/sdv3/kudu_master 00000000000000000000000000000000
查看每个master节点master uuid
sudo -u kudu kudu fs dump uuid -fs_wal_dir=/data/sdv1/kudu_master/wal -fs_data_dirs=/data/sdv2/kudu_master,/data/sdv3/kudu_master
根据上述结果确定需要迁移的master uuid
3、新增kudu master 节点初始化
在新master主机上执行格式化,uuid为待下线master的uuid标识,并将目录改为kudu所有
kudu fs format -fs_wal_dir=/data/sdv1/kudu_master/wal -fs_data_dirs=/data/sdv2/kudu_master,/data/sdv3/kudu_master --uuid=246708ef96134cbbb84ce886a2a5e580
chown -R kudu:kudu /data/sdv{1..3}/kudu_master
- 新增kudu master节点元数据复制
从其他master节点复制元数据至新master
sudo -u kudu kudu local_replica copy_from_remote -fs_wal_dir=/data/sdv1/kudu_master/wal -fs_data_dirs=/data/sdv2/kudu_master,/data/sdv3/kudu_master 00000000000000000000000000000000 unionbigdata01.localdomain:7051
5、更新kudu master list
在所有kudu master节点执行master list 更新操作
sudo -u kudu kudu local_replica cmeta rewrite_raft_config -fs_wal_dir=/data/sdv1/kudu_master/wal -fs_data_dirs=/data/sdv2/kudu_master,/data/sdv3/kudu_master 00000000000000000000000000000000 020825e1f55646928be758df617a8862:unionbigdata01.localdomain:7051 2caaa0752d2e41b4934ab3ccf0e25797:unionbigdata02.localdomain:7051 246708ef96134cbbb84ce886a2a5e580:unionbigdata03.localdomain:7051
三、Kudu Master重启
1、重启kudu master
删除停掉待替换的master,重启kudu master
2、检查master状态
sudo -u kudu kudu master list unionbigdata01.localdomain,unionbigdata02.localdomain,unionbigdata03.localdomain
3、执行健康检查
sudo -u kudu kudu cluster ksck unionbigdata01.localdomain,unionbigdata02.localdomain,unionbigdata03.localdomain