linux环境下RocketMQ安装与自启动

一、安装RocketMQ

1.安装要求

系统要求:64位操作系统(推荐使用Linux和MacOS)
编程环境:JDK1.8+
包管理工具:Maven

2.源码安装

(1)下载源码并解压

1.wget http://mirror.bit.edu.cn/apache/rocketmq/4.3.0/rocketmq-all-4.3.0-source-release.zip
2.unzip rocketmq-all-4.3.0-source-release.zip

(2)打包编译安装

1.cd rocketmq-all-4.3.0/
2.mvn -Prelease-all -DskipTests clean install -U

扩展知识:

注:-P参数是设置环境变量的,对应maven配置中profiles中的环境或环境变量。

-D参数为maven设置命令行属性,如

mvn -DpropertyName=propertyValue

如果pom.xml中已经存在propertyName这个属性,则使用pom.xml中对应的这个属性的值;如果在pom.xml不存在这个属性
那么则使用命令行中对应这个属性的值

3.设置安装目录

通过第2步,RocketMQ编译生成的文件在源码包distribution/target/apache-rocketmq下,为了以后管理方便,可将此
目录移动到相应的软件目录下,如/usr/local下

1.cd distribution/target/
2.mv apache-rocketmq /usr/local/rocketmq

4.目录介绍

benchmark : 基准测试的脚本
bin : 操作和管理RocketMQ的脚本
conf : 配置文件
lib : RocketMQ依赖的类包文件

二.RocketMQ的基本操作

1.启动RocketMQ

(1)启动Name Server

1.cd /usr/local/rocketmq
2.nohup sh bin/mqnamesrv &

可通过 tail -f ~/logs/rocketmqlogs/namesrv.log或jps来查看nameserver是否启动成功

(2)启动borker

nohup sh bin/mqbroker -n localhost:9876 &

可通过 tail -f ~/logs/rocketmqlogs/broker.log或jps来查看nameserver是否启动成功

启动broker常见的问题之一:因为内存限制,无法启动

解决方案:修改bin/runserver.sh和bin/runbroker.sh中的内存参数设置

第一步:修改runserver.sh中的JVM参数:

原参数值:

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

修改后的参数值:

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"

注:根据服务器配置自行设置

第二步:修改runborker.sh中的JVM参数

原参数值:

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

修改后的参数值:

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"

2.关闭服务

(1)关闭borker服务

sh bin/mqshutdown broker

(2)关闭nameserver服务

sh bin/mqshutdown namesrv

3.使用脚本管理rocketmq

(1)编写管理脚本命令:rocketmq.sh

#!/usr/bin/env bash

#
# rocketmq - this script starts and stops the rocketmq daemon
#
# chkconfig: - 85 15

ROCKETMQ_HOME=/usr/local/rocketmq
ROCKETMQ_BIN=${ROCKETMQ_HOME}/bin
ADDR=hostname -i:9876
LOG_DIR=${ROCKETMQ_HOME}/logs
NAMESERVER_LOG=${LOG_DIR}/namesrv.log
BROKER_LOG=${LOG_DIR}/broker.log

start() {
if [ ! -d ${LOG_DIR} ];then
mkdir ${LOG_DIR}
fi
cd ${ROCKETMQ_HOME}
nohup sh bin/mqnamesrv > ${NAMESERVER_LOG} 2>&1 &
echo -n "The Name Server boot success..."
nohup sh bin/mqbroker -n ${ADDR} > ${BROKER_LOG} 2>&1 &
echo -n "The broker[%s, ${ADDR}] boot success..."
}
stop() {
cd ${ROCKETMQ_HOME}
sh bin/mqshutdown broker
sleep 1
sh bin/mqshutdown namesrv
}
restart() {
stop
sleep 5
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac

注:

重启操作中,休眠5秒是为了等待服务的关闭,服务未关闭将无法重新启动服务(本人做过实验,当休眠时间为3秒时,可能还未完全停止服务)

(2)将rocketmq服务添加为开机启动服务

1.chmod a+x rocketmq.sh
2.sudo mv rocketmq.sh /etc/init.d/rocketmq
3.chkconfig --add rocketmq

(3)通过service命令来管理rocketmq

启动:service rocketmq start
关闭:service rocketmq stop
重启:service rocketmq restart
1. 本站所有资源来源于用户上传和网络,如有侵权请及时联系删除,本站不承担任何法律责任!
2. 分享目的仅供大家学习和研究,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的教程、源码等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.94zyw.com",如遇到无法解压的请联系管理员!
94资源网 » linux环境下RocketMQ安装与自启动