返回

Docker安装及配置kafkaDocker 安装zookeeper并实现挂载

发布时间:2023-11-12 18:09:56 396

一、下载镜像

# 如果已经安装了zookeeper,则不需要重新pull zookeeper镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

二、先启动zookeeper

​​Docker 安装zookeeper并实现挂载​​

#如果已经安装并启动了zookeeper,则跳过
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

三、启动kafka

docker run -d --restart=always --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=1 \
-e KAFKA_auto_create_topics_enable=true \
-e KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" \
-e KAFKA_ZOOKEEPER_CONNECT=公网ip:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://公网ip:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-t wurstmeister/kafka

说明:

//配置分组id
KAFKA_BROKER_ID=1

//开启自动创建主题(不然代码整合服务后启动报错,必须自己手动到服务上创建)
KAFKA_auto_create_topics_enable=true

//连接zookeeper
KAFKA_ZOOKEEPER_CONNECT=公网ip:2181

//默认内存1G自己服务器太小,调小一点不然启动报错内存溢出(此处也比较坑)
KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"

//配置外网ip访问kafka
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://公网ip:9092

四、创建一个topic(使用代码此步可省略)

#进入容器
docker exec -it ${CONTAINER ID} /bin/bash
cd /opt/kafka

#创建主题
bin/kafka-topics.sh --create --zookeeper 公网ip:2181 --replication-factor 1 --partitions 1 --topic mytopic

#查看主题列表:
bin/kafka-topics.sh --list --zookeeper 公网ip:2181 

#运行生产者发送消息
bin/kafka-console-producer.sh --broker-list 公网ip:9092 --topic mytopic

发送消息:
{"datas":[{"channel":"","metric":"temperature","producer":"ijinus","sn":"IJA0101-00002245","time":"1543207156000","value":"80"}],"ver":"1.0"}

#运行消费者接收
bin/kafka-console-consumer.sh --bootstrap-server 公网ip:9092 --topic mytopic --from-beginning

五、kafka设置分区数量

#分区数量的作用:有多少分区就能负载多少个消费者,生产者会自动分配给分区数据,每个消费者只消费自己分区的数据,每个分区有自己独立的offset
#进入kafka容器
vi opt/kafka/config/server.properties
修改run.partitions=2
#退出容器
ctrl+p+q
#重启容器
docker restart kafka

#修改指定topic
./kafka-topics.sh --zookeeper localhost:2181 --alter --partitions 3 --topic topicname

 

六、kafka相关操作指令

Kafka命令行

查看topic

bin/kafka-topics.sh --zookeeper localhost:2181 --list

创建topic

bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic test1 --partitions 4 --replication-factor 1

查看topic信息

bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test1

消费命令

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic test1

生产命令

bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test1

简单性能测试:

bin/kafka-producer-perf-test.sh --topic test1 --num-records 100000 --record-size 1000 --throughput 2000 --producer-props bootstrap.servers=localhost:9092

bin/kafka-consumer-perf-test.sh --bootstrap-server localhost:9092 --topic test1 -- fetch-size 1048576 --messages 100000 --threads 1

至此,Docker安装配置kafka完毕。

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线