一、环境搭建
a) Kafka依赖于zookeeper,所以需要先启动zookeeper
cd $ZOOKEEPER_HOME/bin
zkServer.sh start
zkServer.sh status
如果出现问题:先检查防火墙状态,再检myid文件配置是否错误
b) Kafka压缩包解压
Tar -zxvf kafaka压缩包 -C /usr/kafka
c) Kafka环境变量添加
#KAFKA-------------------------------------------------------------------
export KAFKA_HOME=/usr/kafka/kafka_2.13-2.8.2
export PATH=$PATH:$KAFKA_HOME/bin
d) Kafka配置文件修改,只需要修改server.properties文件
Cd $KAFKA_HOME/config #配置文件都存在于config目录下
vi config/server.propertie
#每个节点拥有唯一的 ID
broker.id=1
# 日志文件,数据文件目录,无需自行创建
log.dirs=/usr/kafka/kafka_2.12-3.0.0/logs
# zookeeper 集群,逗号分隔
zookeeper.connect=node01:2181,node02:2181,node03:2181
运行Kafka,运行相应的脚本文件bin目录下
kafka-server-start.sh /usr/kafka/kafka_2.12-3.0.0/config/server.properties & # &表示后台运行
错误一:
但命令执行后显示没有找到配置文件,这里需要查看server.properties文件是否配置参数错误

查看文件后发现是节点id配置错误,因为master是1,node1是2,node2是3
处理方法:将id改为1

错误二:
再次启动后还是报错,查看错误信息发现是配置文件server.properties中的id与logs中的meta.properties文件中的id一致。应该是第一次启动时id错误导致日志文件的错误
处理方法:将meta.properties中的id改为正确id

从以上两处错误可以发现,id的设置对Kafka集群的运行非常重要。
Kafka集群正常启动:

Jps #查看是否有Kafka对应进程
二、kafka集群测试
a)创建一个主题进行测试,仍然是运行脚本
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server master:9092 --partitions 33 --replication-factor 2
bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server master:9092 #查看主题是否创建成功

b) 测试消息
#运行在node1节点上 node1节点是生产者
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server node1:9092 #启动生产者
##运行在除node1以外的其他节点上 其他节点是消费者
bin/kafka-console-consumer.sh --topic test-topic \
--bootstrap-server node1:9092 \
--from-beginning # 从头开始消费(接收)所有消息
node1生产者

master消费者

node2消费者

以上便kafka配置的过程和错误总结
优雅的停止消费者和生产的运行使用:ctrl+C
ctrl+c之后显示的是清理信息

130

被折叠的 条评论
为什么被折叠?



