centos使用docker安装kafka


安装zookeeper

kafka依赖zookeeper,通过zookeeper管理broker,需先安装zookeeper 


#拉取镜像

docker pull wurstmeister/zookeeper


#启动镜像

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


安装kakfa

  #拉取镜像

  docker pull wurstmeister/kafka

  

#启动镜像

 
docker run  -d --name kafka --restart=always \
  --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 \
  -p 9092:9092 \
  -e KAFKA_HEAP_OPTS="-Xms128m -Xmx256m" \
  -e KAFKA_LOG_RETENTION_HOURS=1 \
  -e KAFKA_LOG_CLEANUP_POLICY=delete \
  -e KAFKA_LOG_RETENTION_BYTES=1073741824 \
  -e KAFKA_LOG_SEGMENT_BYTES=268435456 \
  -e KAFKA_LOG_RETENTION_MS=300000 \
  -e KAFKA_BROKER_ID=0 \
  -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


KAFKA_ZOOKEEPER_CONNECT 和 KAFKA_ADVERTISED_LISTENERS参数中需配置宿主机公网ip地址,否则可能会导致别的服务器上访问不到kafka 


kafka测试

  docker exec -it kafka /bin/bash

 

 #进入kafka脚本目录

  cd opt/kafka_2.13-2.6.0/bin/    #这里需要通过ls命令 看实际的kafka版本

 #创建topic【不创建也可以,kafka默认自动创建topic,生产者或消费者操作不存在topic时会自动创建】

  ./kafka-topics.sh --create --zookeeper 服务器公网ip:2181 --replication-factor 1 --partitions 1 --topic test_topic_name

 

 #生产者发布消息到topic

  ./bin/kafka-console-producer.sh --broker-list 服务器公网ip:9092 --topic test_topic_name

 

 #消费者订阅topic消息

  ./bin/kafka-console-consumer.sh --bootstrap-server 服务器公网ip:9092 --topic test_topic_name --from-beginning


注意需开放2181和9092端口



安装kafka UI管理界面


docker run -d --name kafdrop --rm  -p 9122:9000 \
    -e JVM_OPTS="-Xms32M -Xmx64M" \
    -e KAFKA_BROKERCONNECT=kafka的IP:9092 \
    -e SERVER_SERVLET_CONTEXTPATH="/kafdrop" \
    obsidiandynamics/kafdrop

访问地址:http://IP:9122/kafdrop


鼎云博客
  • 最新评论
  • 总共0条评论