Linux&Windows下安装RocketMQ

一、官网下载

官方下载地址

本次选择目前的全新发布版:4.9.2。下载二进制版的压缩包。

或者直接点击下载
在这里插入图片描述

Linux 环境下,使用以下命令下载:

wget https://dlcdn.apache.org/rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip

二、Windows环境安装(单机版)部署

1. 确认Java环境

即你的Java环境变量是否正常。

2. 解压&配置 ROCKETMQ_HOME

将从官网下载的压缩包解压到一个指定目录:

我这里使用的目录是:D:\software\rocketmq\rocketmq-4.9.2
在这里插入图片描述

然后需要配置环境变量ROCKETMQ_HOME。如下图所示:

在这里插入图片描述

3. 启动 nameserver

切换到安装目录下的 bin文件下,打开 cmd 命令窗口:

D:\software\rocketmq\rocketmq-4.9.2\bin>start mqnamesrv.cmd

随后可能弹出一个命令窗口,内容如下:

Java HotSpot(TM) Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap

D:\software\rocketmq\rocketmq-4.9.2\bin>

这个是因为启动时分配的内存太大了。需要修改一下:

在 bin 目录下找runserver.cmdrunbroker.cmd,编辑其内容。

3.1 编辑 runserver.cmd 文件

若没有出现内存不足之类的问题,就可绕过 3.1和3.2的内容。

找到原文件中配置java内存的位置:

set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

手动修改小一点即可。我这里将其修改为:

set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

3.2 编辑 runbroker.cmd 文件

若没有出现内存不足之类的问题,就可绕过 3.1和3.2的内容。

找到原文件中配置java内存的位置:

set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g"

手动修改小一点即可。我这里将其修改为:

set "JAVA_OPT=%JAVA_OPT% -server -Xms256m -Xmx256m"

最后再次使用命令:start mqnamesrv.cmd启动即可。

当输出了以下内容时,表示nameserver启动成功了:

Java HotSpot(TM) Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

注意,启动成功后,输出以上信息的命令窗口不能关闭!

4. 启动 broker

切换到bin目录下,新打开一个命令窗口,执行以下命令:

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true 

如果没有成功,出现以下信息:

Invalid maximum direct memory size: -XX:MaxDirectMemorySize=15g
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

需要做以下修改:

编辑runbroker.cmdMaxDirectMemorySize的大小放小,我这里调整为1g

再次启动出现以下信息表示成功了:

The broker[DESKTOP-R7J3BHB, 172.173.173.69:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876

5. 验证

5.1 创建 topic

使用命令mqadmin updateTopic -b 127.0.0.1:10911 -t topicname_fbb360 -n 127.0.0.1:9876

其中10911端口对应的是 broker的端口,topicname_fbb360 是我指定的主题名。

D:\software\rocketmq\rocketmq-4.9.2\bin>mqadmin updateTopic -b 127.0.0.1:10911 -t topicname_fbb360 -n 127.0.0.1:9876
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.InternalThreadLocalMap).
RocketMQLog:WARN Please initialize the logger system properly.
create topic to 127.0.0.1:10911 success.
TopicConfig [topicName=topicname_fbb360, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false]

5.2 查看topic

使用命令:mqadmin topicList -n 127.0.0.1:9876

D:\software\rocketmq\rocketmq-4.9.2\bin>mqadmin topicList -n 127.0.0.1:9876
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.InternalThreadLocalMap).
RocketMQLog:WARN Please initialize the logger system properly.
SCHEDULE_TOPIC_XXXX
RMQ_SYS_TRANS_HALF_TOPIC
DefaultCluster_REPLY_TOPIC
BenchmarkTest
OFFSET_MOVED_EVENT
DESKTOP-R7J3BHB
topicname_fbb360
TBW102
SELF_TEST_TOPIC
DefaultCluster

三、Linux环境安装(单机版)部署

// TODO 待补充...

先参考:https://blog.youkuaiyun.com/wc1695040842/article/details/99941664

1. 下载&上传

建议使用迅雷下载,Linux上使用 wget,太慢了。
下载地址:https://dlcdn.apache.org/rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip
下载后使用远程工具,我这里使用的是xshell,xftp做的传输。上传的自己需要安装的位置。

我当前使用的Linux版本是 阿里云的 CentOS8.x 版本。

2. 解压

使用以下命令:

# 解压
unzip rocketmq-all-4.9.2-bin-release.zip

解压后,出现了 rocketmq-4.9.2 的一个目录。如下图示:
在这里插入图片描述

3. 配置环境

3.1 确认Java环境

查看 /etc/profile文件,使用如下配置:
注意:我的java是安装在/usr/src/software/java的

#java environment
export JAVA_HOME=/usr/src/software/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

3.2 配置 /etc/profile

在文件末尾追加以下内容:

#rocketmq environment
export ROCKETMQ_HOME=/usr/src/software/rocketmq-4.9.2

随后使用命令 source /etc/profile刷新配置,使其生效。

3.3 编辑 runserver.sh 和 runbroker.sh

这一步主要是,默认的内存空间占用太大了,浪费可耻。因此稍微调整小点。(参考上文提到的:Windows中安装时,出现的内存不足问题)

  • 编辑 runserver.sh文件:
# 切换目录
cd /usr/src/software/rocketmq-4.9.2/bin
# 编辑
vim runserver.sh

文件内容主要修改(内存分配大小,现修改为 256m和128m):

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 -Xms256m -Xmx256m -Xmn128m -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 -Xms256m -Xmx256m -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
}
  • 编辑 runbroker.sh文件:
    还是在bin目录下,直接编辑:
vim runbroker.sh

# 修改的内容如下
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=512m"

3.4 启动

非后台启动(这种方式可以用 ctrl+c停止该服务):
这种启动,一旦关闭当前连接会话,就会停止服务。

# 启动nameserver
[root@iZ2zefzjmmq2tvk3fvkxhaZ bin]# ./mqnamesrv
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

# 启动broker
[root@iZ2zefzjmmq2tvk3fvkxhaZ bin]# ./mqbroker -n 127.0.0.1:9876 autoCreateTopicEnable=true 
The broker[iZ2zefzjmmq2tvk3fvkxhaZ, 172.24.15.105:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876

后台启动(输出日志信息到某一日志文件):
这种启动,在Linux连接的窗口会话关闭时,也不会停止服务。

# 启动nameserver
nohup ./mqnamesrv > rocketmq.log &

# 启动broker
nohup ./mqbroker -n 127.0.0.1:9876 autoCreateTopicEnable=true > rocketmq_broker.log &

4. 验证

4.1 创建 topic

./mqadmin updateTopic -b 127.0.0.1:10911 -t topicname_fbb360 -n 127.0.0.1:9876

4.2 查看topic

./mqadmin topicList -n 127.0.0.1:9876

注意,在阿里云的话,需要去配置规则,开放自己的端口。

四、Linux安装 Console控制台

打包参考:https://blog.youkuaiyun.com/qq_34531925/article/details/82587358

使用官方提供的项目,编译打成 jar包,上传到自己的服务器上。
地址是:https://github.com/apache/incubator-rocketmq-externals/tree/master/rocketmq-console
在上传目录,使用如下命令:

nohup java -jar rocketmq-console-ng-1.0.1.jar --server.port=8088 --rocketmq.config.namesrvAddr=127.0.0.1:9876 > rocket_console.log &

启动后,查看日志文件,tomcat正常启动即可。

最终可以使用这个控制台去管理自己的 Rocket MQ。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你家宝宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值