Docker基于CentOS7制作Kafka镜像

搭建Kafka集群

zookeeper容器

拉取官方的zk镜像docker pull zookeeper
启动一个容器
docker run -d -e TZ="Asia/Shanghai" -p 2181:2181 -v $PWD/data:/data --name zookeeper --restart always zookeeper
当然也可以启动一个zk集群,不过本文关注的是kafka,所以zk就不赘述
docker inspect zookeeper | grep IPAddress查询zk所在的ip
在这里插入图片描述

kafka容器

docker pull dylan123/jdk-centos7:1.8.0_171
docker run --name kafka1 -it dylan123/jdk-centos7:1.8.0_171 bash

  1. 安装Kafka

curl -O https://mirror-hk.koddos.net/apache/kafka/2.5.0/kafka_2.13-2.5.0.tgz
tar -zxvf kafka_2.13-2.5.0.tgz -C /opt/

  1. 修改配置

cd /opt/kafka_2.13-2.5.0
vi config/server.properties
修改当中的id和zk即可

broker.id=0# id不能冲突
zookeeper.connect=$ZK_HOST:2181
  1. 启动

bin/zookeeper-server-start.sh config/zookeeper.properties &可以启动自带的zk

bin/kafka-server-start.sh -daemon config/server.properties &启动

如果需要可以添加环境变量

#KAFKA_HOME 
export KAFKA_HOME=/opt/kafka_2.13-2.5.0 
export PATH=$PATH:$KAFKA_HOME/bin 

刷新环境变量source /etc/profile

可以看到kafka成功运行着
在这里插入图片描述

制作镜像

进入到一个空的文件夹准备制作镜像vim Dockerfike

FROM dylan123/jdk-centos7:1.8.0_171
RUN curl -O https://mirror-hk.koddos.net/apache/kafka/2.5.0/kafka_2.13-2.5.0.tgz \
    && tar -zxvf kafka_2.13-2.5.0.tgz -C /opt/`

构建镜像
docker build -f Dockerfile -t kafka:20201231_1 .
启动的时候需要指定-it bash避免秒退

快速测试

  1. 创建topic

bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

  1. 控制台生产者

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

  1. 控制台消费者

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

猜你喜欢

转载自blog.csdn.net/weixin_44112790/article/details/112007178
今日推荐