版本选择

kafka_2.12-0.11.0.3
版本号说明:kafka使用Scala开发的,前面的2.12是Scala的版本号,后面的才是kafka的版本号。
0.11的版本,已经是kafka比较完善的一个版本了,后面新版都是对streaming的各种增强。如果仅用作消息队列,那么用0.11版本即可。

下载地址

https://archive.apache.org/di...

部署细节

下载、上传、解压缩等过程省略。
主要的配置文件就是:/config/server.properties
关键配置:

#broker id必须全局唯一
broker.id=0
#log的位置就是实际数据存储的位置
log.dirs=/usr/local/kafka_2.12-0.11.0.3/data
#开启删除topic的功能
delete.topic.enable=true
#zookeeper集群配置
zookeeper.connect=192.168.1.73:2181,192.168.1.52:2181,192.168.1.102:2181

常用命令

启动:./kafka-server-start.sh -daemon ../config/server.properties
停止:./kafka-server-stop.sh stop

2021-08-29(注)

经实测,本机安装的openjdk11,kafka0.11版本不支持。
本人更换为jdk1.8后恢复正常。
大家也可以选择更新的kafka版本来使用,就不需要更换jdk了。

2021-09-13(注)

java客户端要连接kafka,还需要额外修改两个配置,添加本地内外网ip的监听,才能让客户端正常连接kafka。

# The address the socket server listens on. It will get the value returned from 
# java.net.InetAddress.getCanonicalHostName() if not configured.
#   FORMAT:
#     listeners = listener_name://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://本机内网ip:9092

# Hostname and port the broker will advertise to producers and consumers. If not set, 
# it uses the value for "listeners" if configured.  Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
advertised.listeners=PLAINTEXT://本机外网ip(如果有):9092

馒头
8 声望0 粉丝

java工程师