1解压
2,编辑配置文件server.properties
集群里的其他机器的id不能有重复的
配置zookeeper
3,分发 改id
4,启动zookeeper
5 所有机器都要 启动kafka
kafka-server-start.sh ./server.properties 1>/dev/null 2>&1 &
后台启动
6,
7 测试 :创建话题
kafka-topics.sh --create --zookeeper zk1:2181 --replication-factor 3 --partitions 1 --topic football
启动一个生产者
kafka-console-producer.sh --broker-list zk1:9092 --topic football
启动消费者
kafka-console-consumer.sh --zookeeper zk1:2181 --from-beginning --topic football
附
配置文件
# 节点的ID,必须与其它节点不同
broker.id=0
port=9092
# 选择启用删除主题功能,默认false
#delete.topic.enable=true
# 接受网络请求的线程数
# 进行磁盘IO的线程数
num.io.threads=8
# 套接字服务器使用的发送缓冲区大小
socket.send.buffer.bytes=102400
# 单个请求最大能接收的数据量
# 每个主题的日志分区的默认数量。更多的分区允许更大的并行操作,但是它会导致节点产生更多的文件
num.partitions=1
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
# 套接字服务器使用的接收缓冲区大小
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
# 一个逗号分隔的目录列表,用来存储日志文件
log.dirs=/export/servers/kafka/logs
num.partitions=1
# 每个数据目录中的线程数,用于在启动时日志恢复,并在关闭时刷新。
num.recovery.threads.per.data.dir=1
# 在强制刷新数据到磁盘之前允许接收消息的数量
#log.flush.interval.messages=10000
#log.flush.interval.messages=10000
# 在强制刷新之前,消息可以在日志中停留的最长时间
#log.flush.interval.ms=1000
# 一个日志的最小存活时间,可以被删除
log.retention.hours=168
# 一个基于大小的日志保留策略。段将被从日志中删除只要剩下的部分段不低于log.retention.bytes。
#log.retention.bytes=1073741824
# 每一个日志段大小的最大值。当到达这个大小时,会生成一个新的片段。
log.segment.bytes=1073741824
# 检查日志段的时间间隔,看是否可以根据保留策略删除它们
log.retention.check.interval.ms=300000
# 您还可以将一个可选的chroot字符串附加到url,以指定所有kafka znode的根目录。
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
# 连接到Zookeeper的超时时间
zookeeper.connection.timeout.ms=6000
Kafka常用操作命令
-
查看当前服务器中的所有topic
bin/kafka-topics.sh --list --zookeeper zk01:2181
-
创建topic
./kafka-topics.sh --create --zookeeper mini1:2181 --replication-factor 1 --partitions 3 --topic first
-
删除topic
sh bin/kafka-topics.sh --delete --zookeeper zk01:2181 --topic test
需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。
-
通过shell命令发送消息
kafka-console-producer.sh --broker-list kafka01:9092 --topic itheima
-
通过shell消费消息
sh bin/kafka-console-consumer.sh --zookeeper zk01:2181 --from-beginning --topic test1
-
查看消费位置
sh kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper zk01:2181 --group testGroup
-
查看某个Topic的详情
sh kafka-topics.sh --topic test --describe --zookeeper zk01:2181