目录
一.CDH kudu master新增流程
一.首先对已经拥有的kudu1 的master做准备工作
二.为每个新主站执行以下准备步骤
二.CDH kudu 当msater节点宕机做master服务迁移
一.对每个存活的master获取uuid
二.对reference master做以下操作
三.准备恢复
以下的操作是在现在已有的kudu1 上在新增一个kudu2
1.确定每个存活的master的fs_wal_dir和fs_data_dirs路径
在每个master执行以下命令获取uuid
kudu fs dump uuid --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs
uuid:7478d517b626422d8d5686b59c6922b4
2.识别并记录主服务器用于RPC的端口。默认端口值为7051
3.机器要配置DNS,给机器ip取一个别名(如果没有DNS别名,就不可能在不关闭集群进行维护的情况下从永久的主故障中恢复。强烈建议您使用DNS别名。)
4.如果您有从Impala访问的Kudu表,则必须更新Apache Hive Metastore(HMS)数据库中的主地址
在mysql 的hive 库中执行
UPDATE TABLE_PARAMSSET PARAM_VALUE =
'new-master-name-1:7051,new-master-name-2:7051,new-master-name-3:7051'
WHERE PARAM_KEY = 'kudu.master_addresses'
AND PARAM_VALUE = 'master-1:7051,master-2:7051,master-3:7051';
In impala-shell, run:
INVALIDATE METADATA;
修改单个的表的master可以执行以下的语句
ALTER TABLE formtable_main_617
SET TBLPROPERTIES
('kudu.master_addresses' = 'kudu1,kudu2');
1.格式化每台新主计算机上的数据目录,并记录生成的UUID。使用以下命令:
格式化代码:如果是CM管理的话新增一个master之后再关闭此master做初始化之后可以省略此格式化代码
sudo -u kudu kudu fs format --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs
记录新加的master的uuid
sudo -u kudu kudu fs dump uuid --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs
uuid:be6c743418994c71ba1c75200cffae39
2.使用以下命令重写主机的Raft配置,在每个主机上执行
sudo -u kudu kudu local_replica cmeta rewrite_raft_config --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs 00000000000000000000000000000000 7478d517b626422d8d5686b59c6922b4:kudu1:7051 be6c743418994c71ba1c75200cffae39:kudu2:7051
3.Cm界面启动原kudu master,新添加的不启动
4.复制master数据 在新主机上运行
sudo -u kudu kudu local_replica copy_from_remote --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs 00000000000000000000000000000000 kudu1:7051
5.运行kudu自带的ksck检测工具检测kudu运行状态
sudo -u kudu kudu cluster ksck kudu1,kudu2
在存活的master里面选一个master作为 reference master 再选取一个新机器作为迁移的机器作为 replacement master
执行以下代码
kudu fs dump uuid --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs
1.使用以下命令识别和记录集群中每个主机的uuid:
sudo -u kudu kudu local_replica cmeta print_replica_uuids --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs 00000000000000000000000000000000
7478d517b626422d8d5686b59c6922b4 be6c743418994c71ba1c75200cffae39 75b774df122040cc8dc253d91378823f
1.使用以前记录的已死主机的UUID格式化替换主机上的数据目录。使用以下命令序列(在被替换的主机上先创建好格式化的目录不然会报文件找不到错误)
sudo -u kudu kudu fs format --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs --uuid=7478d517b626422d8d5686b59c6922b4
2.使用以下命令将主数据复制到替换的主数据。
sudo -u kudu kudu local_replica copy_from_remote --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs 00000000000000000000000000000000 kudu2:7051
3.用CM添加kudu master 角色 但不要启动它
更新master ,在所有master上执行,需要先停止活动的master服务
sudo -u kudu kudu local_replica cmeta rewrite_raft_config --fs_wal_dir=/lvm/sdb/kudu/master/fs_wal_dir --fs_data_dirs=/lvm/sdc/kudu/master/fs_data_dirs,/lvm/sdd/kudu/master/fs_data_dirs,/lvm/sde/kudu/master/fs_data_dirs,/lvm/sdf/kudu/master/fs_data_dirs 00000000000000000000000000000000 f3769fce72bc47378574db3b4ff9e6a4:kudu4:7051 be6c743418994c71ba1c75200cffae39:kudu2:7051 75b774df122040cc8dc253d91378823f:kudu3:7051