centos7.9 rocketMq安装和管理端单机部署安装

官方文档 环境 centos7.9 openjdk17

下载解压

配置好环境 下载编译好的二进制文件

配置文件修改

解压后进行配置 默认启动内存过高,启动失败;需要重新配置;(内存够用的无需以下配置)

  1. 位置在 解压文件bin目录下runserver.sh JAVA_OPT=“${JAVA_OPT} -server -Xms128m -Xmx128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m”
{
    # Example of JAVA_MAJOR_VERSION value : '1', '9', '10', '11', ...
    # '1' means releases before Java 9
    JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | awk -F '"' '/version/ {print $2}' | awk -F '.' '{print $1}')
    if [ -z "$JAVA_MAJOR_VERSION" ] || [ "$JAVA_MAJOR_VERSION" -lt "9" ] ; then
      JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
      JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC"
      JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
      JAVA_OPT="${JAVA_OPT} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
    else
      #这下面第一个原来设置内存太大自行修改合适内存
      JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m"
      JAVA_OPT="${JAVA_OPT} -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0"
      JAVA_OPT="${JAVA_OPT} -Xlog:gc*:file=${GC_LOG_DIR}/rmq_srv_gc_%p_%t.log:time,tags:filecount=5,filesize=30M"
    fi
}
  1. bin目录下runbroker.sh JAVA_OPT=“${JAVA_OPT} -server -Xms128m -Xmx128m”
choose_gc_log_directory

#这下面第一行修改内存大小
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m"
choose_gc_options
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -XX:+AlwaysPreTouch"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=15g"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages -XX:-UseBiasedLocking"
#JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"
  1. conf目录下 broker.conf 新增
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr = 公网ip:9876
autoCreateTopicEnable = true
brokerIP1 = 公网ip

启动

参考官方网站

  1. 启动NameServer(输入命令位置在bin上一层目录)

命令在位置 cd /usr/local/mq/rocketmq-all-5.3.1-bin-release/ (不要进入bin下启动;在bin上一层目录)

启动 nohup sh bin/mqnamesrv &

关闭 nohup sh bin/mqshutdown namesrv

  1. 启动Broker+Proxy (输入命令位置在bin上一层目录)

nohupsh bin/mqbroker -n localhost:9876 --enable-proxy &

端口占用问题解决 (json格式 自定义端口即可) 目录/conf/rmq-proxy.json

{
  "rocketMQClusterName": "DefaultCluster",
  "grpcServerPort": 自定义端口,
  "remotingListenPort": 自定义端口
}

需要阿里云安全组开通以便在另外服务器访问(如果都是本地服务器部署不用开通)

排查问题可以在解压根目录下 nohup.out 文件查看Mon Dec 23 17:19:58 CST 2024 rocketmq-proxy startup successfully 启动成功

阿里云服务器安全组开通端口10911 10909 9876

服务端完成

客户端RocketMQ Dashboard

参考官网下载;不一定非要部署到服务端上(centos中) 我直接放到自己电脑上了 用idea打开运行即可

配置文件参考


spring:
application:
name: rocketmq-dashboard

logging:
config: classpath:logback.xml

rocketmq:
config:
# if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, default localhost:9876
# configure multiple namesrv addresses to manage multiple different clusters
namesrvAddrs:
- 公网ip:9876
#      - 127.0.0.2:9876
#      - 10.151.47.32:9876;10.151.47.33:9876;10.151.47.34:9876
#      - 10.151.47.30:9876
# if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
  isVIPChannel:
  # timeout for mqadminExt, default 5000ms
  timeoutMillis:
  # rocketmq-console's data path:dashboard/monitor
  dataPath: /tmp/rocketmq-console/data
  # set it false if you don't want use dashboard.default true
  enableDashBoardCollect: true
  # set the message track trace topic if you don't want use the default one
  msgTrackTopicName:
  ticketKey: ticket
  # must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
  loginRequired: false
  useTLS: false
  proxyAddr: 公网ip:端口
  proxyAddrs:
  - 公网ip:端口

proxyAddr 端口就是 “remotingListenPort”: 的端口号


注意: 此模式是代理模式启动,topic不存在不会自动创建
全部完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值