RocketMQ消息队列linux上安装部署

RocketMQ 部署结构

RocketMQ消息队列linux上安装部署

RocketMQ 网络部署特点:

  • Name Server 是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。

  • Broker 部署相对复杂,Broker 分为 Master 与 Slave,一个 Master 可以对应多个 Slave,但是一个 Slave 只能对应一个Master, Master与 Slave的对应关系通过指定相同的BrokerName, 不同的BrokerId来定义, BrokerId为 0 表示 Master,非 0 表示 Slave。Master 也可以部署多个。每个 Broker 与 Name Server 集群中的所有节点建立长连接,定时注册 Topic 信息到所有 Name Server。

  • Producer 与 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从 Name Server 取 Topic 路由信息,并向提供 Topic 服务的 Master 建立长连接,且定时向 Master 发送心跳。Producer 完全无状态,可集群部署。

  • Consumer 与 Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从 Name Server 取 Topic 路由信息,并向提供 Topic 服务的 Master、Slave 建立长连接,且定时向 Master、Slave 发送心跳。Consumer既可以从 Master 订阅消息,也可以从 Slave 订阅消息,订阅规则由 Broker 配置决定。

开始安装

1、确保服务器安装了java运行环境,如果没有安装可以参考《linux环境安装jdk

2、下载alibaba-rocketmq-3.1.8.tar.gz,上传到服务器。cd 到alibaba-rocketmq-3.1.8.tar.gztar.gz文件目录

解压

#tar xvf alibaba-rocketmq-3.1.8.tar.gz -C /opt/

添加可执行权限

#cd /opt/alibaba-rocketmq/bin/;chmod +x mqadmin mqbroker mqfiltersrv mqshutdown  mqnamesrv

启动nameserver

#nohup sh mqnamesrv >/var/log/ns.log &

验证nameserver是否启动

# tail -f /var/log/ns.log
The Name Server boot success.

启动broker

在启动borker之前需要指定nameserver地址

#export NAMESRV_ADDR=Your_name_IP:9876
#sh mqbroker -n192.168.152.129:9876 >/var/log/mq.log &

验证mqbroker是否启动

#tail -f /var/log/mq.log
The broker[Your_hostname, Your_IP:10911] boot success. and name server is Your_IP:9876

最后配置防火墙

nameserver端口为9876

broker端口为10911

lokkit -p 9876:tcp -p 10911:tcp

关闭nameserver broker, 到mq的bin目录下

#sh mqshutdown namesrv
#sh mqshutdown broker


赞.. 浏览 ..
...条评论

加载更多评论