1、安装RocketMQ

RocketMQ 安装

官网http://rocketmq.apache.org/

1.安装

需要先安装环境所需要的工具: JDK、Maven。

构建Dledger:

[root@localhost ~]# git clone https://github.com/openmessaging/openmessaging-storage-dledger.git
[root@localhost ~]# cd openmessaging-storage-dledger/
[root@localhost openmessaging-storage-dledger]# mvn clean install -DskipTests

构建RocketMQ:

[root@localhost ~]# git clone https://github.com/apache/rocketmq.git
[root@localhost rocketmq]# cd rocketmq
[root@localhost rocketmq]# git checkout -b store_with_dledger origin/store_with_dledger
[root@localhost rocketmq]# mvn -Prelease-all -DskipTests clean install -U

修改文件:

[root@localhost rocketmq]# cd distribution/target/apache-rocketmq

分别修改三个文件: bin/runserver.sh、 bin/runbroker.sh、 bin/tools.sh。

修改内容如下:

找到以下三行,删除后面的两行,并将第一行的值修改为 系统安装JDK的主目录

[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
[ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
[root@localhost bin]# vim runserver.sh 
[root@localhost bin]# vim runbroker.sh 
[root@localhost bin]# vim tools.sh 

修改后如下:

[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java/jdk1.8.0_221

启动RocketMQ:

[root@localhost apache-rocketmq]# sh bin/dledger/fast-try.sh start

上面的启动指令会在当前机器上启动一个 nameserver 和三个 broker,三个 broker 其中一个是 master,另外两个是 slave,可以组成一个最小可用的 RocketMQ 集群。

检查 RocketMQ 的集群状态:

[root@localhost apache-rocketmq]# sh bin/mqadmin clusterList -n 127.0.0.1:9876
最小的rocketMq集群状态

如上,说明 RocketMQ 集群启动成功了。

BID 为 0 的就是 Master, BID 大于 0 的就都是 Slave,其实这里也可以叫做 Leader 和 Follower。

尝试 Slave 自动切换为 Master 。

三台机器的地址分别是:

10.20.0.50:30931 (master)

10.20.0.50:30911

10.20.0.50:30921

通过 lsof -i:30931 (或者 netstat -tunlp | grep 30931 ) 找出对应端口的进程PID, kill -9 杀死进程。然后再查看集群信息:

[root@localhost apache-rocketmq]# netstat -tunlp | grep 30931
tcp6       0      0 :::30931                :::*                    LISTEN      23484/java          
[root@localhost apache-rocketmq]# kill -9 23484
[root@localhost apache-rocketmq]# sh bin/mqadmin clusterList -n 127.0.0.1:9876

image-20210926141000831

此时可以看到 BID 为 0 的节点,变成了另一个 Broker,即 Slave 切换成了 Master。

关闭的指令:

# sh bin/dledger/fast-try.sh stop

2.部署正式三台 NameServer

按照上述步骤,安装好JDK、maven,构建好 Dledger 和 RocketMQ,编辑修改对应的文件,设置 JAVA_HOME 即可。

启动 NameServer :

[root@localhost apache-rocketmq]# nohup sh bin/mqnamesrv &

NameServer 监听的端口默认是 9876。三台设备上都启动了 NameServer, 他们的端口就都是 9876。

你可能感兴趣的:(1、安装RocketMQ)