ubuntu docker里面安装kafka集群
时间: 2025-05-16 14:59:20 浏览: 34
### 在 Ubuntu Docker 环境中部署 Kafka 集群
#### 前置条件
为了成功部署 Kafka 集群,需确认已安装 Docker 和 Docker Compose。如果尚未安装,请访问官方文档完成安装流程[^1]。
---
#### 创建 `docker-compose.yml` 文件
创建一个名为 `docker-compose.yml` 的文件,并将其配置如下:
```yaml
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- "2181:2181"
kafka-1:
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
kafka-2:
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
ports:
- "9093:9093"
environment:
KAFKA_BROKER_ID: 2
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9093
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
```
上述配置定义了一个 ZooKeeper 实例和两个 Kafka 节点(kafka-1 和 kafka-2)。通过此设置可以启动一个简单的 Kafka 集群环境。
---
#### 启动 Kafka 集群
在保存好 `docker-compose.yml` 文件后,在同一目录下运行以下命令来启动服务:
```bash
docker-compose up -d
```
这会以后台模式启动所有的容器实例。可以通过以下命令验证各服务的状态:
```bash
docker ps
```
应能看到三个正在运行的服务:ZooKeeper、Kafka-1 和 Kafka-2。
---
#### 访问 Kafka 容器内部
要进入某个 Kafka 容器的 shell 并执行操作,可使用以下命令:
```bash
docker exec -it kafka-1 bash
cd /opt/kafka/bin/
```
或者对于另一个节点:
```bash
docker exec -it kafka-2 bash
cd /opt/kafka/bin/
```
这些路径可能因镜像版本不同而有所变化;具体位置参见实际使用的镜像说明[^2]。
---
#### 创建 Topic 测试
一旦进入了 Kafka 容器中的 bin 目录,即可尝试创建一个新的主题 (topic),例如命名为 `test-topic`:
```bash
./kafka-topics.sh --create \
--bootstrap-server localhost:9092 \
--replication-factor 1 \
--partitions 1 \
--topic test-topic
```
随后可通过以下命令查看当前存在的 topic 列表:
```bash
./kafka-topics.sh --list --bootstrap-server localhost:9092
```
以上步骤可用于验证集群是否正常工作[^3]。
---
#### 总结
按照前述方法可以在基于 Ubuntu 的 Docker 环境中快速构建起一个可用的 Kafka 集群。整个过程依赖于 Docker 提供的强大虚拟化能力以及预设好的镜像资源简化了传统手动安装与配置的工作量。
---
阅读全文
相关推荐


















