安装介绍

  • Centos 7
  • RocketMQ 4.7
  • JDK 1.8  (安装JDK参考)
  • RocketMQ的官网地址: http://rocketmq.apache.org
  • Github地址是 https://github.com/apach e/rocketmq

安装操作

下载RocketMQ

RocketMQ运行版本下载地址: Rocketmq-all-4.7.1-bin-release.zip

RocketMQ源码版本下载地址: https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/r ocketmq-all-4.7.1-source-release.zip

这两个版本我们都下载下来。

安装RocketMQ

1、创建用户及目录,创建一个操作用户用来运行自己的程序,与root用户区分开。

#设置用户密码
[root@worker1 ~]# useradd app
[root@worker1 ~]# passwd app
#创建目录,并更改用户及用户组
[root@worker1 ~]# mkdir /home/app
[root@worker1 ~]# chown oper:oper /home/app

2、解压文件,进入到rocketmq目录,没有的话创建一下。

su app  #切换用户
cd /home/app #切换目录
mkdir rocketmq #创建目录
tar -zxvf rocketmq-all-4.7.1-bin-release.zip #解压文件

3、配制环境变量,完成安装

1、把rocketmq的bin目录也配置到环境变量当中
执行命令:vi ~/.bash_profile
 export JAVA_HOME=/app/jdk1.8/
 export ROCKETMQ_HOME=/home/app/rocketmq/rocketmq-all-4.7.1-bin-release
 PATH=$ROCKETMQ_HOME/bin:$JAVA_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
 export PATH
处理添加ROCKETMQ_HOME 并修改 PATH
2、退出编辑,并执行source ~/.bash_profile让环境变量生效

启动RocketMQ

RocketMQ由以下这几个组件组成,所以我们要启动RocketMQ服务,需要先启动NameServer。

  • NameServer : 提供轻量级的Broker路由服务。
  • Broker:实际处理消息存储、转发等服务的核心组件。
  • Producer:消息生产者集群。通常是业务系统中的一个功能模块。
  • Consumer:消息消费者集群。通常也是业务系统中的一个功能模块。

1、修改NameServer服务的启动内存,再启动

RocketMQ默认预设的JVM内存是4G,这是RocketMQ给我们的最佳配置,修改的方式是直接修改
bin/runserver.sh。 用vi runserver.sh编辑这个脚本

修改为如下:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m 
XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

然后我们用静默启动的方式启动NameServer服务
nohup bin/mqnamesrv &

2、启动broker,Broker的默认预设内存是8G,也需要调整再启动

bin目录下 vi runbroker.sh,找到这一行,内存调整如下:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

找到conf/broker.conf, vi指令进行编辑,在最下面加入一个配置
autoCreateTopicEnable=true

然后也以静默启动的方式启动runbroker.sh
nohup ./mqbroker &

验证RocketMQ

在RocketMQ的安装包中,提供了一个tools.sh工具可以用来在命令行快速验证RocketMQ服务。

首先需要配置一个环境变量NAMESRV_ADDR指向我们启动的NameServer服务。

  • 执行命令:export NAMESRV_ADDR='localhost:9876'

启动消息生产者发送消息:默认会发1000条消息

  • 执行命令:bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

启动消息消费者接收消息

  • 执行命令:bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

注意:如果在发送消息时报如下错

org.apache.rocketmq.acl.common.AclException: [10015:signature-failed] unable to calculate a request signature. error=[10015:signature-failed] unable to calculate a request signature. error=Algorithm HmacSHA1 not available

可以尝试通过这些操作试一下

修改tools.sh的内存

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn64m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"

配置tools.sh的"Djava.ext.dirs",添加jvm的ext绝对路径,在最后加上

JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib:${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext"
 

关闭RocketMQ

要关闭RocketMQ服务可以通过mqshutdown脚本直接关闭

# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部