K8S部署RocketMQ集群(双主双从+同步模式) - 部署笔记
发布网友
发布时间:2024-09-10 07:45
我来回答
共1个回答
热心网友
时间:2024-10-22 05:08
部署RocketMQ集群(双主双从+同步模式)的笔记如下:
RocketMQ由NameServer、Broker、Procer和Consumer构成,其中NameServer是Broker的注册中心,负责Broker的注册与健康检查。集群部署方式多样,适用于不同场景,包括同步、异步和单向消息发送。
在本案例中,我们构建一个"双主双从+同步模式"的集群,涉及6个pod。首先,通过NFS为StatefulSet提供动态持久化存储,包括创建nfs-provisioner、storageclass、nfs-client-provisioner和相关pod。需要注意的是,需要调整rocketmq的runbroker.sh脚本以避免因内存设置过大导致的pod启动失败。
制作rocketmq、nameserver和web界面的image镜像,分别下载并上传到Harbor仓库。配置文件是关键,如broker-a.properties和namesrv-deployment.yaml,用于创建configmap。接着,使用StatefulSet部署master和slave的rocketmq实例,以及nameserver和外部服务。
启动时,通过启动命令指定配置文件,利用configmap挂载配置,并使用subPath指定文件。部署完成后,可通过pod、svc、PV、PVC以及NFS共享目录进行监控和验证。可视化界面可通过node节点的IP:30916访问,进行消息收发测试。
客户端连接RocketMQ时,可通过代码指定Name Server地址,确保通信路径的正确性。通过这些步骤,成功构建并配置了一个RocketMQ集群。