當用戶端使用SDK無法收發訊息或無法串連執行個體時,您可以使用Kafka的自檢工具對執行個體的健康狀態進行自檢,檢查網路是否連通、執行個體狀態是否異常。若執行個體無異常,請檢查網路是否連通、執行個體狀態是否異常、用戶端代碼配置是否正確以排除您的用戶端代碼存在問題。
前提條件
-
下載自檢工具kafka-checker.zip並解壓。
-
建立Topic與Group用於測試訊息發送與消費。
網路連接測試
-
擷取存取點。
-
在概览頁面的资源分布地區,選擇地區。
-
在实例列表頁面,單擊目標執行個體名稱。
-
在实例详情頁面的接入点信息地區,擷取執行個體的存取點。
該地區展示三種存取點類型:預設存取點(VPC 網路,PLAINTEXT 協議)、SSL存取點(公網,SASL_SSL 協議)和 SASL存取點(VPC 網路,SASL_PLAINTEXT 協議)。根據實際網路環境複製對應的網域名稱存取點地址。
說明不同存取點的差異,請參見存取點對比。
-
測試存取點能否telnet通(以Linux作業系統為例)。
-
登入Linux系統,進入自檢工具KafkaChecker.jar所在路徑。
cd /usr/opt/kafka-checker請將
/usr/opt/kafka-checker替換為本地路徑。 -
執行以下命令,測試是否可以串連雲訊息佇列 Kafka 版。
java -jar KafkaChecker.jar telnet -s 存取點例如:用戶端通過Virtual Private Cloud預設存取點接入雲訊息佇列 Kafka 版,則執行
java -jar KafkaChecker.jar telnet -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9092,alikafka-pre-cn-zv**********-2-vpc.alikafka.aliyuncs.com:9092,alikafka-pre-cn-zv**********-3-vpc.alikafka.aliyuncs.com:9092。說明使用Virtual Private Cloud連接點接入時,您的裝置需要與執行個體處於同一VPC下。
提示如下類似資訊,說明網路連接正常。
telnet xxx 9092 success telnet xxx 9092 success telnet xxx 9092 success如果提示如下類似資訊,說明未配置訪問雲訊息佇列 Kafka 版的白名單,具體操作,請參見配置白名單。
telnet xxx 9092 failure, please add ip to white list in Alikafka console telnet xxx 9092 failure, please add ip to white list in Alikafka console telnet xxx 9092 failure, please add ip to white list in Alikafka console
-
發送訊息測試
發送訊息將會產生真實的測試資料,請您建立Topic專門用於自檢測試,避免影響正常業務資料。
根據網路接入方式選擇對應的命令,發送訊息。
-
通過Virtual Private Cloud預設存取點9092連接埠接入:
java -jar KafkaChecker.jar send -s 存取點網域名稱:9092 --topic Topic名稱樣本:
java -jar KafkaChecker.jar send -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9092 --topic test -
通過公網SSL存取點9093連接埠接入,SASL支援PLAIN機制或SCRAM-SHA-256機制校正身份,請您根據實際使用的身份校正機制執行對應的發送訊息命令:
說明-
公網環境,執行個體的預設SASL使用者使用PLAIN機制進行身份校正。
-
建立SASL使用者可進行更細緻的許可權控制,您可以配置身份校正機製為PLAIN或SCRAM-SHA-256。具體操作,請參見SASL使用者授權。請您根據實際使用的身份校正機制執行對應的發送訊息命令。
PLAIN機制
java -jar KafkaChecker.jar send -sm PLAIN -ss true -u username -psw password -s 存取點網域名稱:9093 --topic Topic名稱樣本:
java -jar KafkaChecker.jar send -sm PLAIN -ss true -u test -psw test**** -s alikafka-pre-cn-zv**********-1.alikafka.aliyuncs.com:9093 --topic testSCRAM-SHA-256機制
java -jar KafkaChecker.jar send -sm SCRAM-SHA-256 -ss true -u username -psw password -s 存取點網域名稱:9093 --topic Topic名稱樣本:
java -jar KafkaChecker.jar send -sm SCRAM-SHA-256 -ss true -u test -psw test**** -s alikafka-pre-cn-zv**********-1.alikafka.aliyuncs.com:9093 --topic test -
-
通過Virtual Private Cloud SASL存取點9094連接埠接入,SASL支援PLAIN機制或SCRAM-SHA-256機制校正身份,請您根據實際使用的身份校正機制執行對應的發送訊息命令:
PLAIN機制
java -jar KafkaChecker.jar send -sm PLAIN -sp true -u username -psw password -s 存取點網域名稱:9094 --topic Topic名稱樣本:
java -jar KafkaChecker.jar send -sm PLAIN -sp true -u test -psw test**** -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9094 --topic testSCRAM-SHA-256機制
java -jar KafkaChecker.jar send -sm SCRAM-SHA-256 -sp true -u username -psw password -s 存取點網域名稱:9094 --topic Topic名稱樣本:
java -jar KafkaChecker.jar send -sm SCRAM-SHA-256 -sp true -u test -psw test**** -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9094 --topic test
提示如下類似資訊,說明訊息發送成功。發送成功後,輸出樣本如下:
[2021-08-27 11:29:18.838]Produce ok number:0 p:2 offset:21 response:test-2@21 cost:1342 ms
[2021-08-27 11:29:19.252]Produce ok number:1 p:2 offset:22 response:test-2@22 cost:410 ms
[2021-08-27 11:29:19.254]Produce ok number:1 p:6 offset:9 response:test-6@9 cost:412 ms
[2021-08-27 11:29:19.301]Produce ok number:2 p:5 offset:25 response:test-5@25 cost:47 ms
[2021-08-27 11:29:19.302]Produce ok number:2 p:4 offset:20 response:test-4@20 cost:48 ms
[2021-08-27 11:29:19.347]Produce ok number:3 p:1 offset:19 response:test-1@19 cost:45 ms
[2021-08-27 11:29:19.348]Produce ok number:3 p:8 offset:17 response:test-8@17 cost:46 ms
消費訊息測試
根據網路接入方式選擇對應的命令,消費訊息。
-
通過Virtual Private Cloud預設存取點9092連接埠接入:
java -jar KafkaChecker.jar pull -s 存取點網域名稱:9092 --topic Topic名稱 --group Group名稱 --partition 0 --offset 0 --count 10樣本:
java -jar KafkaChecker.jar pull -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9092 --topic test --group test --partition 0 --offset 0 --count 10 -
通過公網SSL存取點9093連接埠接入,SASL支援PLAIN機制或SCRAM-SHA-256機制校正身份,請您根據實際使用的身份校正機制執行對應的消費訊息命令:
說明-
公網環境,執行個體的預設SASL使用者使用PLAIN機制進行身份校正。
-
建立SASL使用者可進行更細緻的許可權控制,您可以配置身份校正機製為PLAIN或SCRAM-SHA-256。具體操作,請參見SASL使用者授權。請您根據實際使用的身份校正機制執行對應的消費訊息命令。
PLAIN機制
java -jar KafkaChecker.jar pull -sm PLAIN -ss true -u username -psw password -s 存取點網域名稱:9093 --topic Topic名稱 --group Group名稱 --partition 0 --offset 0 --count 10樣本:
java -jar KafkaChecker.jar pull -sm PLAIN -ss true -u test -psw test**** -s alikafka-pre-cn-zv**********-1.alikafka.aliyuncs.com:9093 --topic test --group test --partition 0 --offset 0 --count 10SCRAM-SHA-256機制
java -jar KafkaChecker.jar pull -sm SCRAM-SHA-256 -ss true -u username -psw password -s 存取點網域名稱:9093 --topic Topic名稱 --group Group名稱 --partition 0 --offset 0 --count 10樣本:
java -jar KafkaChecker.jar pull -sm SCRAM-SHA-256 -ss true -u test -psw test**** -s alikafka-pre-cn-zv**********-1.alikafka.aliyuncs.com:9093 --topic test --group test --partition 0 --offset 0 --count 10 -
-
通過Virtual Private Cloud SASL存取點9094連接埠接入,SASL支援PLAIN機制或SCRAM-SHA-256機制校正身份,請您根據實際使用的身份校正機制執行對應的消費訊息命令:
PLAIN機制
java -jar KafkaChecker.jar pull -sm PLAIN -sp true -u username -psw password -s 存取點網域名稱:9094 --topic Topic名稱 --group Group名稱 --partition 0 --offset 0 --count 10樣本:
java -jar KafkaChecker.jar pull -sm PLAIN -sp true -u test -psw test**** -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9094 --topic test --group test --partition 0 --offset 0 --count 10SCRAM-SHA-256機制
java -jar KafkaChecker.jar pull -sm SCRAM-SHA-256 -sp true -u username -psw password -s 存取點網域名稱:9094 --topic Topic名稱 --group Group名稱 --partition 0 --offset 0 --count 10樣本:
java -jar KafkaChecker.jar pull -sm SCRAM-SHA-256 -sp true -u test -psw test**** -s alikafka-pre-cn-zv**********-1-vpc.alikafka.aliyuncs.com:9094 --topic test --group test --partition 0 --offset 0 --count 10
提示如下類似資訊,說明消費成功。
[2021-08-27 11:32:37.917]Pull Succ topic:test partition:0 offset:0 key:demo value: time:2021-08-10 15:08:10.629 cha:1455867288
[2021-08-27 11:32:37.918]Pull Succ topic:test partition:0 offset:1 key:demo value: time:2021-08-10 15:16:08.386 cha:1455389532
[2021-08-27 11:32:37.918]Pull Succ topic:test partition:0 offset:2 key:demo value: time:2021-08-10 15:16:50.374 cha:1455347544
[2021-08-27 11:32:37.918]Pull Succ topic:test partition:0 offset:3 key:null value: time:2021-08-18 21:08:23.532 cha:743054386
[2021-08-27 11:32:37.918]Pull Succ topic:test partition:0 offset:4 key:null value: time:2021-08-18 21:08:23.778 cha:743054140
[2021-08-27 11:32:37.918]Pull Succ topic:test partition:0 offset:5 key:null value: time:2021-08-18 21:08:23.892 cha:743054026
[2021-08-27 11:32:37.918]Pull Succ topic:test partition:0 offset:6 key:null value: time:2021-08-18 21:08:24.352 cha:743053566
[2021-08-27 11:32:37.919]Pull Succ topic:test partition:0 offset:7 key:null value: time:2021-08-18 21:08:24.452 cha:743053467
相關文檔
相關的SDK程式碼封裝,請參見SDK概述。