Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rpc is not available #135

Open
feixu0530 opened this issue Aug 9, 2023 · 5 comments
Open

rpc is not available #135

feixu0530 opened this issue Aug 9, 2023 · 5 comments

Comments

@feixu0530
Copy link

在一台服务器上部署了jiacrontab,但是没有部署jiacrontab_admin,在配置文件中将admin指向到了一台原有的admin服务器。原admin服务器已经稳定运行了很久,并管理多台jiacrontab。
在服务器启动后,admin管理页面上能够看到该节点。但是点击后提示:rpc is not available。
检查了很久不知道问题在哪里。

以下是配置文件内容:
[jiacrontabd]
; 任务日志页面显示冗余信息,比如时间、脚本名称
verbose_job_log = true
; 本机rpc监听地址
listen_addr = :20001
; 当前节点的广播地址,admin通过该地址与当前节点通信,默认取当前节点ip
; boardcast_addr = localhost:20001
; admin 地址
admin_addr = adminIP:20003
; 自动清理大于一个月或者单文件体积大于1G的日志文件
auto_clean_task_log = true
; 节点名,默认取节点hostname
; node_name = node1
log_level = warn
log_path = ./logs
user_agent = jiacrontabd
; jiacrontabd目前仅支持sqlite3
driver_name = sqlite3
dsn = data/jiacrontabd.db?cache=shared

; 心跳上报周期(s)
client_alive_interval = 10

@iwannay
Copy link
Owner

iwannay commented Aug 9, 2023

可以检查下admin到新节点是否联通,boardcast_addr = localhost:20001 是上报给admin的当前节点地址,要写新节点的地址,不能写localhost

@feixu0530
Copy link
Author

boardcast_addr = localhost:20001这个前面是注释掉的,也就是我使用的是:默认取当前节点ip

@iwannay
Copy link
Owner

iwannay commented Aug 9, 2023

jiacrontabd上报给admin的地址应该有问题,造成admin无法联通,你可以用boardcast_addr手动指定要上报的地址

@feixu0530
Copy link
Author

尝试过了直接使用手动指定也同样报错。admin到新节点已经验证过,访问没有问题。
刚继续查找问题,发现我一直使用的是https://jiacrontab.iwannay.cn/download/这个地址下的,jiacrontab-v2.2.0-linux-amd64.zip这个包,发现和github内下载的源码,有一些文件夹、文件是没有的。
我使用jiacrontab-v2.2.0-linux-amd64.zip这个包,是将他们放入/opt文件夹下,然后分别写了systemctl来执行的。另外发现新节点运行起来之后,不会生成logs文件夹,即使手动创建,也会被自动删除。
我尝试使用nohup ./jiacrontabd &> jiacrontabd.log &命令启动,在jiacrontabd.log中发现了如下的报错:
nohup: 忽略输入
panic: listen tcp4 :20001: bind: address already in use

goroutine 1 [running]:
jiacrontab/pkg/rpc.ListenAndServe(0xc0000880e9, 0x6, 0xc000157e08, 0x3, 0x3)
/opt/goproject/jiacrontab/pkg/rpc/server.go:38 +0xfd
jiacrontab/jiacrontabd.(*Jiacrontabd).Main(0xc000092580)
/opt/goproject/jiacrontab/jiacrontabd/jiacrontabd.go:488 +0x1e8
main.main()
/opt/goproject/jiacrontab/app/jiacrontabd/main.go:76 +0x1d8

@iwannay
Copy link
Owner

iwannay commented Aug 9, 2023

这个报错是说20001端口已经被占用了,程序无法启动

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants