[tidb-v5]安装完TiDB集群,alertmanager 无法启动

【 TiDB 使用环境`】 POC环境
【 TiDB 版本】v5.1.3
【操作系统版本】
Kernel:
4.19.90-23.16.v2101.ky10.aarch64
Build:
Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-aarch64-Build20/20210518
【遇到的问题】
顺利无报错安装完TiDB集群,启动集群的时候alertmanager报错,其他组件正常

Error: failed to start alertmanager: failed to start: X.X.X.X alertmanager-9093.service, please check the instance’s log(/tidb-deploy/alertmanager-9093/log) for more detail.: timed out waiting for port 9093 to be started after 2m0s

Verbose debug logs has been written to /home/tidb/.tiup/logs/tiup-cluster-debug-2022-04-13-21-23-30.log.
Error: run /home/tidb/.tiup/components/cluster/v1.7.0/tiup-cluster (wd:/home/tidb/.tiup/data/T2tHpV5) failed: exit status 1

集群状态:

【问题现象及影响】

2 个赞

看一下这个机器的9093端口是不是被占用了

1 个赞

netstat -ano |grep 9093
netstat -ano |grep 9094
均没有被占用。而且alertmanager 想换一个端口试一下,也无法修改发配置文件

1 个赞

上传一下altermanager的日志文件。

改端口的话要用缩容再扩容的方式。

1 个赞

alertmanager.log 均如下报错:
level=info ts=2022-04-13T14:14:33.59882363Z caller=main.go:140 msg=“Starting Alertmanager” version="(version=0.17.0, branch=HEAD, revision=c7551cd75c414dc81df027f691e2eb21d4
fd85b2)"
level=info ts=2022-04-13T14:14:33.5988873Z caller=main.go:141 build_context="(go=go1.12.4, user=root@932a86a52b76, date=20190503-09:29:59)"
level=error ts=2022-04-13T14:14:33.59922857Z caller=main.go:165 msg=“unable to initialize gossip mesh” err=“create memberlist: Could not set up network transport: failed to
obtain an address: Failed to start TCP listener on “X.X.X.X” port 9094: listen tcp X.X.X.X:9094: bind: cannot assign requested address”

1 个赞

而且也试过缩容扩容的方式,但是scale-out.yaml如下写,会报错mapping values are not allowed in this context
alertmanager_servers:

  • host: X.X.X.X 这里是横杠,打出来显示有问题
    ssh_port: 22
    web_port: 9097
    cluster_port: 9098
    deploy_dir: 路径
    data_dir: 路径
    log_dir: 路径
1 个赞

这个报错应该是你yaml格式有问题。

看下lsof -i:9094的输出

2 个赞

1,
lsof -i:9093
lsof -i:9094
均无占用。
2,yaml格式是从tiup cluster template > topology.yaml 生成的结尾直接粘贴的。
3,而且我卸destroy掉集群,重新部署的时候,在topology.yaml 修改alertmanager端口,也是报错mapping values are not allowed in this context

1 个赞

把你报错的yaml源文件上传一下

1 个赞

已上传,谢谢

1 个赞


yaml需要严格对齐,调整下再试试

1 个赞

这个确认下机器的IP是不是有问题,发生变更了或者是和其他节点ip冲突了?

1 个赞

Ip没有发生过变化, 但是这个是云上面的虚拟机,ip a 看到的IP和 我连接的IP不是同一个。用的是一个什么功能,我明天问一下主机老师,非常感谢你

2 个赞

不客气~
有结果了麻烦跟一下帖子。

1 个赞

检查防火墙,或者相关端口是否正常启动。

已经解决了,非常感谢。 还是IP导致的问题。
我们机器ssh直连的ip是 E ip,但是这个ip不是操作系统ip a 看到的地址。修改alertmanager的ip为ip a看到的地址,其他的tidb tikv pd 还是用E ip即可。 ip a 看到的地址外面无法直接访问的。

2 个赞

E ip是什么? container ip吗?
应该配ip a看到的主机ip吗?

是的,配置ip a 看到的地址就可以启动了。 但是由于那个地址远程无法直接访问,所以也只是进程启动了。 dashboard查看告警,页面跳转的时候也会报错

至于啥是E ip我也不知道,主机老师这样称呼的。 :sweat_smile:

telnet一下9093