# huaweicloud-solution-building-an-ha-pulsar-cluster **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-building-an-ha-pulsar-cluster ## Basic Information - **Project Name**: huaweicloud-solution-building-an-ha-pulsar-cluster - **Description**: 该解决方案基于开源项目Pulsar构建,可以帮助您在华为云上快速部署高可用Pulsar集群。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-20 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案基于开源项目Pulsar构建,可以帮助您在华为云上快速构建高可用Pulsar集群。Apache Pulsar 是 Apache 软件基金会的顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。 解决方案实践详情页面地址:https://www.huaweicloud.com/solution/implementations/building-an-ha-pulsar-cluster.html **架构图** --------------- ![方案架构](./document/building-an-ha-pulsar-cluster.png) **架构描述** --------------- 该解决方案会部署如下资源: - 创建十台[弹性云服务器 ECS](https://support.huaweicloud.com/ecs/index.html),三台用于部署ZooKeeper节点,三台用于部署Bookie节点,三台用于部署Broker节点,一台用于创建Manager节点 - 创建一个[弹性公网IP EIP](https://support.huaweicloud.com/productdesc-eip/overview_0001.html),绑定在Manager节点,实现管理节点可被公网访问 - 创建一个[虚拟私有云 VPC](https://support.huaweicloud.com/vpc/index.html)与一个Subnet,用于配置各节点的网络信息 - 创建一个安全组,用于实现对Pulsar各节点的网络访问控制 **组织结构** --------------- ``` lua huaweicloud-solution-building-an-ha-pulsar-cluster ├── building-an-ha-pulsar-cluster.tf.json -- 资源编排模板 ├── userdata ├── install-pulsar.sh -- 安装pulsar集群的执行脚本 ├── manager-start.sh -- 管理多节点安装的脚本 ``` **开始使用** --------------- ```lua 1. 有关Pulsar详细使用指导请参考Pulsar产品文档 2. 该解决方案默认使用的Pulsar版本:3.1.0,部署的Java版本:JDK-21,部署的Pulsar Manager 版本:0.4.0 3. 已在Pulsar内默认创建了名为pulsar-cluster的集群名 4. 该解决方案涉及的所有的业务端口均默认配置了同一子网可访问,若另有需要,需根据实际情况修改安全组规则 a. 涉及到的Pulsar业务端口如下:9527:Pulsar Manager节点的业务面端口 b. 2181,2888,3888: Pulsar Zookeeper节点的业务面端口 c. 8000,3181,4181:Pulsar Bookie节点的业务面端口 d. 6650,6651,8080,8443:Pulsar Broker节点的业务面端口 后续文档将展开Pulsar的基础使用说明 ``` 1. 登录华为云[弹性云服务器控制台](https://console.huaweicloud.com/ecm/?region=cn-north-4&locale=zh-cn#/ecs/manager/vmList),查看ECS是否正常创建,并查看Manager节点的公网IP地址。 **图1** 查看ECS资源以及Pulsar Manager节点的公网,记为**manager-ip** ![查看ECS资源](./document/readme-image-001.png) 2. 登录**Pulsar Manager Web**界面。 ECS创建完成后,后台会进行环境部署,等待约20分钟后,将会完成Pulsar集群的构建,可以登录**http://manager-ip:9527**进入控制台Console界面 ```lua 1. 在登录前,需保证Pulsar Manager节点机器对登录客户端已开放9527端口,若未开放,请参考如何[修改安全组规则](https://support.huaweicloud.com/usermanual-vpc/vpc_SecurityGroup_0005.html) 2. 已默认将admin配置为pulsar集群的超级用户,并开启了jwt token校验 3. 登录的账号名和密码均为默认配置默认 a. 账号名:admin b. 默认密码:创建ECS服务器时输入的密码 ``` **图2** Pulsar Manager登录界面 ![Pulsar Manager登录界面](./document/readme-image-002.png) 3. 确认Pulsar集群部署完成(可选) **图3** 登录任一Zookeeper节点,连接至Zookeeper服务端 ![登录任一Zookeeper节点,连接至Zookeeper服务端](./document/readme-image-003.png) **图4** 查看存活的Zookeeper节点,是否与已存在的Zookeeper节点一致 ![查看存活的Zookeeper节点,是否与已存在的Zookeeper节点一致](./document/readme-image-004.png) **图5** 查看存活的Bookie节点,是否与已存在的Bookie节点一致 ![查看存活的Bookie节点,是否与已存在的Bookie节点一致](./document/readme-image-005.png) **图6** 查看存活的Broker节点,是否与已存在的Broker节点一致 ![查看存活的Broker节点,是否与已存在的Broker节点一致](./document/readme-image-006.png) 4. 在**Pulsar Manager**中添加Pulsar环境 **图7** 添加Pulsar环境,可选择配置任一broker与bookie节点 ![添加Pulsar环境,可选择配置任一broker与bookie节点](./document/readme-image-007.png) 5. 查看Pulsar详情 图8 查看Pulsar详情,`pulsar-cluster`是已经内置的Pulsar集群名称 ![查看Pulsar详情,pulsar-cluster是已经内置的Pulsar集群名称](./document/readme-image-008.png) 6. 添加新租户 **图9** 添加新租户 ![添加新租户](./document/readme-image-009.png) 7. 创建命令空间 **图10** 创建命令空间 ![创建命令空间](./document/readme-image-010.png) 8. 创建topic **图11** 创建topic ![创建topic](./document/readme-image-011.png) 9. 生成token **图12** 创建token ![创建token](./document/readme-image-012.png) 至此Pulsar集群已部署完成,您可以在您的应用中集成Pulsar应用了。