天天看點

解決 Connect to telnet server error: 127.0.0.1 3658 java.net.ConnectException: Connection refused問題

前言

今天在安裝 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 
           

可以看到啟動成功了~

解決 Connect to telnet server error: 127.0.0.1 3658 java.net.ConnectException: Connection refused問題

繼續閱讀