赞
踩
我们在启动 Kafka 集群服务时,通过 jps 命令查不到 kafka 服务进程。或者在 Kafka 集群中创建 topic 时,报错replication factor: 1 larger than available brokers: 0
。都是由于 Kafka 服务无法启动或者启动后自动关闭导致的。
-daemon
config/server.propertiesmyid
的配置千万不能一样。server.properties
。第一个配置参数,每个 Kafka 节点的broker.id
不能相同。第二个配置参数,通过 ZooKeeper 连接 Kafka 集群需要在localhost:port
后面加上/kafka
,并且在创建 topic 时也需要加上:kafka-topics.sh --create --topic sgapp122_log --zookeeper master01:2181/kafka --partitions 3 --replication-factor 2
[root@master01 ~]# cd /opt/software/spark/kafka241/config
[root@master01 config]# vi server.properties
/kafka/brokers/ids
里的临时节点删掉,但如果是 ZooKeeper 先退出就不会删除。当下次启动时,Kafka 再用 id 去注册,发现已经存在了,所以会导致启动失败。consumer
的位移信息保存在 Kafka 内部的topic
中,即__consumer_offsets topic
,并且默认提供了kafka_consumer_groups.sh
脚本供用户查看consumer
的信息。__consumer_offsets
作为 Kafka 的内部 topic,用来保存消费组元数据以及对应提交的offset
信息。每次消费者消费完一批数据需要标记这批数据被消费掉时,需要将消费的偏移量即offset
提交掉,这个提交过程其实就是将offset
信息写入__consumer_offsets
的过程。__consumer_offsets
。首先在offsets.topic.replication.factor
配置的值(副本因子,默认值为1)和当前可用的 brokers 个数中取最小值作为__consumer_offsets
的副本数,offsets.topic.num.partitions
作为分区数(默认值为50),然后创建__consumer_offsets
。consumer
和consumer group
,如果这些consumer
同时拉去数据并提交offset
,必将加重__consumer_offsets
的写入负载,因此 Kafka 默认为该topic
创建了50
个分区,并且对每个group.id
做哈希求模运算Math.abs(groupID.hashCode()) % numPartitions
,从而将负载分散到不同的__consumer_offsets
分区上。__consumer_offsets
的每条消息可以看成是K/V格式的消息,其中 key 就是一个三元组:group.id+topic+partition
,而 value 就是offset
的值。myid
文件的文件夹mydata
,这个是自己创建的,可能名字会不同。进入mydata
之后,删除文件夹version-2
。可以把所有节点的都删除,下次启动时会自动创建。[root@master01 ~]# cd /opt/software/hadoop/zookeeper357/mydata
[root@master01 mydata]# ls
myid version-2
[root@master01 mydata]# rm -rf version-2
kfklogs
,对应的是配置文件server.properties
里的log.dirs=/opt/software/spark/kafka241/kfklogs
,这个也是自己创建的,名字可能会不同。将所有节点的日志文件夹kfklogs
删除重新创建。[root@master01 ~]# cd /opt/software/spark/kafka241/
[root@master01 kafka241]# ls
bin config kfklogs libs LICENSE logs NOTICE site-docs
[root@master01 kafka241]# rm -rf kfklogs
[root@master01 kafka241]# mkdir kfklogs
[root@master01 ~]# zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[kafka,zookeeper]
[zk: localhost:2181(CONNECTED) 1] deleteall /kafka
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。