Linux下rocketMQ开机自启动脚本及其相关配置(2022)
一:先查看当前的开机启动服务;
先输入命令chkconfig --list
用于检测开机服务
二:创建mq 的系统启动服务文件,进入到 cd /etc/init.d 目录;
cd /etc/init.d
` 【进入到目录】
vi rocketmq
【创建es系统启动服务文件】
三:编写启动脚本
#!/bin/sh
#
# rocketmq - this script starts and stops the rocketmq daemon
#
# chkconfig: - 85 15
export JAVA_HOME='这里写上自己安装jdk的目录路径 例如:/usr/lib/jvm/jre-1.8.0'
export PATH=$JAVA_HOME/bin:$PATH
ROCKETMQ_HOME=/usr/local/rocketmq
ROCKETMQ_BIN=${ROCKETMQ_HOME}/bin
ADDR=`hostname -i`:9876
BROKER_IP='这里写上自己服务器的ip地址以及端口号 例如:192.168.0.1: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 ${BROKER_IP} > ${BROKER_LOG} 2>&1 &
echo -n "The broker[%s, ${BROKER_IP}] 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
四:修改文件权限;
chmod 777 rocketmq
五:添加和删除服务并设置启动方式;
chkconfig --add rocketmq
【添加系统服务】
chkconfig --del rocketmq
【删除系统服务】
六:关闭和启动服务;
service rocketmq start
【启动】
service rocketmq stop
【停止】
service rocketmq restart
【重启】
七:设置服务是否开机启动;
chkconfig rocketmq on
【开启】
chkconfig rocketmq off
【关闭】
验证是否已启动命令:
ps -ef | grep rocketmq
【查看是否有es的进程】
结束进程命令用kill -9 进程ID
八:注意开放rocketMQ设计到相关的端口
注意:如果服务器上的ip地址或者jdk的安装位置与脚本上的不一致请修改为相应的地址。