apachepulsar/pulsar-allApache Pulsar 是一款运行在通用硬件上的高可扩展性、低延迟分布式发布/订阅(pub/sub)消息系统。本Docker镜像包含Apache Pulsar的核心组件,以及所有官方连接器(Connectors)和卸载器(Offloaders),可快速构建可靠的分布式消息传递基础设施,支持大规模数据流转和实时消息处理。
Pulsar提供Standalone模式,适合本地开发和测试,可通过Docker容器快速启动:
bash# 启动Pulsar Standalone容器(后台运行) docker run -d \ --name pulsar-standalone \ -p 6650:6650 \ # Pulsar broker TCP端口(客户端连接) -p 8080:8080 \ # Pulsar HTTP管理端口(REST API、Dashboard) -v pulsar-data:/pulsar/data \ # 挂载数据卷持久化数据 apachepulsar/pulsar:latest \ bin/pulsar standalone
参数说明:
-p 6650:6650:映射Pulsar broker默认TCP端口,供客户端通过Pulsar协议连接-p 8080:8080:映射HTTP管理端口,用于访问管理API和Web控制台-v pulsar-data:/pulsar/data:挂载数据卷,持久化消息数据和元数据,避免容器重启后数据丢失容器启动后,可通过HTTP API验证服务是否正常:
bash# 检查Pulsar集群状态 curl http://localhost:8080/admin/v2/clusters/local
返回集群信息JSON表示服务正常运行。
Pulsar客户端需连接至broker的6650端口(TCP)或8080端口(HTTP),以下为不同语言客户端的简单示例:
javaPulsarClient client = PulsarClient.builder() .serviceUrl("pulsar://localhost:6650") .build(); Producer<String> producer = client.newProducer(Schema.STRING) .topic("my-topic") .create(); producer.send("Hello Pulsar!");
pythonfrom pulsar import Client client = Client('pulsar://localhost:6650') producer = client.create_producer('my-topic') producer.send('Hello Pulsar!'.encode('utf-8')) client.close()
以下为单节点Pulsar服务的docker-compose.yml配置:
yamlversion: '3' services: pulsar: image: apachepulsar/pulsar:latest container_name: pulsar-standalone ports: - "6650:6650" # Broker TCP端口 - "8080:8080" # HTTP管理端口 volumes: - pulsar-data:/pulsar/data command: bin/pulsar standalone volumes: pulsar-data: # 持久化数据卷
启动命令:docker-compose up -d
Pulsar可无缝部署至Kubernetes集群,支持托管集群(如Google Kubernetes Engine、Amazon Web Services)和自定义集群。部署详情请参考官方Kubernetes部署文档。
如需参与Apache Pulsar项目贡献,请参考官方贡献文档。
Apache Pulsar基于Apache License 2.0许可发布:[***]
Docker镜像可能包含其他软件组件(如Bash等基础系统工具),其许可信息请参考各组件官方文档。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务