广东网站开发推荐厦门市建设工程造价网站首页
背景:因为因为公司的项目需要使用AWS的kafka,但是在创建和使用过程中都遇到了一些报错和麻烦,毕竟老外的东西,和阿里云、华为使用起来还是不一样。
 一、创建
(创建的配置过程就略了,就是配置一下可用区、型号)
 注意,使用过程中一定要打开:
 如果不打开公网访问和IAM的权限,就无法创建firehose
 firehose就类似一个kafka的消费者端配置,我这边的消费者是AWS的S3。
 二、如何用命令管理kafka:
 下载命令地址:https://kafka.apache.org/downloads
 解压之后进入目录:
 cd kafka_2.13-2.8.1/bin/,可以看到kafka相关的很多命令了:
[sconcept@ip-10-8-4-105 kafka]$ cd kafka_2.13-2.8.1/bin/
[sconcept@ip-10-8-4-105 bin]$ ls
client.properties             kafka-console-consumer.sh    kafka-leader-election.sh             kafka-run-class.sh                  trogdor.sh
connect-distributed.sh        kafka-console-producer.sh    kafka-log-dirs.sh                    kafka-server-start.sh               windows
connect-mirror-maker.sh       kafka-consumer-groups.sh     kafka-metadata-shell.sh              kafka-server-stop.sh                zookeeper-security-migration.sh
connect-standalone.sh         kafka-consumer-perf-test.sh  kafka-mirror-maker.sh                kafka-storage.sh                    zookeeper-server-start.sh
kafka-acls.sh                 kafka-delegation-tokens.sh   kafka-preferred-replica-election.sh  kafka-streams-application-reset.sh  zookeeper-server-stop.sh
kafka-broker-api-versions.sh  kafka-delete-records.sh      kafka-producer-perf-test.sh          kafka-topics.sh                     zookeeper-shell.sh
kafka-cluster.sh              kafka-dump-log.sh            kafka-reassign-partitions.sh         kafka-verifiable-consumer.sh
kafka-configs.sh              kafka-features.sh            kafka-replica-verification.sh        kafka-verifiable-producer.sh
 
举例,创建topic:
./kafka-topics.sh --create --zookeeper <你的kafka地址> 2 --partitions 1 --topic product 
kafka地址在:

 因为AWS的kafka是使用zookeeper的方式进行管理的,所以要招zookeeper的方式进行连接,地址一定要选纯文本的方式。
使用topic命令时候可能会出现报错,类似以下:
[2024-10-10 13:33:42,522] WARN Session 0x0 for server z-2.sconceptmqprd.y5xuv6.c1.kafka.me-central-1.amazonaws.com/<unresolved>:2181, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.nio.channels.UnresolvedAddressExceptionat java.base/sun.nio.ch.Net.checkAddress(Net.java:149)at java.base/sun.nio.ch.Net.checkAddress(Net.java:157)at java.base/sun.nio.ch.SocketChannelImpl.checkRemote(SocketChannelImpl.java:816)at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:839)at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277)at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287)at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021)at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064) 
AI解读之后,可能会说:1.网络不通 2.地址问题 3.配置问题,都是鬼扯。
其实就是kafka命令的版本问题,换了一个版本就解决了。
