当客户端使用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 接入点
例如:客户端通过专有网络VPC默认接入点接入云消息队列 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
。说明使用专有网络VPC连接点接入时,您的设备需要与实例处于同一VPC下。
提示如下类似信息,说明网络连接正常。
如果提示下图所示信息,说明未配置访问云消息队列 Kafka 版的白名单,具体操作,请参见配置白名单。
发送消息测试
发送消息将会产生真实的测试数据,请您创建Topic专门用于自检测试,避免影响正常业务数据。
根据网络接入方式选择对应的命令,发送消息。
通过专有网络VPC默认接入点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
通过专有网络VPC 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
提示如下类似信息,说明消息发送成功。
消费消息测试
根据网络接入方式选择对应的命令,消费消息。
通过专有网络VPC默认接入点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
通过专有网络VPC 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概述。