为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:
- 系统版本 & kernel 版本:Centos 7.3
- TiDB 版本:3.0.1
- 集群节点分布:4 kv+3 pd + 3 Tidb, 分别在7台服务器上
- 问题描述(我做了什么): 目前由于服务器网络变化,需要更新节点的IP,请问该如何操作?
为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:
目前只能通过重启来为节点更新 IP
重启可以,但是相关的配置文件要如何修改?请问有没有完整的操作步骤?
请问是通过 ansible 部署的集群吗?
对,是用ansible部署的集群.
修改 inventory.ini
ansible-playbook stop.yml
ansible-playbook deploy.yml
ansible-playbook start.yml
是必须要整个集群都要停止吗?还是如果只变化了某一台,可以指定停止某一台服务器吗?
可以只更改启动脚本,在目标机器 {deploy}/scripts
下,以修改 TiKV 为例
修改 {deploy}/scripts/run_tikv.sh
修改后运行
{deploy}/scripts/stop_tikv.sh
{deploy}/scripts/start_tikv.sh
但是启动脚本会在下次 deploy 时重新生成被覆盖,所以 inventory.ini 也要修改
是否可以这样? 1,修改inventory.ini 2,ansible-playbook deploy.yml 3,使用rolling upgrade命令生效?
可以的
TASK [wait until the PD health page is available] ******************************************************************************************************************************************************************************** FAILED - RETRYING: wait until the PD health page is available (12 retries left). FAILED - RETRYING: wait until the PD health page is available (12 retries left). FAILED - RETRYING: wait until the PD health page is available (12 retries left).
重启一直卡在这里,无法启动集群了
我现在也有这个问题。官方有操作吗?能有写一个标准的流程,这样改风险很大,稍不注意整个集群就完了。
可以按以下步骤尝试:
1、stop 三节点 pd 集群中的两个 pd 节点,剩下的节点也无法提供服务,日志中报错 [error] no etcd leader, check leader later
2、stop 剩下的节点,从 pd 日志获取 [info] init cluster id 6636904115040717817
3、从 tikv 日志获取 INFO node.rs:229: alloc store id 8
4、删除 pd 节点的 data-dir
5、选择一个或多个 pd 节点启动或在新的机器上重新部署,这里选择原有 pd 集群中的一个节点重建pd
run_pd.sh 中指定 --initial-cluster=“pd1=http://172.16.75.239:2380”
执行 start_pd.sh,日志显示 [info] init cluster id 6637221545670907823,使用了新的 cluster id
6、执行 ./resources/bin/pd-recover -endpoints http://172.16.75.239:2379 -alloc-id 10 -cluster-id 6636904115040717817
store 的 alloc-id 需要取比原来已分配的 id 更大的值
重新启动该 pd,会继续使用原有的 cluster id
7、重启 tikv、tidb 集群 ansible-playbook start.yml --tags=tidb,tikv
8、将另外两个 pd 节点加入到 pd 集群中,在 run_pd.sh 中的 --initial-cluster 修改为 --join=“http://172.16.75.239:2379”
执行 start_pd.sh
9、检查 member 信息 ./resources/bin/pd-ctl -u “http://172.16.75.239:2379” -d member
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。