原文链接:https://www.cpweb.top/2526 |
---|
官方文档:
迁移到多个 Kudu master:https://kudu.apache.org/docs/administration.html#migrate_to_multi_master
从多主部署中删除 Kudu master:https://kudu.apache.org/docs/administration.html#_removing_kudu_masters_from_a_multi_master_deployment
从集群中停用或永久删除 kudu tserver:https://kudu.apache.org/docs/administration.html#tablet_server_decommissioning
kudu 命令行工具参考:https://kudu.apache.org/releases/1.15.0/docs/command_line_tools_reference.html
一、环境
因线上 kudu 服务器到期,新购 3 台新型号新配置的服务器,将原服务器上的 kudu 迁移到新服务器上。
kudu 版本为 1.15.0,新购服务器上已经部署好软件没有运行。
原有服务器信息表:
IP | 主机名 | 运行服务 |
---|---|---|
10.0.0.101 | bigdata01 | kudu-master、kudu-tserver |
10.0.0.102 | bigdata02 | kudu-master、kudu-tserver |
10.0.0.103 | bigdata03 | kudu-master、kudu-tserver |
新服务器信息表:
IP | 主机名 | 运行服务 |
---|---|---|
10.0.0.104 | bigdata04 | kudu-master、kudu-tserver |
10.0.0.105 | bigdata05 | kudu-master、kudu-tserver |
10.0.0.106 | bigdata06 | kudu-master、kudu-tserver |
二、kudu-master 迁移
kudu-master 迁移采用先加后减,先将新的节点逐台加入到集群,再将老的节点从集群中删除。
注意了,配置文件 master 地址建议都采用主机名,不要主机名和 IP 混用,这样会有问题,可能会导致新 master 添加异常。
1、添加 master 流程
从 1.15.0 版开始,可以使用 kudu master add
向 kudu 集群添加主节点。
该过程不需要停止整个集群中的所有 kudu 进程,但是一旦添加完成,所有 kudu 进程都必须重新启动以合并新添加的 master,这可以在不导致停机的情况下完成,如下面的步骤所述。
注意该过程支持一次只添加一个主站。为了添加多个主控,请按下面步骤对下一个新 master 再次执行相同的过程。
- 在需要添加的新的 master 主机上(而不是在任何现有的 master 上)运行 kudu master add 命令来添加 master。程序完成后,无论程序是否成功,新的 master 都会被 shutdown。
- 修改所有 master (包括新 master)的 master_addresses 配置的值。
- 逐个重启现有老 master。
- 启动新的 master。
- 修改所有 tserver 的 tserver_master_addrs 配置的值。
- 逐个重启所有 tserver 以应用新的主配置。
- 验证检查。访问每个 kudu Web UI,查看 /masters 页面,所有的 master 都应该列在那里,其中一个 master 是 LEADER 角色,其他 master 是 FOLLOWER 角色。每个 master 上的内容/masters应该是一样的。使用
kudu cluster ksck
进行集群健康检查。
2、添加 master
语法:kudu master add <master_addresses> <master_address> [-wait_secs=<secs>] [-ku