注意上面这个官方架构是 主从模式,还无法做到高可用,因为master节点宕机,从节点没法变成主节点,需要人工重启,够用了。
1. 先准备1台虚拟机,装好1台再克隆2台
根据上面的图,3台机器中有一台是只运行nameserver 不运行broker
2.下载安装jdk1.8和rocketmq ,记得关闭防火墙
下载linux 64位 jdk1.8+(自行百度资源)
下载 | RocketMQ (apache.org)
## 解压
tar -zxvf jdk-8u144-linux-x64.tar.gz
## 删除安装包
rm -rf jdk-8u144-linux-x64.tar.gz
## 解压
unzip rocketmq-all-4.9.4-bin-release.zip
## 删除安装包
rm -rf rocketmq-all-4.9.4-bin-release.zip
##安装jdk环境变量
vi /etc/profile
```
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_301 #jdk安装目录
export JRE_HOME=/usr/local/jdk/jdk1.8.0_301/jre
export ROCKETMQ_HOME=/usr/local/rocketmq/rocketmq-all-4.9.4-bin-release
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ROCKETMQ_HOME/bin:$PATH```
source /etc/profile
测试学习需要,修改jvm内存配置,默认的实在太大了
vi runserver.sh
```
-server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m
```
vi runbroker.sh
```
-server -Xms512m -Xmx512m -Xmn256m
```
## 1.进入bin目录执行,-n 表示在那台机器启动nameserver ,将来是给broker 实例注册使用
nohup sh mqnamesrv -n <ip:9876> &
## 2. 查看运行日志,具体日志目录根据自己实际去写
tail -f ~/logs/rocketmqlogs/namesrv.log
或者cat nohup.out
或者jps
## 3. 进入bin目录执行localhost 是安装mq的虚拟机ip ,将broker 注册到nameserver
nohup sh mqbroker -n localhost:9876 &
# 配置自动创建Topic -->/conf/broker.conf
3.单机测试
### 配置环境变量,3台都要配置,IP注意修改
cd conf/
vim /etc/profile
```
export NAMESRV_ADDR=192.168.208.190:9876 #(你的虚拟机ip,端口号一样)
```
source /etc/profile
# 测试发送消息,
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
# 测试消费消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
# 关闭namesrv
sh mqshutdown namesrv
# 关闭broker
sh mqshutdown broker
接下来,就可以快速创建 剩下2个节点
###克隆记得修改ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
```
IPADDR="192.168.208.192"
```
service network restart
### 启动3个节点,在装好第一个节点的文件跨节点拷贝,有密码检验yes --> 密码
scp -rp /usr/local/rocketmq/ 192.168.208.191:/ /usr/local/rocketmq/
scp -rp /usr/local/rocketmq/ 192.168.208.192:/ /usr/local/rocketmq/
后续。。。。配置集群配置文件