Terracotta开发控制台监控远程服务器“Timed-out”的问题

最近把Terracotta的服务器放在Linux上,然后在Windows上启动dev-console监控远程服务器,连接的时候一直Timed-out,监控不了。但是“netstat -an”查看服务器和本机连接状态,都是ESTABLISHED。连windows上的服务器就没有任何问题。

先检查一下网络状态是否有防火墙:服务器上启动服务,然后在本机telnet一下“telnet 192.168.0.148 9520”如果连不上,把服务器的防火墙关闭:“service iptables stop”。如果telnet成功,启动dev-console,点击“Connect…”按钮:

0SH3%FH__UUMP7F{O4TS~SK

后来使用Wireshark来抓包,发现服务器连外网了,但是没连通。

修改服务器的网关:/etc/sysconfig/network-scripts/ifcfg-eth0,配置GATEWAY参数,然后运行“service network restart”重启网络服务。ping一下外网,能连通了。

再启动dev-console连一下

SF71FE6D_FGIZ_A[35)~)XI

还是有问题:Terracotta cluster显示已经成功连接到服务器%]UV[ZG}@TN`HGA0]W90Y12  ,但是Mirror group上却显示的是127.0.0.1C@YYZHP78%$R}K~2YAKWCB7

推测原因可能是服务器上获取的localhost是127.0.0.1,返回到本机又从127.0.0.1取数据。(猜测可能是用InetAddress.getLocalHost()取ip,这在windows上没有问题,但是Linux上很可能取不到真实ip,结果是127.0.0.1。用NetworkInterface.getNetworkInterfaces()取各网卡的ip在Linux和Windows都没问题。)

现在来修改服务器的host文件:vi /etc/hosts,添加“192.168.0.148   tcs-test”,然后修改hostname:“hostname tcs-test”,退出shell重新登陆。重启一下network:“service network restart”。

再启动dev-console连一下,OK。

这里的关键还是在hostname上,需要指定服务器的主机名。

这种方式虽然解决了问题,但我感觉挺别扭,尤其是在配置Linux网络方面。如果有更好的解决之道,欢迎一起探讨。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值