Docker安装kafka

该文提供了在x86和aarch64架构下使用Docker安装Kafka及Zookeeper的命令,包括容器配置、端口映射和环境变量设定,同时也提及了Kafka的图形化管理工具Kafka-Map的安装方法。

1 x86架构下安装kafka

1.1 安装zookeeper

#单机方式
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

1.2 安装kafka

#单机方式
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=10.0.0.101:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.0.0.101:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka

1.3 kafka-map图形化管理工具(好用)

docker run -d --name kafka-map \
    -p 9001:8080 \
    -v /opt/kafka-map/data:/usr/local/kafka-map/data \
    -e DEFAULT_USERNAME=admin \
    -e DEFAULT_PASSWORD=admin \
    --restart always dushixiang/kafka-map:latest

2 aarch64架构下安装kafka

2.1 安装zookeeper

docker run -d --name zookeeper-server \
    -e ALLOW_ANONYMOUS_LOGIN=yes \
    bitnami/zookeeper:latest

2.2 安装kafka

docker run -d --name kafka-server \
    -p 9092:9092 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.101:9092 \
    bitnami/kafka:latest

命令参数说明:

安装并运行Kafka,
–name:容器名称
-p:设置映射端口(默认9092 )
-d:后台启动
ALLOW_PLAINTEXT_LISTENER任何人可以访问
KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
ALLOW_PLAINTEXT_LISTENER任何人可以访问
KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
KAFKA_CFG_ADVERTISED_LISTENERS当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)


3 7月29日补充

 docker run -it --name kafka --publish 8092:9092 
--link zookeeper:zookeeper -e KAFKA_BROKER_ID=1  -e HOST_IP=49.233.50.97  
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://49.233.50.97:8092  
-e KAFKA_ADVERTISED_HOST_NAME=49.233.50.97 
-e KAFKA_ADVERTISED_PORT=9082 -m 512m --memory-swap 1024m 
-e ES_JAVA_OPTS="-Xms64m -Xmx512m"  
-t  wurstmeister/kafka

 

### 使用Docker安装Kafka的教程 #### 准备工作 为了确保顺利安装,需先确认已正确设置好Docker环境。这一步骤对于任何打算利用Docker来部署服务的应用程序来说都是必不可少的前提条件[^2]。 #### 获取官方镜像 从Docker Hub拉取最新的Apache Kafka镜像文件,这是启动集群前的重要准备工作之一。通常情况下,推荐使用`confluentinc/cp-kafka`作为首选项,因为它由Confluent公司维护,提供了稳定可靠的版本支持。 ```bash docker pull confluentinc/cp-kafka:latest ``` #### 创建网络桥接 为了让ZooKeeper与Kafka实例之间能够相互通信,创建一个新的自定义网桥是非常必要的操作。此动作有助于简化后续容器间的连接配置过程。 ```bash docker network create kafka-net ``` #### 启动ZooKeeper服务 由于Kafka依赖于ZooKeeper来进行协调管理,因此需要先行启动一个ZooKeeper实例。这里采用的是Confluent Platform所提供的官方镜像,并将其加入到之前建立好的网络中去。 ```bash docker run -d \ --name=zookeeper \ --network=kafka-net \ -e ZOOKEEPER_CLIENT_PORT=2181 \ confluentinc/cp-zookeeper:latest ``` #### 配置并启动Kafka Broker 接下来便是重点——启动Kafka broker本身了。需要注意的一点是在启动参数里指定了`KAFKA_ADVERTISED_LISTENERS`环境变量,用于告知外部应用程序如何访问当前节点上的Kafka服务[^5]。 ```bash docker run -d \ --name=kafka \ --network=kafka-net \ -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ -e KAFKA_ADVERTISED_LISTENERS.PLAINTEXT_HOST=localhost:9092 \ -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \ confluentinc/cp-kafka:latest ``` 此时已经成功完成了基于Docker环境下Kafka的基本搭建流程。如果想要进一步探索更多高级特性比如安全性增强,则可以根据具体需求调整相应配置选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔爱读书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值