项目场景:

安装好kafka之后, 准备建立一个topic出现Replication factor: 1 larger than available brokers: 0.


问题描述:

在安装好kafka之后, 准备建立一个topic:

#执行
./bin/kafka-topics --create --zookeeper 10.227.0.97:2181 --replication-factor 1 --partitions 3 --topic imooc-kafka-topic
#问题
Error while executing topic command : Replication factor: 1 larger than available brokers: 0.
21/02/03 12:29:42 ERROR admin.TopicCommand$: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 1 larger than available brokers: 0.

测试方案:

1.检查 Zookeeper 是否正常启动:测试没问题

#1、远程任意一台服务器。
#2、进入CDH中Zookeeper安装目录
cd /opt/cloudera/parcels/CDH-6.0.0/lib/zookeeper
#3、进入Zookeeper脚本目录
cd bin
#4、启动Zookeeper客户端
./zkCli.sh

在这里插入图片描述

#5、尝试zookeeper命令
help
ls
创建节点命令:create /201908 hellWord
获取节点信息命令:get /201908

在这里插入图片描述

[zk: localhost:2181(CONNECTED) 1] ls /
[cluster, kakfa, brokers, zookeeper, admin, isr_change_notification, log_dir_event_notification, kafka, hive_zookeeper_namespace_hive, consumers, latest_producer_id_block, config]
[zk: localhost:2181(CONNECTED) 2] create /201908 hellWord
Created /201908
[zk: localhost:2181(CONNECTED) 3] get /201908
hellWord
cZxid = 0x50000a0b0
ctime = Wed Feb 03 14:49:10 CST 2021
mZxid = 0x50000a0b0
mtime = Wed Feb 03 14:49:10 CST 2021
pZxid = 0x50000a0b0
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0

2.检查kafka配置文檔 :测试后始终没解决

查看kafka的配置文件,在配置文件中,有1、producer.properties:生产端的配置文件;2、consumer.properties:消费端的配置文件;3、server.properties:服务端的配置文件。其中最为重要的应该属于服务端的配置文件。我们打开server.properties。

#1、进入CDH中kafka安装目录中找kafka常规配置文件
cd /opt/cloudera/parcels/CDH-6.0.0/etc/kafka/conf.dist
#2、开启kafka配置文件
vim server.properties

server.properties文件中zookeeper.connect设定为localhost:2181 ,把localhost改为ip 。

#zookeeper.connect = localhost:2181
zookeeper.connect = 123.123.123.123:2181
#必须配置项:::zookeeper集群的地址,可以是多个,多个之间用逗号分割,一般端口都为2181;hostname1:port1,hostname2:port2,hostname3:port3 

3.修改执行kafka topic指令 :测试后成功

一筹莫展时,想起安装时在CM中修改一个ZooKeeper Root 设定的参数。
在这里插入图片描述
于是乎,我修改了提交命令。

[root@03 CDH-6.0.0-1]# ./bin/kafka-topics --create --zookeeper 10.227.0.97:2181/kafka --replication-factor 1 --partitions 1 --topic test2
#建立topic,可以在众多指令中看到下面讯息
Created topic "test2".
[root@03 CDH-6.0.0-1]# ./bin/kafka-topics --zookeeper 10.227.0.97:2181/kafka --list
#就秀出之前建立好的topic,可以在众多指令中看到下面讯息
imooc-kafka-topic
test
test2
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐