前言

今天在安装 arthas 的时候,启动jar包时,抛了如下异常:

      Connect to telnet server error: 127.0.0.1 3658
     java.net.ConnectException: Connection refused
     at java.net.PlainSocketImpl.socketConnect(Native Method)
     at             java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.apache.commons.net.SocketClient.connect(SocketClient.java:188)
        at org.apache.commons.net.SocketClient.connect(SocketClient.java:209)
        at com.taobao.arthas.client.TelnetConsole.process(TelnetConsole.java:309)
        at com.taobao.arthas.client.TelnetConsole.main(TelnetConsole.java:166)
Usage: arthas-client [--help] [-c <value>] [-f <value>] [-t <value>] [-w
       <value>] [-h <value>] [target-ip] [port]

Arthas Telnet Client

EXAMPLES:
  java -jar arthas-client.jar 127.0.0.1 3658
  java -jar arthas-client.jar -c 'dashboard -n 1'
  java -jar arthas-client.jar -f batch.as 127.0.0.1

处理思路

  1. 下面我们来排查一下问题,我们先看一下防火墙的状态,如果是开启的话,需要关闭一下防火墙

    # 查看防火墙状态
    systemctl status firewalld 
    
  2. 输入检测telnet和telnet-server的rpm包是否安装 ,如果没有返回任何结果信息,则表示没有安装

    rpm -qa telnet
    rpm -qa telnet-server
    

    提示:出于安全考虑telnet-server.rpm是默认没有安装的,而telnet的客户端是标配。

  3. 如果未安装,则输入如下命令安装telnet和telnet-server

    # telnet服务器
    yum install telnet
    # telnet客户端
    yum install telnet-server 
    # xinetd守护进程
    yum install xinetd
    
  4. 安装完成用rpm -qa telnet 进行查看结果

    rpm -qa telnet 
    返回:
    telnet-0.17-47.el6_3.1.x86_64
    
  5. 上方都安装成功之后,则由于telnet服务是由xinetd守护的,所以我们需要重新启动xinetd

      service xinetd restart
    

报错Redirecting to /bin/systemctl restart xinetd.service

如果启动xinetd失败,则继续往下看,如果是成功的,可以跳过这里。

  1. 首先,检查服务器已安装的tftp-server,如果存在已安装的tftp这里会列出来

    rpm -qa | grep tftp-server
    
  2. 安装tftp-server 和 xinetd

    yum -y install tftp-server
    yum -y install xinetd
    
  3. 修改tftp配置文件,vi /etc/xinetd.d/tftp 打开配置文件

     service tftp
            {
                socket_type        = dgram
                protocol        = udp
                wait            = yes
                user            = root
                server        = /usr/sbin/in.tftpd
                server_args        = -s /var/lib/tftpboot
                disable        = no //需要修改的地方,初始时刻为yes
                per_source        = 11
                cps            = 100 2
                flags            = IPv4
            }
    
  4. 重起服务,使用如下命令进行服务的重新启动

    /bin/systemctl restart xinetd.service
    
     $/bin/systemctl enable xinetd.service //开启服务
     $/bin/systemctl start xinetd.service  //启动服务
     查看服务启动状况
     $ps aux | grep xinetd 或者 $ps -ef|grep xinetd 或者 ps -a | grep tftp
    
    

查看xinetd启动状态

xinetd启动成功,可以查看xinetd的运行情况,查看23端口是否存在,存在即成功

 netstat -tnlp 

可以看到启动成功了~

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐