centos7安装rocketmq5.1及开机启动

1.准备工作

系统环境:oracle vm virsual CentOS Linux release 7.9.2009 (Core)

RocketMQ版本:rocketmq-all-5.1.1-bin-release.zip

JDK: openjdk1.8

2.部署

解压rocketmq

unzip rocketmq-all-5.1.1-bin-release.zip

迁移到想要的目录中

mv rocketmq-all-5.1.1-bin-release /usr/local

名称太长,改名(个人习惯)

mv rocketmq-all-5.1.1-bin-release rocketmq-5.1.1

在rocketmq-5.1.1的bin路径下,分别对runserver.sh,runbroker.sh,tools.sh 三个文件进行内存调整,若只是单机,建议: -Xms256m -Xmx256m -Xmn128m 

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m ***********

3.启动

启动namesrv(请顺序启动哈,先namesrv,再broker)

$ nohup sh bin/mqnamesrv &


启动完成后,查看日志

$ tail -f ~/logs/rocketmqlogs/namesrv.log

后启动broker,broker.conf :单主,异步刷盘,目前我们只用这个简单版本

 nohup sh bin/mqbroker -c conf/broker.conf  -n 127.0.0.1:9876 &

启动完成后查看日志

$ tail -f ~/logs/rocketmqlogs/broker.log

4.测试

生产者

# 设置 Namesrv 服务器的地址
export NAMESRV_ADDR=127.0.0.1:9876
# 执行生产者 Producer 发送测试消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

消费者

# 设置 Namesrv 服务器的地址
export NAMESRV_ADDR=127.0.0.1:9876

# 执行消费者 Consumer 消费测试消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

5.关闭服务

# sh bin/mqshutdown broker  //停止 broker
# sh bin/mqshutdown namesrv //停止 nameserver

6.开机启动

支持2种开机启动,一种是通过systemctl管理,另外一种是脚本通过service管理,本人更喜欢脚本!

systemctl方式

进入/lib/systemd/system目录下,创建rocketmq-namesrv.service文件

touch rocketmq-namesrv.service

编辑文件内容:

[Unit]
Description=RocketMQ Namesrv
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=sample
User=root
ExecStart=/usr/local/rocketmq/rocketmq-5.1.1/bin/mqnamesrv
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=0
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

创建broker服务文件

touch rocketmq-broker.service

编辑文件内容:

[Unit]
Description=rocketmq-broker
After=network.target

[Service]
Type=sample
User=root
ExecStart=/usr/local/rocketmq-5.1.1/bin/mqbroker -c /usr/local/rocketmq-5.1.1/bin/mqbroker/conf/broker.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=0
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

内容编辑完成后,启动、停止

systemctl start rocketmq-namesrv.service

systemctl start rocketmq-broker.service 

systemctl stop rocketmq-namesrv.service

systemctl stop rocketmq-broker.service 

变更完成后需要先:systemctl daemon-reload

开机启动:

systemctl enable rocketmq-broker.service
systemctl enable rocketmq-namesrv.service

service方式

进入目录/etc/init.d,创建文件:

touch rocketmq

编辑文件:

#!/bin/sh
#
# rocketmq - this script starts and stops the rocketmq daemon
#
# chkconfig: - 85 15

ROCKETMQ_HOME=/usr/local/rocketmq-5.1.1/
ROCKETMQ_BIN=${ROCKETMQ_HOME}/bin
ADDR=127.0.0.1:9876
LOG_DIR=${ROCKETMQ_HOME}/logs

start() {
if [ ! -d ${LOG_DIR} ];then
mkdir ${LOG_DIR}
fi
cd ${ROCKETMQ_HOME}
nohup sh bin/mqnamesrv &
echo -n "The Name Server boot success..."
nohup sh bin/mqbroker -c ${ROCKETMQ_HOME}/conf/broker.conf
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
"rocketmq" 48L, 731C written
[root@localhost init.d]# chmod +x /etc/init.d/rocketmq
[root@localhost init.d]# chkconfig --add rocketmq 
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# cat rocketmq 
#!/bin/sh
#
# rocketmq - this script starts and stops the rocketmq daemon
#
# chkconfig: - 85 15

ROCKETMQ_HOME=/root/data/rocketmq/rocketmq-5.1.1/
ROCKETMQ_BIN=${ROCKETMQ_HOME}/bin
ADDR=127.0.0.1:9876
LOG_DIR=${ROCKETMQ_HOME}/logs

start() {
if [ ! -d ${LOG_DIR} ];then
mkdir ${LOG_DIR}
fi
cd ${ROCKETMQ_HOME}
nohup sh bin/mqnamesrv &
echo -n "The Name Server boot success..."
nohup sh bin/mqbroker -c ${ROCKETMQ_HOME}/conf/broker.conf
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

添加权限

chmod +x /etc/init.d/rocketmq

添加服务

chkconfig --add rocketmq
chkconfig rocketmq on

再运行chkconfig --list查看是否出现以下内容,出现则代表加入成功了

 通过service来进行管理

service rocketmq start	#启动
service rocketmq stop	#关闭
service rocketmq restart	#重启

结束了!希望对大家有所帮助哈.

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值