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

Tars 添加节点失败 #899

Open
adropofsnow opened this issue Jan 2, 2024 · 12 comments
Open

Tars 添加节点失败 #899

adropofsnow opened this issue Jan 2, 2024 · 12 comments
Labels

Comments

@adropofsnow
Copy link

截屏2024-01-02 14 52 47

tars添加节点失败(如上图) 系统环境:centos 7.9 阿里云,使用公网IP添加

在新添加的节点服务器,能看到 ./bin/tarsnod 进程,无异常错误 ,19386和19387端口能正常启用

tars所部署的服务器,telnet 新添加的节点服务器 19387 19385 19386 三个端口正常。

补充说明:使用同一网段的内网IP地址,添加节点,正常。
tars.tarsnode.config.conf 的配置信息如下:


enableset=n
setdivision

locator=tars.tarsregistry.QueryObj@tcp -h 172.22.245.21 -p 17890
async-invoke-timeout=5000
refresh-endpoint-interval=60000
stat=tars.tarsstat.StatObj
property=tars.tarsproperty.PropertyObj
report-interval=60000
modulename=tars.tarsnode
sync-invoke-timeout=6000
asyncthread=3


app=tars
server=tarsnode
localip=...* #此处为新添加节点的的公网IP
local=tcp -h 0.0.0.0 -p 19387 -t 10000
basepath=/usr/local/app/tars/tarsnode/data
datapath=/usr/local/app/tars/tarsnode/data
logpath=/usr/local/app/tars/app_log
logsize=10M
lognum=10
logLevel=DEBUG
config=tars.tarsconfig.ConfigObj
notify=tars.tarsnotify.NotifyObj
log=tars.tarslog.LogObj
activating-timeout=10000
deactivating-timeout=3000

endpoint=tcp -h 0.0.0.0 -p 19385 -t 60000
allow
maxconns=1024
threads=5
queuecap=10000
queuetimeout=4000
servant=tars.tarsnode.NodeObj


endpoint=tcp -h 0.0.0.0 -p 19386 -t 60000
allow
maxconns=1024
threads=5
queuecap=10000
queuetimeout=4000
servant=tars.tarsnode.ServerObj




registryObj=tars.tarsregistry.RegistryObj
cmd_white_list_ip

heartTimeout=45
monitorInterval=3
synStatInterval=60


file=serversCache.dat
minBlock=500
maxBlock=500
factor=1
size=10M


@adropofsnow adropofsnow added the bug label Jan 2, 2024
@ruanshudong
Copy link
Contributor

要在同一个网段才行, 否则会有问题的

@ruanshudong
Copy link
Contributor

比如都是内网, 或者都是外网, 网络互通

@adropofsnow
Copy link
Author

老师太给力了,秒回。 上述问题描述,就是都是外网,并且网络是互通的。tars服务器,我没找到错误日志,所以也没办法进一步排查。

@ruanshudong
Copy link
Contributor

框架组件都绑定在外网么? tarsnode能访问这些组件么? tarsnode需要连接tarsAdminRegistry等组件的, 并且这些组件的ip是tarsregistry通过名字发现得到的, 如果是外网这里很可能有问题

@adropofsnow
Copy link
Author

docker-compose.yml 配置信息如下:
version: "3"
services:
tars-mysql:
image: mysql:5.6
network_mode: "host"
environment:
MYSQL_ROOT_PASSWORD: "FISCO"
MYSQL_TCP_PORT: 3310
restart: always
volumes:
- ~/app/tars/framework-mysql:/var/lib/mysql
- /etc/localtime:/etc/localtime

tars-framework:
image: tarscloud/framework:v3.0.1
network_mode: "host"
environment:
MYSQL_HOST: "127.0.0.1"
MYSQL_ROOT_PASSWORD: "FISCO"
MYSQL_PORT: 3310
REBUILD: "false"
INET: eth0 #此处实际获取的值为
SLAVE: "false"
restart: always
volumes:
- ~/app/tars/framework:/data/tars
- /etc/localtime:/etc/localtime
depends_on:
- tars-mysql

tars服务器的 ip信息如下:
ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:00:a5:41 brd ff:ff:ff:ff:ff:ff
inet 172.22.245.21/20 brd 172.22.255.255 scope global dynamic eth0
valid_lft 314904462sec preferred_lft 314904462sec
inet6 fe80::216:3eff:fe00:a541/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:3b:6f:a2:48 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever

**我的异问是:我所能调整的配置并不多,反复看相关资料,自己未发现不妥不处。
我怎么确定框架组件是否绑定在外网呢?又如何检验tarsnode需要连接tarsAdminRegistry等组联接正常呢?

麻烦老师了,可否详细的告知一下,再次感谢老师**

@ruanshudong
Copy link
Contributor

最好是找个外网网卡的机器, 部署时直接绑定到这个网卡上, 这样最简单

@adropofsnow
Copy link
Author

不好意思老师,用的云服务器,不具备直接绑定到外网网卡的条件,有什么的办法解决吗?麻烦老师详细解答一下

@ruanshudong
Copy link
Contributor

那就比较麻烦了, 一下子就说不清楚了, 而且操作起来比较麻烦, 如果不熟悉框架的, 估计是搞不定的

@adropofsnow
Copy link
Author

老师,我在使用FISCO BCOS 区块链,这个应用的部署,又依赖于tars框架,现在又是云服务器,又无法获取到外网网卡。是否可以,手动启动tarsnode?我仅仅是应用tars,研究其框架也太现实。是否还有其它可行方案?

@ruanshudong
Copy link
Contributor

云服务器应该有能力绑定一个外网网卡的, 是不是申请一个弹性外网网卡就可以?

@adropofsnow
Copy link
Author

阿里云有,但需要额外收费。我们使用的是其它服务商提供的私有云,估计没办法处理。我不知道,有没办法,不依赖于外网网卡,有什么变通的方式,可以让我使用能正常部署FISCO BCOS 区块链

@ruanshudong
Copy link
Contributor

开源版本没啥好办法了

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

No branches or pull requests

2 participants