RocketMQ入门-安装RocketMQ

RocketMQ安装

本安装操作基于Centos7

环境准备

1.准备JDK环境

安装JDK环境不在此处进行描述了,详细请点击无外网环境搭建Jdk/Git/Maven/Docker

2.准备RocketMQ

下载请参考RocketMQ文档,详细点击链接,将压缩包上传至服务器。

配置RocketMQ环境变量:

  1. 创建临时目录并解压压缩包

    [root@localhost u01]# mkdir -p /u01/environment/rocketmq
    [root@localhost u01]# cd /u01/environment
    [root@localhost u01]# 上传文件到此目录下
    [root@localhost environment]# ll |grep rocketmq-all
    -rw-r--r-- 1 root root  13881969 4月  14 10:47 rocketmq-all-4.8.0-bin-release.zip
    [root@localhost environment]# unzip rocketmq-all-4.8.0-bin-release.zip -d rocketmq
    [root@localhost environment]# cd rocketmq
    [root@localhost rocketmq]# ls
    rocketmq-all-4.8.0-bin-release
    [root@localhost rocketmq]# cd rocketmq-all-4.8.0-bin-release/
    [root@localhost rocketmq-all-4.8.0-bin-release]# pwd
    /u01/environment/rocketmq/rocketmq-all-4.8.0-bin-release
    
  2. 在/etc/profile文件配置环境变量;添加两个环境变量ROCKETMQ_HOMENAMESRV_ADDR,只需要关注其中配置的目录是否正确

    export ROCKETMQ_HOME=/u01/environment/rocketmq/rocketmq-all-4.8.0-bin-release/
    export NAMESRV_ADDR=localhost:9876
    

    并追加$ROCKETMQ_HOME/bin给PATH环境变量

    export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin:$ROCKETMQ_HOME/bin
    
  3. 编辑rocketmq文件夹下bin目录下的runserver.sh和runbroker.sh脚本,修改其中的运行内存限制,调整至服务器可接收的大小,我这里调整为512m。

    runserver.sh脚本修改内容:

    JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    

    runbroker.sh脚本修改内容:

    JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn128m"
    JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=512m"
    
  4. 编辑rocketmq文件夹下conf目录下的broker.conf文件,添加如下两行,方便我们测试使用

    autoCreateTopicEnable=true
    #aclEnable=true
    
  5. 在rocketmq文件夹目录下创建一个init.sh脚本,脚本内容如下;它主要的功能是创建日志文件夹,用于存放我们启动namesrv和broker的日志

    #!/bin/bash
    #***********************************************
    #Author:        luotianhao
    #Mail:          tianhao.luo@hand-china.com
    #Version:       1.0
    #Date:          2021-04-14
    #FileName:      startup.sh
    #Description:   This is a test script.
    #***********************************************
    
    export LANG="zh_CN.UTF-8"
    
    #颜色配置
    RED_COLOR='\E[1;31m'
    GREEN_COLOR='\E[1;32m'
    YELLOW_COLOR='\E[1;33m'
    BLUE_COLOR='\E[1;34m'
    
    RES='\E[0m'
    
    
    
    DoIntroduce(){
      echo "1.请手动修改bin/runserver.sh和bin/runbroker.sh脚本中的启动服务内存大小,适配当前服务器内存!
      2.请将本脚本放入rocket根目录下"
    }
    
    GetPath(){
      NEWPATH=$PWD
    }
    
    DoIntroduceFirst(){
    echo -e "当前脚本所在目录为:${RED_COLOR}$NEWPATH${RES}
    "
    read -t 30 -p "请确认红色目录是你ROCKET根目录[y/n]:" CODE_DIR_RIGHT_FLAG
    
    case $CODE_DIR_RIGHT_FLAG in
      y)
        ;;
      n)
        exit 1
        ;;  
      *)
       echo "please input [y/n]"
       exit 1;
    esac
    }
    
    
    DoCreateLogDir(){
    	#创建日志文件夹
    	LOG_DIR="$NEWPATH/log"
    	[ -e $LOG_DIR ] || {
    	  echo -e "创建${RED_COLOR}$LOG_DIR${RES}日志目录"
    	  mkdir -p $LOG_DIR
    	} && {
    	  echo -e "${GREEN_COLOR}$LOG_DIR${RES}日志目录已经存在了"
    	} 
    }
    
    
    Main(){
      #获取路径
      GetPath
      #介绍
      DoIntroduce
      #介绍
      DoIntroduceFirst
      #启动
      DoCreateLogDir
    }
    
    Main
    

启动测试

1.初始化日志文件夹

执行上面init脚本

2.启动

启动namesrv和broker,并查看日志

[root@localhost rocketmq-all-4.8.0-bin-release]# sh bin/mqnamesrv  > log/namesrv.log 2>&1 &
[root@localhost rocketmq-all-4.8.0-bin-release]# sh bin/mqbroker -c conf/broker.conf > log/broker.log 2>&1 &
[root@localhost rocketmq-all-4.8.0-bin-release]# tail -f log/namesrv.log 
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON
^C
[root@localhost rocketmq-all-4.8.0-bin-release]# tail -f log/broker.log 
The broker[broker-a, 192.168.15.79:10911] boot success. serializeType=JSON and name server is localhost:9876
2.测试

先使用jps检查是否启动了,如果有NamesrvStartup和BrokerStartup表示已经启动成功。

执行sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer来发送消息,执行sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer来消费消息。

[root@localhost rocketmq-all-4.8.0-bin-release]# jps
104368 Jps
102403 NamesrvStartup
103715 BrokerStartup
[root@localhost rocketmq-all-4.8.0-bin-release]# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
[root@localhost rocketmq-all-4.8.0-bin-release]# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值