- 【TiDB 版本】:tidb-ansible v3.0.8
- 【问题描述】:
用GCP的LB负载4000端口,发现不成功,状态一直是黄色感叹号,去9个节点发现所有的端口都监听在ipv6上,如何修改监听到ipv4地址上,用sysctl 禁用了ipv6,并sysctl -p 让其生效,重启tidb之后还是监听在ipv6上。
用GCP的LB负载4000端口,发现不成功,状态一直是黄色感叹号,去9个节点发现所有的端口都监听在ipv6上,如何修改监听到ipv4地址上,用sysctl 禁用了ipv6,并sysctl -p 让其生效,重启tidb之后还是监听在ipv6上。
是否是用 ansible 部署?这些端口信息是否是修改成 ipv6 ?
是的ansible部署的,tidb_servers.yml这个文件没有动过,ipv6已经关了,可还是监听到ipv6地址上
[root@tidb-1 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.142.0.12 netmask 255.255.255.255 broadcast 10.142.0.12
ether 42:01:0a:8e:00:0c txqueuelen 1000 (Ethernet)
RX packets 734948 bytes 460844908 (439.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 898487 bytes 183387676 (174.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 25333 bytes 2590484 (2.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 25333 bytes 2590484 (2.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@tidb-1 ~]# netstat -anltp | grep LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 21645/sshd
tcp6 0 0 :::9115 :::* LISTEN 23375/bin/blackbox_
tcp6 0 0 :::10080 :::* LISTEN 23673/bin/tidb-serv
tcp6 0 0 :::4000 :::* LISTEN 23673/bin/tidb-serv
tcp6 0 0 :::9100 :::* LISTEN 23105/bin/node_expo
tcp6 0 0 :::22 :::* LISTEN 21645/sshd
[tidb@devops-1 tidb-ansible]$ cat group_vars/tidb_servers.yml
---
dummy:
tidb_port: 4000
tidb_status_port: 10080
tidb_log_dir: "{{ deploy_dir }}/log"
tidb_cert_dir: "{{ deploy_dir }}/conf/ssl"
[tidb@devops-1 tidb-ansible]$
端口没错,地址是v6的,如何改成0.0.0.0:4000?
意思就是GCP上的LB做健康检查检测4000端口,可能没检测到0.0.0.0:4000
tidb-server 的启动 -P 是没有指定是 ip ,所以就是所有 4000 端口都是可用的,所以不管是 ipv6 还是 ipv4。这里暂时无法进行调整,可以根据你的需求试下其他方式。
已经解决了
运行状况检查
每个后端服务还会针对每个可用的实例指定执行哪种运行状况检查。为了让运行状况检查探测能够正常进行,您必须创建一条防火墙规则,以允许来自 130.211.0.0/22 和 35.191.0.0/16 的流量到达您的实例。
如需详细了解运行状况检查,请参阅运行状况检查概念和创建运行状况检查。
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。