RocketMQ 4.9.4使用(一)Ubuntu20.04安装部署-单机

1、官网及版本特性

官网:https://rocketmq.apache.org/
特性及版本发布信息:https://www.oschina.net/p/rocketmq

2、下载

https://rocketmq.apache.org/release_notes/release-notes-4.9.4/
在这里插入图片描述

3、上传并解压

unzip rocketmq-all-4.9.4-bin-release.zip
mv rocketmq-all-4.9.4-bin-release rocketmq-4.9.4

4、修改JVM配置

RocketMQ 默认的虚拟机内存较大,启动 Broker 或者 NameServer 可能会因为内存不足而导致失败,所以需要编辑如下两个配置文件,修改 JVM 内存大小。

修改bin/runbroker.sh默认JVM 大小

JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"

修改bin/runserver.sh默认JVM 大小

choose_gc_options()
{
    # Example of JAVA_MAJOR_VERSION value : '1', '9', '10', '11', ...
    # '1' means releases befor Java 9
    JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | sed -r -n 's/.* version "([0-9]*).*$/\1/p')
    if [ -z "$JAVA_MAJOR_VERSION" ] || [ "$JAVA_MAJOR_VERSION" -lt "9" ] ; then
      JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
      JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC"
      JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
      JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
    else
      JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
      JAVA_OPT="${JAVA_OPT} -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0"
      JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log:time,tags:filecount=5,filesize=30M"
    fi
}

5、添加环境变量

编辑/etc/profile添加以下内容

export ROCKETMQ_HOME=/opt/rocketmq-4.9.4/
export PATH=${ROCKETMQ_HOME}/bin:$PATH

执行以下命令生效环境变量

source /etc/profile

6、启动

# 首先启动Name Server
nohup bash mqnamesrv &

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

# 启动Broker
nohup bash mqbroker -n localhost:9876 &

# 验证Broker是否启动成功,例如Broker的IP为:192.168.1.2,且名称为broker-a
tail -f ~/logs/rocketmqlogs/broker.log 
The broker[VM-4-15-ubuntu, 10.0.4.15:10911] boot success. serializeType=JSON and name server is localhost:9876

# 关闭
bash mqshutdown namesrv
bash mqshutdown broker

7、测试

# 发送消息
cd /opt/rocketmq-4.9.4/bin/
export NAMESRV_ADDR=localhost:9876
bash bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

# 接收消息
export NAMESRV_ADDR=localhost:9876
bash bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

猜你喜欢

转载自blog.csdn.net/q283614346/article/details/126527212