rocketMQ+centos+安装配置

参考资料

CentOS7上从零开始安装阿里RocketMQ版本:release-4.0.1【亲测哈哈】

CentOS7下安装rocketmq

【MQ】CentOS7安装RocketMQ

CentOS7 安装RocketMQ并测试使用

Linux下RocketMQ环境的配置

安装

从官网看有什么安装包。

这里写图片描述

好,安装4.2的。

wget http://mirrors.hust.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip
更新2:新版本
wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip

这里写图片描述

#新建一个新的程序文件夹用来放rocketmq
mkdir -p /usr/local/rocketmq
解压:
unzip rocketmq-all-4.2.0-bin-release.zip -d /usr/local/rocketmq
更新2:新版本
unzip rocketmq-all-4.5.1-bin-release.zip -d /usr/local/rocketmq

#注,如果unzip说command not foun的,请按照unzip
#yum install unzip

这里写图片描述

好了,打开文件路径:

cd /usr/local/rocketmq/

测试一下nameserver

nohup sh bin/mqnamesrv &

然后看到:

这里写图片描述

然后,

这里写图片描述

有错误,
这里写图片描述

内存不足,好,测试环境调低一点内存容量。

vim bin/runbroker.sh

看到:
这里写图片描述
调低内存:

到:

-server -Xms8g -Xmx8g -Xmn4g
===>
-server -Xms256m -Xmx256m -Xmn128m

[外链图片转存失败(img-HCb6rI9w-1563680831824)(http://p7040fjon.bkt.clouddn.com/QQ截图20180713133740.png)]

解决办法,找到runserver.sh和runbroker.sh,编辑 
JAVA_OPT=”${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m” 
改成如上就可以了
vim bin/runserver.sh

看到:
[外链图片转存失败(img-lBbNL5GA-1563680831825)(http://p7040fjon.bkt.clouddn.com/QQ截图20180713140032.png)]

改为:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"

[外链图片转存失败(img-qIqc3C94-1563680831825)(http://p7040fjon.bkt.clouddn.com/QQ截图20180713140252.png)]

测试:

bin/mqnamesrv

[外链图片转存失败(img-Rjj2HYj3-1563680831825)(http://p7040fjon.bkt.clouddn.com/QQ截图20180713140348.png)]

测试通过。

追加-实用脚本

在单机情况下,每次都记住服务开启的命令是很麻烦的,下面提供几个脚本:
运行namesrv:

startSrv.sh

touch startSrv.sh
chmod +x startSrv.sh
vim startSrv.sh

内容如下:

#!/bin/sh
nohup sh ./bin/mqnamesrv  >  ~/logs/rocketmqlogs/namesrv.log  &
tail -f ~/logs/rocketmqlogs/namesrv.log

stopSrv.sh

touch stopSrv.sh
chmod +x stopSrv.sh
vim stopSrv.sh

内容如下:

#!/bin/sh
./bin/mqshutdown namesrv

broker执行:

startBroker.sh

touch startBroker.sh
chmod +x startBroker.sh
vim startBroker.sh
#!/bin/sh
#注意,下面的ip地址以及端口请填写你安装的rocketmq机器的ip地址及端口。
nohup sh bin/mqbroker  -n xxx.xx.xx.xx:9876  >  ~/logs/rocketmqlogs/broker.log   &
tail  -f  ~/logs/rocketmqlogs/broker.log
~                                       

stopBroker.sh

touch stopBroker.sh
chmod +x stopBroker.sh
vim stopBroker.sh

#!/bin/sh
./bin/mqshutdown broker

简化设置及操作 — 待补充

为了简化一下操作,需要设置环境变量:

设置环境变量
其实不设置环境变量也可以,但是我们为了进一步简化后续的broker集群命令,所以还是设置一下吧。
配置rocketmq的环境变量
vim /etc/profile

在结尾添加
#设置rocketmq的环境变量
export ROCKETMQ_HOME=/usr/local/rocketmq
export PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH

按esc+!wq保存

使rocketmq的配置生效
source /etc/profile

其余操作


启动Name Server
注意:启动前需要设置name server的jvm参数,默认堆内存耗费4g,内存设置不合理会导致异常情况发生。
需要设置默认内存。

启动name server
nohup sh mqnamesrv &
查看日志
tail -f /root/logs/rocketmqlogs/namesrv.log
关闭name server
nohup sh mqshutdown namesrv
name server启动好后,端口默认为9876


启动Broker(非集群,集群模式会在后面文章讲解)
注意:启动前需要设置broker的jvm参数,默认堆内存耗费8g,内存设置不合理会导致异常情况发生。
需要设置默认内存:

启动broker
nohup sh mqbroker -n localhost:9876 &

查看日志
tail -f /root/logs/rocketmqlogs/broker.log

关闭broker(不会马上关闭,大概有10秒左右的延迟。不要使用kill来关闭broker,会造成消息丢失。)
nohup sh mqshutdown broker

进阶配置

请参考:
Linux下RocketMQ环境的配置

单机下配置自动服务–废弃

为什么这个单元会废弃?
因为有些地方是无解的,譬如说,即使用了nohup 执行程序还是会卡住线程的,譬如:
在这里插入图片描述

在变成service以后也是这样无论用不用nohup都会卡住动不了下一个。。等以后再服务化,先草稿。。

单机情况可以这样配置service:

nameAddr的配置:

#打开service存放目录
cd /lib/systemd/system/
#创建文件
sudo touch MqNameSrv.service
#添加执行权限。
sudo chmod +x MqNameSrv.service
#编辑文件
sudo vim  MqNameSrv.service

输入内容如下:

[Unit]
Description=mq的namesrv服务
After=syslog.target network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
ExecStart=/opt/rocketmq-4.4.0/bin/mqnamesrv
ExecStop=/opt/rocketmq-4.4.0/bin/mqshutdown namesrv
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

保存,然后重新加载服务:

systemctl daemon-reload

启动:

systemctl start MqNameSrv
#查看状态是
systemctl status MqNameSrv
#关闭重启是
systemctl stop和restart MqNameSrv

添加开机启动是:

systemctl enable MqNameSrv

坑一 请设置 java_home

如下图
在这里插入图片描述

然后,你会发现,自己是有java_home这个变量设定的,问题在哪里?
请参考:
ubuntu14.04-rocketmq单机搭建

打开命令文件

sudo  vim  /opt/rocketmq-4.4.0/bin/mqnamesrv

发现调用的是
在这里插入图片描述

runserver.sh查看runserver.sh:
在这里插入图片描述

诶,这一段判断位置的。。注释掉即可然后会发现,还是找不到java home的,这时候,请将脚本从bin/sh改为bash且添加一句话:
source /etc/profile
注意,如果不是bash,那么source会提示找不到命令的。
如下图:
在这里插入图片描述

注意,在mqnamesrv上面要改为 bash /xxxx.sh 如下图:
在这里插入图片描述

mqbroker出现java_home问题

一样的解决方案,
在mqbroker上面这样改:
在这里插入图片描述

然后:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值