Linux 下 RocketMQ 的安装与配置

1 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2 安装 java 依赖环境

2.1 下载 jdk8

官网 :  https://www.oracle.com/java/technologies/downloads/#java8

命令

cd /
# 解压
tar -zxvf jdk-8u381-linux-x64.tar.gz 
# 重命名
mv /jdk1.8.0_381 /jdk

2.2 配置环境变量

vi /etc/profile

添加

export JAVA_HOME=/jdk
export JRE_HOME=/jdk/jre
export CLASS_PATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

2.4 保存后刷新环境变量

source /etc/profile

2.5 检查java 环境

java -version

3.下载 RocketMQ

官网下载地址  https://rocketmq.apache.org/zh/download

选择 Binary 下载及版本下载即可。下载命令 :

cd /
wget https://dist.apache.org/repos/dist/release/rocketmq/5.1.3/rocketmq-all-5.1.3-bin-release.zip

4. 解压获得 RocketMQ 文件夹

# 解压
tar -zxvf rocketmq-all-5.1.3-bin-release.zip 
或者 
unzip rocketmq-all-5.1.3-bin-release.zip ^C
# 重命名文件夹
mv rocketmq-all-5.1.3-bin-release rocketMQ

5. 修改启动配置

默认情况下启动会占用 4 ~ 8 G的服务器内存,请根据实际情况进行修改 :

5.1 修改 runserver.sh

vim /rocketMQ/bin/runserver.sh 

修改

JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
为
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

5.1 修改 runserver.sh

vim /rocketMQ/bin/runbroker.sh

修改

JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
为
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m"

6 启动 RocketMQ 服务

6.1 启动 NameServer

双击 mqnamesrv.cmd 启动 NameServer  服务:

nohup sh bin/mqnamesrv &
### 验证namesrv是否启动成功
tail -f ~/logs/rocketmqlogs/namesrv.log
### 
The Name Server boot success...

6.2 启动 Broker+Proxy

### 先启动broker
$ nohup sh bin/mqbroker -n localhost:9876 --enable-proxy &
### 验证broker是否启动成功, 比如, broker的ip是192.168.1.2 然后名字是 broker-a
tail -f ~/logs/rocketmqlogs/proxy.log 
### The broker[broker-a,192.169.1.2:10911] boot success...

7 工具测试消息收发

在进行工具测试消息收发之前,我们需要告诉客户端 NameServer 的地址,RocketMQ 有多种方式在客户端中设置 NameServer 地址,这里我们利用环境变量 NAMESRV_ADDR。

### 声明环境变量
export NAMESRV_ADDR=localhost:9876
### 生产者发送消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
### 消费者消费消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

关闭服务器

可以通过以下方式关闭服务:

关闭 broker

sh bin/mqshutdown broker
### The mqbroker(36695) is running...
### Send shutdown request to mqbroker with proxy enable OK(36695)

关闭 Nameserver

sh bin/mqshutdown namesrv
### The mqnamesrv(36664) is running...
### Send shutdown request to mqnamesrv(36664) OK