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
浙公网安备 33010602011771号