當用戶端使用SDK無法收發訊息或無法串連執行個體時,您可以使用Kafka的自檢工具對執行個體的健康狀態進行自檢,檢查網路是否連通、執行個體狀態是否異常。若執行個體無異常,請檢查網路是否連通、執行個體狀態是否異常、用戶端代碼配置是否正確以排除您的用戶端代碼存在問題。
前提條件
下載自檢工具kafka-checker.zip並解壓。
建立Topic與Group用於測試訊息發送與消費。
網路連接測試
擷取存取點。
在概览頁面的资源分布地區,選擇地區。
在实例列表頁面,單擊目標執行個體名稱。
在实例详情頁面的接入点信息地區,擷取執行個體的存取點。
說明不同存取點的差異,請參見存取點對比。
測試存取點能否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下。
提示如下類似資訊,說明網路連接正常。
如果提示下圖所示資訊,說明未配置訪問雲訊息佇列 Kafka 版的白名單,具體操作,請參見配置白名單。
發送訊息測試
發送訊息將會產生真實的測試資料,請您建立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 test
SCRAM-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 test
SCRAM-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
提示如下類似資訊,說明訊息發送成功。
消費訊息測試
根據網路接入方式選擇對應的命令,消費訊息。
通過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 10
SCRAM-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 10
SCRAM-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
提示如下類似資訊,說明消費成功。
相關文檔
相關的SDK程式碼封裝,請參見SDK概述。