docker安装kafka
docker安装kafka
中文
资源
首先参照这篇文章,文章
另外,一篇,直接使用docker安装
安装
docker-compose内容:
cat > docker-compose.yaml <<EOL
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
depends_on: [ zookeeper ]
ports:
- "9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
说明:上述内容,来自于github仓库,但是,图懒,更换了kafka在构建过程。尝试了,能正常的安装成功。
参数:
KAFKA_ADVERTISED_HOST_NAME: 由于测试,并未对外提供服务,只填了127.0.0.1。
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 自己把自己坑了,因该填机器的真实ip,才能对外提供正常服务
将上述文件放到一个文件夹中,如kafka,然后该名称,将作为docker前缀。
使用以下命令启动:
docker-compose up -d
测试
进入kafka容器进行测试:
# (kafka_)kafka_1 括号内的是docker-compose.yaml文件所在的目录
docker exec -it kafka_kafka_1 bash
#创建一个topic
$KAFKA_HOME/bin/kafka-topics.sh --create --topic test --partitions 4 --zookeeper kafka_zookeeper_1:2181 --replication-factor 1
# 注意–zookeeper后面的参数为,容器的name
#查看topic
$KAFKA_HOME/bin/kafka-topics.sh --zookeeper kafka_zookeeper_1:2181 --describe --topic test
#发布信息
bash-4.4# $KAFKA_HOME/bin/kafka-console-producer.sh --topic=test --broker-list kafka_kafka_1:9092
>ni
>haha
#接收信息
bash-4.4# $KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server kafka_kafka_1:9092 --from-beginning --topic test
ni
haha
kafka集群管理界面
docker run -itd --name=kafka-manager -p 9000:9000 -e ZK_HOSTS="192.168.220.150:2181" sheepkiller/kafka-manager
# 访问 http://localhost:9000/
反思
上述过程,其实是利用了别人做好的现成的docker镜像,为了快速搭建,应该自己了解,最好使用官网镜像来构建。