RocketMq安装(centOS)
一、资料准备
准备好javaJDK和RocketMq安装包(可以在官网下载,javaJDK要求8以上)
二、安装
1.解压两个上述两个文件
2.配置环境变量
Vim /etc/profile进入环境变量
插入下面内容(根据自己的安装路径进行修改)
export JAVA_HOME=/usr/local/src/rocketMq/jdk1.8.0_202
Export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
export ROCKETMQ_HOME=/usr/local/src/rocketMq/rocketmq-all-5.0.0-bin-release
export PATH=$PATH:${ROCKETMQ_HOME}/bin
结果如下:
修改完成需要重新编译配置文件:source /etc/profile
3.测试是否成功
测试rocketmq前建议先调整rocketMq的配置信息,因为rocketMq默认需要的内存比较大,需要更改,防止虚拟机内存不够运行失败。
一共需要更改两个文件:一个是runserver.sh另一个是runbroker.sh它们都在bin目录下改成合适的大小即可。
启动nameserver服务
1.nohup sh bin/mqnamesrv & // 启动服务
2.tail -f ~/logs/rocketmqlogs/namesrv.log //查看是否成功
启动broker
1.nohup sh bin/mqbroker -n localhost:9876 &
2. tail -f ~/logs/rocketmqlogs/broker.log
通过jps查看进程
4. 测试生产和消费消息
生产消息
1.export NAMESRV_ADDR=localhost:9876
2.sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
消费消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
三RocketMq集群安装(双主双从)
1.准备
准备第二台虚拟机
安装上述步骤再次安装rocketMq
2.服务器环境
序号 | Ip | 角色 | 架构模式 | 端口 |
1 | 192.168.150.129 | Nameserver、brokerserver | Master1,Slave2 | 9876、10911、11011 |
2 | 192.168.150.128 | Nameserver、brokerserver | Master2,Slave1 | 9876、10911、11011 |
1.host添加信息(两台机器都要做)
192.168.150.129 rocketmq-nameserver1
192.168.150.128 rocketmq-nameserver2
192.168.150.129 rocketmq-master1
192.168.150.129 rocketmq-slave2
192.168.150.128 rocketmq-master2
192.168.150.128 rocketmq-slave1
2.重启network
systemctl restart network
3.关闭防火墙
4.关闭mq服务
3.broker配置
1.在rocketmq的相关文件中,包含了双主双从的一些配置文件在conf下
2m-2s-async是双主双从异步复制
2m-2s-sync是双主双从同步复制
2m是双主节点,没有从节点
在RocketMQ中,双主双从集群配置可以采用同步或异步的方式进行数据复制。这两种方式主要区别在于消息从主节点(Master)复制到从节点(Slave)的机制上。
同步复制
定义: 在同步复制模式下,当一条消息被发送到一个主节点后,该消息会被立即复制到其对应的从节点。只有当从节点成功接收并确认这条消息之后,主节点才会将成功的响应返回给生产者。
特点:
提供了较高的数据可靠性,因为即使主节点发生故障,从节点也已经包含了最新的数据副本。
由于需要等待从节点的确认,这可能会增加消息发送的延迟,影响吞吐量。
异步复制
定义: 在异步复制模式下,消息首先被发送到主节点,并且一旦消息被主节点接收,生产者就会立即收到成功的响应。然后,主节点会在后台异步地将消息复制到从节点。
特点:
相比于同步复制,这种方式能够提供更高的性能和吞吐量,因为不需要等待从节点的确认。
然而,如果主节点在消息被复制到从节点之前就发生了故障,则这些未复制的消息将会丢失,降低了系统的可靠性。
(根据实际需求选择那种集群方式,这里我们选择双主双从同步复制)
2.配置内容
有s的是从节点配置信息,没有s的是主节点信息
根据这个进行配置,因此在129结尾的ip主机上修改(broker-a.properties文件和broker-b-s.properties)另一台主机上修改另外两个配置文件。相关配置如下:需要特别注意图中标红部分:
4.启动集群
1.启动nameserver集群
两台机器都需要启动
2.启动broker集群
nohup sh mqbroker -c/usr/local/src/rocketMq/rocketmq-all-5.0.0-bin-release/conf/2m-2s-sync/broker-b-s.properties &
(1)在192.168.150.129上启动master1和slave2
(2)在192.168.150.128上启动master2和slave1
5.安装rocketMq dashboard(可视化)
1.maven环境安装
准备一个maven安装包(官网下载)
解压
tar -zxvf apache-maven-3.9.6-bin.tar.gz
修改环境变量
vim /etc/profile
查看版本号
下载 dashboard
使用git下载
提示没有git的话,使用yum下载
yum install -y git
git clone https://github.com/apache/rocketmq-dashboard.git
下载完后进入目录
cd rocketmq-dashboard/
Maven打包
maven打包
mvn clean package -Dmaven.test.skip=true
显示BUILD SUCCESS即为打包成功
cd target
运行jar包
nohup java -jar rocketmq-dashboard-2.0.1-SNAPSHOT.jar &
网页访问