zoukankan      html  css  js  c++  java
  • Linux centos 7.6安装RocketMQ4.2.0及控制台

    准备环境

    【1】环境准备

    RocketMQ依赖于java及maven,所以要先安装。

    java安装参考:https://www.cnblogs.com/yyee/p/14570661.html

    maven安装参考:https://www.cnblogs.com/yyee/p/14583297.html

    下载RocketMQ

    【2】下载Rocketmq

    rocketmq各版本下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/

    目前最新牌本4.8.0,一个源码下载包,一个编译好的二进制下载包,使用wget下载二进制版本:

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip

    下载 源码版本:

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.8.0/rocketmq-all-4.8.0-source-release.zip

    进去下载4.8.0

     

    安装RocketMQ

     【3】解压

    unzip -d /opt/  /tools/rocketmq/rocketmq-all-4.8.0-bin-release.zip

    【4】使用maven打包

    我这里是下载编译好的二进制版本,所以不需要打包。

    如果下载的是RocketMQ源码就要打包,打包命令如下:

    cd /opt/rocketmq-all-4.8.0-bin-release/
    mvn -Prelease-all -DskipTests clean install -U
    cd distribution/target/apache-rocketmq

    【5】修改配置

    RocketMQ默认需要8G的内存,我用的是虚拟机,哪有 8G的内存,所以把内存配置改一下,需要修改两个文件。

    (1)修改bin/runserver.sh文件

    vi bin/runserver.sh
    #找到这一句
    JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    #改成你想要的配置
    JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

     (修改前)

    (修改后)

     (2)修改bin/runbroker.sh

    vi bin/runbroker.sh
    #找到这一句
    JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
    #修改成你想要的配置
    JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"

     (修改前)

    (修改后) 

    如果不修改默认的内存配置,启动mqnameserver或broker的时候会输出错误:

    Native memory allocation (malloc) failed to allocate 8589934592 bytes for committing reserved memory.

    因为分配的内存超过了虚拟机的内存。

      【6】配置环境变量

    vim /etc/profile
    
    # 将如下配置加到/etc/profile文件的最后一行
    export NAMESRV_ADDR=127.0.0.1:9876

    【7】启动Name Server

    #启动name server
    cd /opt/rocketmq-all-4.8.0-bin-release/bin
    nohup sh mqnamesrv &
    #查看启动日志
    cat nohup.out
    #或者查看日志 tail -f ~/logs/rocketmqlogs/namesrv.log

    有输出 The Name Server boot success. serializeType=JSON 这一行信息,表示启动成功。

    Name Server的默认端口为9876,运行sh bin/mqnamesrv -p可查看Name Server的配置项,并可通过-c namesrv.conf方式指定配置文件启动;

    #指定配置文件启动
    nohup sh bin/mqnamesrv -c namesrv.conf >/dev/null 2>&1 &

    【8】启动Broker

    #启动mqbroker
    cd /opt/rocketmq-all-4.8.0-bin-release/bin
    nohup sh mqbroker -n localhost:9876 & 
    #查看启动日志
    cat nohup.out
    #或者查看日志 tail -f ~/logs/rocketmqlogs/broker.log 

    有输出 The broker[dfc200, 10.10.61.200:10911] boot success. serializeType=JSON and name server is localhost:9876 这一句信息表示启动成功。

    可以通过下面的命令查看 RocketMQ进程信息

    ps -aux | grep  rocketmq
    ps -ef | grep rocketmq

    【9】 执行测试
    建议分别打开两个不同的窗口用于生产者与消费者。

    # 发送消息 
    # 1. 在发送/接收消息之前,我们需要告诉客户名称服务器的位置,RocketMQ 提供了多种方法来实现这一点。(默认可以不设置)
    export NAMESRV_ADDR=localhost:9876 # 
    
    2.使用安装包的Demo发送消息 sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer 
    
    # 接收消息 
    # 1.设置环境变量(默认可以不设置)
     export NAMESRV_ADDR=localhost:9876 # 
    
    2.接收消息 
    sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

    【10】查看rockemq的端口9876是否监听

    netstat -ano |grep 9876

     【11】关闭服务,常用命令

    sh bin/mqshutdown broker    //停止 broker
    sh bin/mqshutdown namesrv   //停止 nameserver
    ./mqadmin clusterList -n 127.0.0.1:9876 #查看集群情况
    ./mqadmin brokerStatus -n 127.0.0.1:9876 -b 10.10.61.200:10911 #查看 broker 状态  (注意换成你的 broker 地址)
    ./mqadmin topicList -n 127.0.0.1:9876 #查看 topic 列表 
    ./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic #查看 topic 状态  (换成你想查询的 topic)
    ./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic #查看 topic 路由 

    安装RocketMQ控制台

    【12】安装git

    查看git是否安装

    git -version

    如果没有安装,先安装git

    sudo yum -y install git

    从GitHub上克隆一个RocketMQ控制台。

    cd /tools
    git clone https://github.com/apache/rocketmq-externals.git

    修改rocketmq控制台端口,默认端口为8080,如果想用其它端口可以根据需求修改。

    #进入到控制台项目的文件夹下rocketmq-console
    cd /opt/rocketmq-externals/rocketmq-console
    vi src/main/resources/application.properties

    修改你想要监听的端口,默认端口为8080

    #监听端口
    server.port=8080
    #rocketmq服务器地址,如果有多个地址,地址间用分号隔开rocketmq.config.namesrevAddr=10.10.61.200:9876;10.10.61.201:9876
    rocketmq.config.namesrevAddr=10.10.61.200:9876
    #isVIPChannel设为false
    rocketmq.config.isVIPChannel=false
    #数据目录可以自己定义
    rocketmq.config.dataPath=/tmp/rocketmq-console/data

      添加防火墙端口 9876与8080,可以让外面访问。

    firewall-cmd --add-port=8080/tcp --permanent 
    firewall-cmd --add-port=9876/tcp --permanent 

    用maven编译jar包,编译需要较长时间,请耐心等待。然后运行jar文件。

    mvn clean package -Dmaven.test.skip=true
    java -jar target/rocketmq-console-ng-2.0.0.jar --rocketmq.config.namesrvAddr=‘10.10.61.169:9876

    启动成功会输出如下信息: 

     然后在浏览器地址栏输入 10.10.61.200:8080查看控制台,访问控制台默认不需要密码。

  • 相关阅读:
    DataTable.AcceptChanges方法有何用处
    中山西路620号 的人才服务中心搬到 梅园路77号去了
    Congos
    ps -aux返回超过100%
    to_date如何处理毫秒?
    SNMP_802.1
    交换机
    Oracle字符编码
    CRON
    交换机
  • 原文地址:https://www.cnblogs.com/yyee/p/14592056.html
Copyright © 2011-2022 走看看