Rocketmq环境配置

修改配置文件 broker.conf

位于$ROCKETMQ_HOME/conf目录下 ,启动的时候可以通过-c参数加载该配置文件

#集群名称,可自定义
brokerClusterName=DefaultCluster
brokerName=broker‐a
brokerId=0
#rocketmq‐name服务地址,多个地址用;分开,不配置默认为localhost:9876
namesrvAddr=192.168.18.130:9876
deleteWhen=04
fileReservedTime=48
#主从角色SYNC_MASTER,ASYNC_MASTER,SLAV
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
##允许自动创建主题topi
autoCreateTopicEnable=true
#broker监听端口
listenPort=10911
#消息存储根路径
storePathRootDir=/data/rocketmq/store
#日志路径
storePathCommitLog=/data/rocketmq/store/commitlog
  • 1.namesrvAddr : NameServer地址,可以配置多个,用逗号分隔;

  • 2.brokerClusterName 所属集群名称,如果节点较多可以配置多个

  • 3.brokerName broker名称,master和slave使用相同的名称,表明他们的主从关系

  4.brokerId 0表示Master,大于0表示不同的slave

  5.deleteWhen 表示几点做消息删除动作,默认是凌晨4点

  6.fileReservedTime 在磁盘上保留消息的时长,单位是小时

  7.brokerRole 有三个值:【SYNC_MASTER,ASYNC_MASTER,SLAVE】;同步和异步表示Master和Slave之间同步数据的机制;

  8.flushDiskTyp 刷盘策略,取值为:【ASYNC_FLUSH,SYNC_FLUSH】表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;

  9.listenPort 启动监听的端口号

  10.storePathRootDir 存储消息的根目录

  11.storePathCommitLog 默认路径${user.home} \store\${commitlog}\${fileName}

内存设置

      修改$ROCKETMQ_HOME/bin/runserver.sh 和$ROCKETMQ_HOME/bin/runbroker.sh中JAVA_OPT关于内存的设置

[root@xxx bin]# cat -n runserver.sh 
     1    #!/bin/sh
     2    
     3    # Licensed to the Apache Software Foundation (ASF) under one or more
     4    # contributor license agreements.  See the NOTICE file distributed with
     5    # this work for additional information regarding copyright ownership.
     6    # The ASF licenses this file to You under the Apache License, Version 2.0
     7    # (the "License"); you may not use this file except in compliance with
     8    # the License.  You may obtain a copy of the License at
     9    #
    10    #     http://www.apache.org/licenses/LICENSE-2.0
    11    #
    12    # Unless required by applicable law or agreed to in writing, software
    13    # distributed under the License is distributed on an "AS IS" BASIS,
    14    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15    # See the License for the specific language governing permissions and
    16    # limitations under the License.
    17    
    18    #===========================================================================================
    19    # Java Environment Setting
    20    #===========================================================================================
    21    error_exit ()
    22    {
    23        echo "ERROR: $1 !!"
    24        exit 1
    25    }
    26    
    27    [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
    28    [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
    29    [ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)!"
    30    
    31    export JAVA_HOME
    32    export JAVA="$JAVA_HOME/bin/java"
    33    export BASE_DIR=$(dirname $0)/..
    34    export CLASSPATH=.:${BASE_DIR}/conf:${CLASSPATH}
    35    
    36    #===========================================================================================
    37    # JVM Configuration  修改此处的内存大小,默认为4g,一般我们的虚拟机内存都设置的比较小 , 根据自己机器的配置合理设置
    38    #===========================================================================================
    39    JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=64m"
    40    JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8  -XX:-UseParNewGC"
    41    JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:/dev/shm/rmq_srv_gc.log -XX:+PrintGCDetails"
    42    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
    43    JAVA_OPT="${JAVA_OPT}  -XX:-UseLargePages"
    44    JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${BASE_DIR}/lib"
    45    #JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
    46    JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
    47    JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"
    48    
    49    $JAVA ${JAVA_OPT} $@

修改配置文件 broker.conf,配置brokerIP

# 指定broker的ip为主网卡的地址
brokerIP1=192.168.18.130

先启动namesrv ,然后启动broker

启动namesrv

[root@xxx bin]# pwd
/usr/local/rocketmq/rocketmq-all-4.3.2-bin-release/bin
[root@artisan bin]# nohup ./mqnamesrv -n 192.168.18.130:9876&
[1] 15588
[root@xxx bin]# nohup: ignoring input and appending output to ‘nohup.out’
tail -f nohup.out
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

[root@artisan bin]# jps 查看启动的java进程
15591 NamesrvStartup
20968 Jps

启动broker

    在$ROCKETMQ_HOME/bin下执行

nohup ./mqbroker -n 192.168.18.130:9876 -c ../conf/broker.conf autoCreateTopicEnable=true &

    -c 参数 加载配置文件

    在$ROCKETMQ_HOME/bin下执行 nohup ./mqbroker -n 192.168.18.130:9876 -c ../conf/broker.conf autoCreateTopicEnable=true &

    192.168.18.130:9876为nameserver,broker要注册到该namesrv 注册中心
    autoCreateTopicEnable=true(允许创建topic),如果broker.conf配置了autoCreateTopicEnable=true,启动命令中可以省略

查看broker启动配置

    在$ROCKETMQ_HOME/bin下执行 ./mqbroker -m

启动控制台

java -jar rocketmq-console-ng-1.0.0.jar --rocketmq.config.namesrvAddr=127.0.0.1:9876

正常退出 (推荐)

$ROCKETMQ_HOME/bin 调用mqshutdown 脚本执行

  • ./mqshutdown broker 关闭broker
  • ./mqshutdown namesrv 关闭namesrv
posted on 2021-01-10 19:18  溪水静幽  阅读(17)  评论(0)    收藏  举报