• linux 安装 RocketMQ 4.7


    安装介绍

    • 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用户区分开。

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

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

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

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

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

    启动RocketMQ

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

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

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

    1. RocketMQ默认预设的JVM内存是4G,这是RocketMQ给我们的最佳配置,修改的方式是直接修改
    2. bin/runserver.sh。 用vi runserver.sh编辑这个脚本
    3. 修改为如下:
    4. JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m
    5. XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    6. 然后我们用静默启动的方式启动NameServer服务
    7. nohup bin/mqnamesrv &

    2、启动broker,Broker的默认预设内存是8G,也需要调整再启动(先确认namesrv启动完,再执行)

    1. bin目录下 vi runbroker.sh,找到这一行,内存调整如下:
    2. JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
    3. 找到conf/broker.conf, vi指令进行编辑,在最下面加入一个配置
    4. autoCreateTopicEnable=true
    5. 然后也以静默启动的方式启动runbroker.sh
    6. nohup ./mqbroker &
    7. ## 这个方式启动,可以在mq的管理console界面上看到集群信息
    8. nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &

    3、校验broker是否连上namesrv

    执行命令:sh mqadmin clusterList -n localhost:9876   如果看到下图所示,则代表连接成功

    mq的管理console界面上看到集群信息

    验证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. # 1.关闭NameServer
    2. sh bin/mqshutdown namesrv
    3. # 2.关闭Broker
    4. sh bin/mqshutdown broker

  • 相关阅读:
    磨金石教育摄影技能干货分享|乡愁摄影作品欣赏——传统建筑篇
    69. UE5 RPG 使用Gameplay Cue 实现技能表现效果
    从入门开始手把手搭建千万级Java算法测试-快速排序与随机快速排序比较
    Kubernetes Dashboard安装部署
    SpringBoot中@ConfigurationProperties的使用
    【随笔】Git 高级篇 -- 分离 HEAD(十一)
    【hexo博客配置】hexo icarus主题配置
    JavaScript 49 JavaScript 作用域
    xgboost 为什么拟合残差能获得更好的效果(思考)
    uniapp分包
  • 原文地址:https://blog.csdn.net/qq_27052085/article/details/140443694