Docker安装及配置kafka
⼀、下载镜像
# 如果已经安装了zookeeper,则不需要重新pull zookeeper镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
⼆、先启动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
kafka命令创建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完毕。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论