凝视深渊520 2023-10-15 18:21 采纳率: 14.3%
浏览 35

kafka集群命令行创建topic失败,如何解决?

项目需要使用kafka 集群,使用了sasl_plain认证机制,zk集群搭建成功,kafka集群也启动成功,在创建主题时报错
Error while executing topic command : Timed out waiting for a node assignment. Call: createTopics

######详细配置如下:zoo.cfg文件中添加
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
zookeeper.sasl.client=true
创建 zookeeper_jaas.conf文件 内容:

Server {
        org.apache.kafka.common.security.plain.PlainLoginModule required 
        user_zkClient="wjpay1!=1" ;
};
Client {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="zkClient"
        password="wjpay1!=1";
};

在zkEnv.sh文件中添加
export SERVER_JVMFLAGS=" -Djava.security.auth.login.config=/opt/zookeeper/apache-zookeeper-3.6.4/conf/zookeeper_jaas.conf "
三台服务器依次启动 ./zkServer.sh start
使用 ./zkServer.sh status 查看集群状态 1leader 2follower

修改kafka 的server.properties文件:

listeners=SASL_PLAINTEXT://192.168.51.233:9092 //对应服务器ip
advertised.listeners=SASL_PLAINTEXT://192.168.51.233:9092 //对应服务器ip
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=User:admin

创建了kafka_server_jaas.conf文件,内容

KafkaServer {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="admin"
        password="admin"
        user_admin="admin";
};
Client {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="zkClient"
        password="wjpay1!=1";
};

创建kafka_client_jaas.conf文件:内容


KafkaClient {  
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="admin"
        password="admin";  
};

创建 sasl_client.conf文件,内容


security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

修改 kafka-server-start.sh最后一行
exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Djava.security.auth.login.config=/opt/kafka/kafka_2.12-3.5.0/config/kafka_server_jaas.conf kafka.Kafka "$@"
修改kafka-topics.sh 最后一行
exec $(dirname $0)/kafka-run-class.sh -Djava.security.auth.login.config=/opt/kafka/kafka_2.12-3.5.0/config/kafka_client_jaas.conf kafka.admin.TopicCommand "$@"

三台服务器依次启动./kafka-server-start.sh -daemon ../config/server.properties
使用 ./zkCli.sh 连接其中一台zookeeper 服务
使用ls /brokers/ids 显示0,1,2 共3个kafka节点
证明kafka集群定成功了

./kafka-topics.sh --bootstrap-server 192.168.51.233:9092,192.168.51.247:9092,192.168.51.223:9092 --create --topic test --partitions 3 --replication-factor 3 --command-config ../config/sasl_client.conf 报 Error while executing topic command : Timed out waiting for a node assignment. Call: createTopics
尝试在本地windows环境启动单节点kafka服务,思路和上面一样,成功创建topic
折腾了很久,不知道问题出在哪儿?
  • 写回答

2条回答 默认 最新

  • 不要太暴躁499 2023-10-15 19:39
    关注

    查看sever,
    查看命令

    评论

报告相同问题?

问题事件

  • 创建了问题 10月15日

悬赏问题

  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用
  • ¥15 ios可以实现ymodem-1k协议 1024字节传输吗?
  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 uniapp实现如下图的图表功能