安装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
无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。