檢查連接埠的連通性是排查Tair (Redis OSS-compatible)串連問題的重要步驟之一。
背景資訊
如果無法串連Tair (Redis OSS-compatible),但使用ping命令檢測ECS與Redis之間的串連成功,您需要進一步使用telnet命令檢測服務連接埠是否可用。
前提條件
ECS系統中已經安裝了Telnet(Linux)或開啟了Telnet用戶端(Windows)。
操作步驟
-
登入ECS系統並在命令列中使用如下命令。
telnet <host> 6379說明-
命令中的
<host>為第1步查詢到的串連地址。 -
6379為Tair (Redis OSS-compatible)執行個體的預設連接埠號碼。
-
Windows系統和Linux系統中都可以使用該命令。
-
-
查看測試結果。請參考以下Linux系統與Windows系統結果樣本。
-
telnet串連成功顯示介面:
圖 3. Linux系統telnet成功樣本
[root@xxx ]# telnet xxx.redis.rds.aliyuncs.com 6379 Trying 172.16.172.224... Connected to xxx.redis.rds.aliyuncs.com. Escape character is '^]'.圖 4. Window系統telnet成功樣本Windows系統telnet串連成功後,終端顯示為黑色空白螢幕,左上方有游標閃爍,無任何錯誤資訊輸出,表明已成功串連至Redis執行個體(
xxx.redis.rds.aliyuncs.com)。 -
telnet串連失敗顯示介面:
圖 5. Linux系統telnet失敗樣本
[root@xxx ]# telnet xxx.redis.rds.aliyuncs.com 6379 Trying xxx... telnet: connect to address xxx 5: Connection timed out [root@xxx ]#圖 6. Windows系統telnet失敗樣本
C:\Users\Administrator>telnet xxx.redis.rds.aliyuncs.com 6379 Connecting To xxx.redis.rds.aliyuncs.com...Could not open connection to the host, on port 6379: Connect failed
-
結果分析
-
如果執行個體串連存在問題,但可以在ECS上使用telnet串連到執行個體,則ECS本身與執行個體之間的串連無異常,請排查其它因素,例如用戶端、業務代碼,以及業務環境導致的服務阻塞等問題。您可以參見Tair串連問題排查流程以獲得更多協助資訊。
-
如果telnet串連失敗,但使用ping命令檢測ECS與Redis之間的串連成功,可能是由於ECS存在異常行為(例如受惡意程式影響而攻擊6379等連接埠)而被系統禁止了部分服務,此時建議您監控ECS的資料找到異常流量並加以處理,或者提交工單讓阿里雲工程師協助解決。
-
如果telnet失敗並提示
Name or service not known,則可能是串連地址錯誤或者DNS解析出現異常,請確保串連地址正確無誤後參見此文檔嘗試解決該類問題。 -
如果telnet失敗並且使用ping命令檢測ECS與執行個體之間的串連也失敗,請參見Tair串連問題排查流程。