
redpandadata/redpanda-unstableRedpanda 是一个兼容 Apache Kafka® API 的高性能流数据平台,采用 C++ 构建,具备低延迟、高吞吐量和简化运维的特性。本镜像包含 Redpanda 的不稳定版本(Unstable releases),主要用于开发测试、新功能验证及实验性场景,不推荐用于生产环境。
从 Redpanda 官方仓库拉取最新不稳定版本镜像:
bashdocker pull redpandadata/redpanda:unstable
bashdocker run -d \ --name redpanda-unstable \ -p 9092:9092 \ # Kafka API 端口 -p 8081:8081 \ # Admin API 端口 -p 9644:9644 \ # Prometheus 监控端口 redpandadata/redpanda:unstable \ redpanda start \ --overprovisioned \ # 开发模式:自动分配资源(仅测试用) --smp 1 \ # CPU 核心数(根据宿主机调整) --memory 1G \ # 内存限制(根据宿主机调整) --node-id 0 \ # 节点 ID(单节点固定为 0) --advertise-kafka-addr PLAINTEXT://localhost:9092 \ # 客户端访问地址 --advertise-admin-addr http://localhost:8081 # Admin API 访问地址
通过 Admin API 检查节点状态:
bashcurl http://localhost:8081/v1/brokers
预期返回单节点信息(node_id: 0)。
创建 docker-compose.yml 配置多节点集群(适合测试分布式特性):
yamlversion: '3.8' services: redpanda-1: image: redpandadata/redpanda:unstable container_name: redpanda-1 ports: - "9092:9092" # Kafka API - "8081:8081" # Admin API - "9644:9644" # Prometheus command: - redpanda - start - --overprovisioned - --smp 1 - --memory 1G - --node-id 1 - --advertise-kafka-addr PLAINTEXT://redpanda-1:29092,PLAINTEXT://localhost:9092 - --advertise-admin-addr http://redpanda-1:9644,http://localhost:8081 - --seeds redpanda-1:33145 # 集群种子节点(单节点时为自身) volumes: - redpanda-1-data:/var/lib/redpanda/data redpanda-2: image: redpandadata/redpanda:unstable container_name: redpanda-2 ports: - "9093:9092" # Kafka API(宿主机端口映射) - "8082:8081" # Admin API command: - redpanda - start - --overprovisioned - --smp 1 - --memory 1G - --node-id 2 - --advertise-kafka-addr PLAINTEXT://redpanda-2:29092,PLAINTEXT://localhost:9093 - --advertise-admin-addr http://redpanda-2:9644,http://localhost:8082 - --seeds redpanda-1:33145 # 连接到集群种子节点 volumes: - redpanda-2-data:/var/lib/redpanda/data volumes: redpanda-1-data: redpanda-2-data:
启动集群:
bashdocker-compose up -d
通过环境变量自定义 Redpanda 行为,常用变量如下:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
REDPANDA_NODE_ID | 节点 ID(集群内唯一) | 0 |
REDPANDA_DATA_DIR | 数据存储路径 | /var/lib/redpanda/data |
REDPANDA_LOG_LEVEL | 日志级别(trace/debug/info/warn/error) | info |
REDPANDA_ADVERTISE_KAFKA_API | Kafka API 对外暴露地址(逗号分隔多个) | PLAINTEXT://localhost:9092 |
REDPANDA_ADVERTISE_ADMIN_API | Admin API 对外暴露地址 | http://localhost:8081 |
REDPANDA_SEEDS | 集群种子节点地址(格式:host:port) | localhost:33145 |
REDPANDA_SMP | CPU 核心数(影响并行处理能力) | 宿主机 CPU 核心数 |
REDPANDA_MEMORY | 内存限制(如 1G/2048M) | 宿主机内存的 50% |
示例:通过环境变量启动节点
bashdocker run -d \ --name redpanda-env \ -e REDPANDA_NODE_ID=1 \ -e REDPANDA_LOG_LEVEL=debug \ -e REDPANDA_ADVERTISE_KAFKA_API=PLAINTEXT://192.168.1.100:9092 \ -p 9092:9092 \ redpandadata/redpanda:unstable \ redpanda start --overprovisioned
对于复杂配置,可通过挂载自定义配置文件(redpanda.yaml)覆盖默认配置:
./redpanda.yaml):yamlnode_id: 1 data_directory: /var/lib/redpanda/data kafka_api: - address: 0.0.0.0 port: 9092 advertise_address: 192.168.1.100:9092 admin_api: - address: 0.0.0.0 port: 8081 advertise_address: 192.168.1.100:8081 seed_servers: - host: redpanda-1 port: 33145 log_level: debug
bashdocker run -d \ --name redpanda-custom-config \ -v $(pwd)/redpanda.yaml:/etc/redpanda/redpanda.yaml \ # 挂载配置文件 -p 9092:9092 \ -p 8081:8081 \ redpandadata/redpanda:unstable \ redpanda start --config /etc/redpanda/redpanda.yaml # 指定配置文件路径
Redpanda 常用端口及用途:
| 端口 | 用途 | 说明 |
|---|---|---|
| 9092 | Kafka API(客户端) | 应用程序连接端口(PLAINTEXT 协议) |
| 8081 | Admin API(HTTP) | 集群管理接口(如节点状态、主题操作) |
| 9644 | Prometheus 监控 | 暴露 metrics 指标(/metrics 端点) |
| 33145 | 集群内部通信 | 节点间数据同步和元数据交换 |
进入容器并使用 rpk(Redpanda CLI)创建主题:
bash# 进入容器 docker exec -it redpanda-unstable bash # 创建主题(3 分区,1 副本) rpk topic create test-topic -p 3 -r 1 # 查看主题列表 rpk topic list
bash# 生产消息(从标准输入) rpk topic produce test-topic # 消费消息(从头开始) rpk topic consume test-topic --from-beginning
--memory=2G --cpus=2),避免过度占用宿主机资源。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务