docker部署单机kafka
时间: 2025-01-03 20:31:43 浏览: 76
### 部署单节点Kafka使用Docker
为了在单机环境中利用Docker部署单节点Kafka,可以遵循如下方法。此过程不仅涉及启动Kafka本身,还涉及到其依赖组件ZooKeeper的配置[^3]。
#### 准备工作
确保本地已安装并设置好Docker环境。如果尚未完成这一步骤,请先访问[Docker官方文档](https://docs.docker.com/get-docker/)按照指示操作。
#### 创建`docker-compose.yml`
创建名为`docker-compose.yml`文件用于定义服务组合。该文件将描述所需的服务及其参数,包括但不限于版本号、镜像名称以及端口映射等信息[^2]:
```yaml
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper:latest
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:latest
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
depends_on:
- zookeeper
```
上述YAML片段指定了两个主要容器——一个是运行ZooKeeper实例的容器,另一个则是连接到前者并通过指定监听器提供外部访问路径的Kafka服务器实例。
#### 启动服务
通过命令行进入包含`docker-compose.yml`文件所在的目录,并执行以下指令来启动所有必要的服务:
```bash
docker-compose up -d
```
这条命令会以前台模式异步启动所有的服务进程,并将其置于后台持续运行。此时应该能够看到类似于下面的日志输出,表明各个服务正在正常初始化中。
#### 测试连接
一旦确认Kafka集群已经成功上线,则可以通过生产者/消费者API测试消息传递功能是否正常运作。例如,在另一终端窗口输入下列Python脚本验证发送接收情况:
```python
from kafka import KafkaProducer, KafkaConsumer
producer = KafkaProducer(bootstrap_servers='localhost:9092')
consumer = KafkaConsumer('test-topic', bootstrap_servers='localhost:9092')
for i in range(5):
producer.send('test-topic', b'test message %d' % i)
print("Messages received:")
for msg in consumer:
print(msg.value.decode())
break
```
这段简单的程序首先向主题`test-topic`发布几条记录,接着尝试从中读取最新一条数据作为反馈展示给用户查看。
阅读全文
相关推荐


















