Skip to main content

arthas报错connect to telnet server error: 127.0.0.1 9999

用户问题 :#

arthas报错connect to telnet server error: 127.0.0.1 9999


专家官方解答 :#

根据你提供的错误信息connect to telnet server error: 127.0.0.1 9999,这表明Arthas尝试连接到Telnet服务器时遇到了问题,具体来说是无法连接到本地的9999端口。结合Arthas的工作原理和配置知识,我们可以分析并尝试解决这个问题。

分析原因#

  1. 端口未开启:可能是因为Arthas的telnet服务并没有在9999端口启动,或者该端口被其他应用程序占用。
  2. 配置不正确:Arthas的配置可能指定了一个不正确的telnet端口号(如9999),而实际上服务并未在此端口监听。
  3. 网络问题:尽管不太可能在本地环回地址上发生,但理论上也存在网络配置阻止了连接的情况。
  4. Arthas服务未启动:确保Arthas Agent已经成功注入目标Java进程,并且相关的服务如telnet服务已经正常启动。

解决步骤#

步骤1:检查端口占用情况#

运行以下命令查看9999端口是否被占用:

netstat -tuln | grep 9999

或(针对Windows系统):

netstat -ano | findstr :9999

如果端口被占用,确定是否可以关闭占用该端口的应用,或选择其他未被占用的端口。

步骤2:确认Arthas配置#

检查arthas.properties文件中的arthas.telnetPort设置,确认其是否正确地设置为了9999。文件通常位于:

  • 自动下载的Arthas:~/.arthas/lib/3.x.x/arthas/arthas.properties
  • 完整包解压目录:解压目录下的arthas.properties

步骤3:动态调整端口或使用随机端口#

如果配置无误但端口仍然无法连接,尝试通过命令行参数动态调整telnet端口:

./as.sh --telnet-port anotherPort

或者,你可以让Arthas自动选择一个可用的随机端口:

./as.sh --telnet-port 0

这样会在启动时自动分配一个未使用的端口,并在日志文件中记录下来。

步骤4:验证Arthas服务状态#

确保Arthas Agent已经成功启动并且相关服务(包括telnet服务)正在运行。可以通过检查Arthas的日志文件(如~/logs/arthas/arthas.log)来获取更多信息。

解释#

以上步骤旨在帮助诊断和解决无法连接到Arthas Telnet服务器的问题。通过检查端口占用、确认配置正确性、动态调整或使用随机端口,以及验证服务状态,我们能够定位并尝试修复连接失败的问题。如果问题依旧存在,可能需要进一步检查Arthas的日志输出以获取更详细的错误信息。

---------------

参考链接 :#

*# Arthas Tunnel

*专家经验:arthas 你好

*# Arthas Properties

---------------

答疑服务说明:#

本内容经由技术专家审阅的用户问答的镜像生成,我们提供了专家智能答疑服务,在页面的右下的浮窗”专家答疑“。您也可以访问 : 全局专家答疑 。 咨询其他产品的的问题

反馈#

如问答有错漏,欢迎点:差评给我们反馈。