rocketmq 开机启动
操作系统:Ubuntu18
实现功能:rocketmq4.8 开机启动
cat /app/rocketmq-4.8.0/conf/broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable=true
namesrvAddr=192.168.1.112:9876
brokerIP1=192.168.1.112
#验证是否启动OK:
tail -f ~/logs/rocketmqlogs/broker.log
# 如果启动成功,能看到类似如下的日志:
2022-05-06 09:18:04 INFO main - The broker[broker-a, 192.168.1.112:10911] boot success. serializeType=JSON and name server is 192.168.1.112:9876
# 验证生产消息正常
执行如下命令:
export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
# 能看到类似如下输出
09:07:45.492 [main] DEBUG i.n.u.i.l.InternalLoggerFactory - Using SLF4J as the default logging framework
RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.PlatformDependent0).
RocketMQLog:WARN Please initialize the logger system properly.
SendResult [sendStatus=SEND_OK, msgId=7F0000016A587EA987AC1BB54BAD0000, offsetMsgId=C0A8017000002A9F0000000000AC4C0Cˇˇ
# 验证消费消息正常
执行如下命令:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
# 能看到类似如下输出:
09:12:27.025 [main] DEBUG i.n.u.i.l.InternalLoggerFactory - Using SLF4J as the default logging framework
Consumer Started.
ConsumeMessageThread_2 Receive New Messages: [MessageExt [brokerName=broker-a, queueId=0, storeSize=212ˇˇ
开机启用服务:
systemctl enable rocketmq.service
服务状态:
systemctl status rocketmq
启动服务:
systemctl start rocketmq
关闭服务:
systemctl stop rocketmq
重启服务:
systemctl restart rocketmq
配置文件执行权限:
chmod a+x /etc/init.d/rocketmq
rcconf 查看是否开机启动
[*] rocketmq
[*] 中括号中有个*,代表是开机启动!
------
cat /etc/init.d/rocketmq
#!/usr/bin/env bash # ### BEGIN INIT INFO # Provides: rocketmq4.8 # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Should-Start: $network $time # Should-Stop: $network $time # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start rocketmq at boot time # Description: rocketmq - this script starts and stops the rocketmq daemon ### END INIT INFO ROCKETMQ_HOME=/app/rocketmq-4.8.0 ROCKETMQ_BIN=${ROCKETMQ_HOME}/bin ADDR=`hostname -i`:9876 #ADDR=192.168.1.112: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} -c ${ROCKETMQ_HOME}/conf/broker.conf > ${BROKER_LOG} 2>&1 & echo -n "The broker[ ${ADDR}] boot success..." nohup java -jar ./rocketmq-console-ng-2.0.0.jar >> ${ROCKETMQ_HOME}/logs/console.log 2>&1 & echo -n "The Console server boot success..." } stop() { #stop broker cd ${ROCKETMQ_HOME} sh bin/mqshutdown broker > ${BROKER_LOG} 2>&1 & sleep 1 #stop namesrv sh bin/mqshutdown namesrv > ${NAMESERVER_LOG} 2>&1 & #stop console PROCESS_NAME="rocketmq-console-ng-2.0" CUR_USER=`whoami` ps -ef | grep ${PROCESS_NAME} | grep ${CUR_USER} | grep -v grep | awk '{print $2}' | while read pid do kill -9 ${pid} 2>&1 >/dev/null echo "PROCESS:${PROCESS_NAME},PID:${pid} Successfully stopped" done } restart() { stop sleep 5 start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|restart}" exit 2 esac
- 本文标签: 其他
- 本文链接: https://www.jimmy2k.top/article/245
- 版权声明: 本文由JimmyZ的个人博客原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权