docker容器中搭建kafka集群环境

 Kafka集群管理、状态保存是通过zookeeper实现,所以先要搭建zookeeper集群

 

zookeeper集群搭建

一、软件环境:

         zookeeper集群需要超过半数的的node存活才能对外服务,所以服务器的数量应该是2*N+1,这里使用3node进行搭建zookeeper集群。

1.  3linux服务器都使用docker容器创建,ip地址分别为
NodeA
172.17.0.10

NodeB172.17.0.11

NodeC172.17.0.12

2. zookeeperdocker镜像使用dockerfiles制作,内容如下:

###################################################################

FROM docker.zifang.com/centos7-base

MAINTAINER chicol "[email protected]"

# copy install package files from localhost.

ADD ./zookeeper-3.4.9.tar.gz /opt/

# Create zookeeper data and log directories

RUN mkdir -p /opt/zkcluster/zkconf && \

    mv /opt/zookeeper-3.4.9 /opt/zkcluster/zookeeper && \

    yum install -y java-1.7.0-openjdk*

CMD /usr/sbin/init

###################################################################

3. zookeeper镜像制作

[root@localhost zookeeper-3.4.9]# ll

total 22196

-rw-r--r-- 1 root root      361 Feb  8 14:58 Dockerfile

-rw-r--r-- 1 root root 22724574 Feb  4 14:49 zookeeper-3.4.9.tar.gz

# docker build -t zookeeper:3.4.9  .

4. docker上起3个容器

# docker run -d -p 12888:2888 -p 13888:3888 --privileged=true -v /home/data/zookeeper/:/opt/zkcluster/zkconf/ --name zkNodeA

# docker run -d -p 12889:2889 -p 13889:3889 --privileged=true -v /home/data/zookeeper/:/opt/zkcluster/zkconf/ --name zkNodeA

# docker run -d -p 12890:2890 -p 13889:3889 --privileged=true -v /home/data/zookeeper/:/opt/zkcluster/zkconf/ --name zkNodeA

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Docker搭建Kafka可以按照以下步骤进行: 1. 安装DockerDocker Compose:首先确保你的系统已经安装了DockerDocker Compose。可以在Docker官方网站上找到安装指南。 2. 创建一个Docker Compose文件:创建一个名为`docker-compose.yml`的文件,并添加以下内容: ```yaml version: '2' services: zookeeper: image: confluentinc/cp-zookeeper:latest ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 networks: - kafka-net kafka: image: confluentinc/cp-kafka:latest ports: - "9092:9092" environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 depends_on: - zookeeper networks: - kafka-net networks: kafka-net: ``` 这个Compose文件定义了一个包含Zookeeper和Kafka服务的Docker网络。 3. 启动Kafka集群:在终端里,进入包含`docker-compose.yml`文件的目录,并运行以下命令启动Kafka集群: ``` docker-compose up -d ``` 这将会从Docker Hub下载Kafka和Zookeeper的镜像,并启动两个容器。 4. 测试Kafka:使用Kafka命令行工具进行测试。首先,进入到一个新的终端窗口,并运行以下命令进入Kafka容器: ``` docker exec -it <kafka_container_id> /bin/bash ``` 注意将`<kafka_container_id>`替换为实际的Kafka容器ID。然后,运行以下命令创建一个名为`test`的主题: ``` kafka-topics --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 ``` 接下来,可以使用生产者和消费者来发送和接收消息。在新的终端窗口,进入到Kafka容器,并运行以下命令启动一个生产者: ``` kafka-console-producer --topic test --bootstrap-server localhost:9092 ``` 在另一个终端窗口,进入到Kafka容器,并运行以下命令启动一个消费者: ``` kafka-console-consumer --topic test --bootstrap-server localhost:9092 --from-beginning ``` 现在,你可以在生产者终端窗口输入消息,并在消费者终端窗口看到消息被消费。 这样,你就成功在Docker搭建Kafka集群。可以根据你的需求进行配置和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值