YashanDB安装时报1676端口无法连接故障处理
我们的文章会在微信公众号IT民工的龙马人生和博客网站 ( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
使用yasboot添加主机节点时,出现无法连接到1676端口的问题。
[yashan@kylindg01 install]$ cd /home/yashan/install && yasboot host add -c yashandb -t /home/yashan/install/hosts_add.toml
+------------------------------------------------------------------------------------------------+
| type | uuid | name | hostid | index | status | return_code | progress | cost |
+------------------------------------------------------------------------------------------------+
| task | a3aea640a05e32a3 | HostAdd | - | yashandb | FAILED | 1 | 100 | 44 |
+------+------------------+---------+--------+----------+--------+-------------+----------+------+
task completed, status: FAILED
retcode: 1
stdout: sync node config
stderr:
connect rpc: [10.10.10.151:1676], failed: dial tcp 10.10.10.151:1676: connect: connection refused
1676端口默认为yasagent进程的监听端口。yasboot会先启动151节点的yasagent进程,待启动完成后再连接1676端口。根据这个现象可以推断出两点:一是151节点执行yasagent启动命令时返回码为0(表示启动命令执行成功),二是yasagent进程启动后发生了异常退出。
1.2 故障分析
1.2.1 查询进程
通过ps命令查看yasagent进程是否存在,发现进程不存在。
[yashan@kylindg02 yashandb]$ ps -ef|grep yasagent
yashan 116023 33996 0 13:34 pts/0 00:00:00 grep --color=auto yasagent
1.2.2 分析启动日志
yasagent的日志包括启动日志、故障日志和运行日志三类。下面需要逐一检查这些日志中是否有报错信息。
运行日志:
[yashan@kylindg02 yashandb]$ tail -20 yasagent.log
2026-01-19 09:18:05 INFO [rpc] service.go:131 rpc server: register HostAPI.YasomDemote
2026-01-19 09:18:05 INFO [rpc] service.go:131 rpc server: register LoaderAPI.ExistCsvInSplitDir
2026-01-19 09:18:05 INFO [rpc] service.go:131 rpc server: register LoaderAPI.GetLoadConfig
2026-01-19 09:18:05 INFO [rpc] service.go:131 rpc server: register IpchangeAPI.AddrChangeByHost
2026-01-19 09:18:05 INFO [yasagent] server.go:240 server listening on 10.10.10.151:1676
2026-01-19 09:18:05 INFO [backup] backup_manager.go:111 backup manager starting...
2026-01-19 09:18:06 INFO [yasagent] start_log.go:40 write start log
启动日志:
启动日志显示启动成功。
[yashan@kylindg02 yashandb]$ cat yasagent-start.log
2026-01-19 10:28:09 start success
故障日志:
[yashan@kylindg02 yashandb]$ ls -rlt
total 12
-rw-r--r-- 1 root root 0 Jan 19 09:18 yasagent-panic.log
故障日志文件为空,未发现任何报错信息。
1.2.3 手动启动yasagent进程
手动启动yasagent进程,命令返回启动成功,但通过ps命令查询发现进程仍然不存在。
[yashan@kylindg02 bin]$ ./yasboot process yasagent start -c yashandb
start local agent successfully!
[yashan@kylindg02 bin]$ ps -ef|grep yasagent
yashan 116125 33996 0 13:36 pts/0 00:00:00 grep --color=auto yasagent
手动启动yasagent进程时表现出的现象与添加节点时的现象一致。
1.2.4 日志生成时间
再次检查之前查看过的日志文件,发现两个关键问题:一是日志文件的生成时间不是当前时间,二是日志文件的属主是root用户,而非yashan用户。yasagent进程在启动过程中会重置对应的日志文件,由于日志文件的属主和权限不正确,yasagent进程在尝试重置日志文件时因权限不足而异常退出。
[yashan@kylindg02 yashandb]$ ls -rlt
total 12
-rw-r--r-- 1 root root 0 Jan 19 09:18 yasagent-panic.log
drwxr-xr-x 2 root root 6 Jan 19 09:18 worker
-rw-r--r-- 1 root root 33 Jan 19 09:18 yasagent-start.log
-rw-r--r-- 1 root root 4860 Jan 19 09:18 yasagent.log
1.3 故障原因
yasagent进程在启动过程中会重置日志文件,由于日志文件的属主和权限不正确(属主为root而非yashan用户),yasagent进程在尝试重置日志文件时因权限不足而异常退出。
1.4 解决方案
1.4.1 删除日志文件
删除现有的日志文件,确保后续yasagent进程可以正常创建新的日志文件。
rm -rf *.log
1.4.2 清理环境
从OM(运维管理平台)中删除添加失败的节点信息。
yasboot host remove -c yashandb -f --ip 10.10.10.151 --with-unconnected-host
清理151节点上的环境:
rm -rf /home/yashan/.yasboot
rm -rf /data/yashan/yasdb_home/23.4.6.100/
1.4.3 重新添加节点
[yashan@kylindg01 ~]$ cd /home/yashan/install && yasboot host add -c yashandb -t /home/yashan/install/hosts_add.toml
+-------------------------------------------------------------------------------------------------+
| type | uuid | name | hostid | index | status | return_code | progress | cost |
+-------------------------------------------------------------------------------------------------+
| task | b2fbe833942fbb0b | HostAdd | - | yashandb | SUCCESS | 0 | 100 | 44 |
+------+------------------+---------+--------+----------+---------+-------------+----------+------+
task completed, status: SUCCESS
浙公网安备 33010602011771号