0
点赞
收藏
分享

微信扫一扫

【kafka】Error connecting to the cluster,Failed to create new KafkaAdminClient(已更新)


1.通过系列文章将实战组件技术经验串起来,深入、重构技术栈知识体系。
2.熟悉、梳理、总结下kafka相关知识体系。
3.欢迎批评指正,跪谢一键三连!

  • 【kettle009】kettle访问Kafka中间件并处理数据至execl文件(已更新)
  • 【kettle009】kettle访问Kafka中间件并处理数据至execl文件(已更新)

文章目录

  • 1.问题详情
  • 2.问题解决办法
  • 3.测试效果详情
  • 4.实验参考命令
  • 5.参考文章


1.问题详情

  • 容器运行命令参考

# 实验虚拟机ip地址: 192.168.10.184
ifconfig

# 如下命令替换个人实验时的IP地址
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.10.184:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.184:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka

# --name kafka: 设置容器的名字为kafka
# -p 9092:9092: 将容器的9092端口映射到宿主机的9092端口。
# --e KAFKA_ZOOKEEPER_CONNECT=192.168.10.184:2181/kafka: 指定ZooKeeper的连接字符串。
# --e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.184:9092: 指定Kafka的advertised listeners。
# --e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092: 指定Kafka的listeners。
# --e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1: 指定offsets topic的副本参数

docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper

  • 容器建立过程参考文章: 【kettle009】kettle访问Kafka中间件并处理数据至execl文件(最近完善中)
  • Linux虚拟机中运行建立了kafka容器、zookeeper容器,通过Offset Explorer Version 3.0连接报异常,异常详情如下图所示:

2.问题解决办法

  • Bootstrap servers参数设置问题: 192.168.10.184:9092,增加端口号解决问题
  • Properties Tab页参数设置如下图所示:
  • Security Tab页参数设置如下图所示,其他Tab参数设置默认

3.测试效果详情

【kafka】Error connecting to the cluster,Failed to create new KafkaAdminClient(已更新)_kafka

4.实验参考命令

# 一、拉取kafka、zookeeper镜像
	# 镜像准备
	docker pull wurstmeister/zookeeper
	docker pull wurstmeister/kafka

# 二、创建kafka、zookeeper容器
	# 虚拟机ip地址: 192.168.10.184
	ifconfig
	# 如下命令替换个人实验时的IP地址
	docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.10.184:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.184:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
	# --name kafka: 设置容器的名字为kafka
	# -p 9092:9092: 将容器的9092端口映射到宿主机的9092端口。
	# --e KAFKA_ZOOKEEPER_CONNECT=192.168.10.184:2181/kafka: 指定ZooKeeper的连接字符串。
	# --e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.10.184:9092: 指定Kafka的advertised listeners。
	# --e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092: 指定Kafka的listeners。
	# --e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1: 指定offsets topic的副本参数
	
	docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper

# 三、查看运行详情及进入容器操作
	# 查看容器状态
	docker ps -a
	# 查看容器日志
	docker logs kafka
	# 启动容器或重启容器
	docker start kafka	/ docker restart kafka

# 四、开放2181、2888、3888、9092端口关闭防火墙
	#查看防火墙状态
	systemctl status firewalld
	firewall-cmd --zone=public --add-port=2181/tcp --permanent
	firewall-cmd --zone=public --add-port=2888/tcp --permanent
	firewall-cmd --zone=public --add-port=3888/tcp --permanent
	firewall-cmd --zone=public --add-port=9092/tcp --permanent
	firewall-cmd --reload
	firewall-cmd --list-all
	# 关闭防火墙
	systemctl stop firewalld
# 五、创建测试Topic,并发送测试数据
	# 进入Kafka容器
	docker exec -it kafka /bin/bash
	# 创建topic生产者
	kafka-console-producer.sh --broker-list 192.168.10.184:9092 --topic youli
	# 创建topic消费者
	kafka-console-consumer.sh --bootstrap-server 192.168.10.184:9092 --topic youli --from-beginning
	
	# topic测试数据
	{"datas":[{"channel":"youli","metric":"temperature","producer":"youli","sn":"00002245","time":"1543207156000","value":"80"}],"ver":"1.0"}

5.参考文章

  • JSON input,kettle转换任务配置中,kafka topic json字段解析第2种有效,亲测。



举报

相关推荐

0 条评论