目录
Centos7部署rocketmq分片集群
一、环境准备
#rocketmq依赖环境:
1、JDK1.8+
2、Maven 3.2X
3、Git
PS:rocketmq默认jdk的位置为/usr/local/jdk,若位置不在此处,需要手动修改配置文件
二、部署rocketmq
2.1、下载rocketmq
wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.9.0/rocketmq-all-4.9.0-bin-release.zip
#更新下载链接 2021.20.14
wget https://archive.apache.org/dist/rocketmq/4.9.0/rocketmq-all-4.9.0-bin-release.zip
2.2、解压包
unzip rocketmq-all-4.9.0-bin-release.zip
2.3、根据实际,修改jvm参数
#修改runserver.sh、runbroker.sh
1、修改runserver.sh
vim rocketmq/bin/runserver.sh
... ...
#可以在此处修改jdk位置
export JAVA_HOME
export JAVA="$JAVA_HOME/bin/java"
export BASE_DIR=$(dirname $0)/..
export CLASSPATH=.:${BASE_DIR}/conf:${CLASSPATH}
... ...
#在此处修改内存堆栈大小
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
... ...
2、修改runbroker.sh
vim rocketmq/bin/runbroker.sh
... ...
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g"
... ...
三、修改配置文件,配置集群
本次实验配置3m-3s集群
3.1、broker.properties文件设置
# 集群名,不同broker节点集群名是一样的
brokerClusterName=1data
# broker名字,不同broker节点brokerName是唯一的
brokerName=broker-a
# 0表示Master,大于0表示 Slave
brokerId=0
#nameServer地址,多个用英文分号分割
namesrvAddr=10.10.101.110:9876;10.10.101.111:9876;10.10.101.112:9876
# 删除文件时间点,默认凌晨 4点
deleteWhen=04
# 文件保留时间,默认 48 小时
fileReservedTime=48
# 当前节点角色,ASYNC_MASTER=异步复制Master模式,SYNC_MASTER=同步双写Master模式,复制节点设置为SLAVE
brokerRole=ASYNC_MASTER
# 刷盘模式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘
flushDiskType=ASYNC_FLUSH
# 数据存储路径(同一节点上master与slave需在不同目录)
storePathRootDir=/data/server-data/rocketmq/store
# commitLog 存储路径(同一节点上master与slave需在不同目录)
storePathCommitLog=/data/server-data/rocketmq/store/commitlog
# 消费队列存储路径存储路径(同一节点上master与slave需在不同目录)
storePathConsumeQueue=/data/server-data/rocketmq/store/consumequeue
# 消息索引存储路径(同一节点上master与slave需在不同目录)
storePathIndex=/data/server-data/rocketmq/store/index
# checkpoint 文件存储路径(同一节点上master与slave需在不同目录)
storeCheckpoint=/data/server-data/rocketmq/store/checkpoint
# abort 文件存储路径(同一节点上master与slave需在不同目录)
abortFile=/data/server-data/rocketmq/store/abort
# 是否允许 Broker 自动创建Topic,建议关闭
autoCreateTopicEnable=false
# 是否允许 Broker 自动创建订阅组,建议关闭
autoCreateSubscriptionGroup=false
# 设置brokerIP,如果不设置当服务器有很多网卡,默认会读取第一个网卡的IP地址(如安装docker后),会导致客户端无法连接
brokerIP1=10.10.101.110
# broker对外服务的监听端口,默认10911(同一节点启动多个服务,需要修改默认端口)
listenPort=10911
3.2、namesrv.properties文件设置
# RocketMQ 主目录
rocketmqHome=/usr/local/rocketmq
# kv 配置文件路径,包含顺序消息主题的配置信息
kvConfigPath=/root/namesrv/kvConfig.json
# 环境
productEnvName=center
# 是否开启集群测试
clusterTest=false
# 是否支持顺序消息
orderMessageEnable=false
# 服务端监听端口
listenPort=9876
# Netty 业务线程池线程个数
serverWorkerThreads=8
# Netty public 任务线程池线程个数,Netty 网络设计,根据业务类型会创建不同的线程池,比如处理发送消息、消息消费、心跳检测等。如果该业务类型(RequestCode)未注册线程池,则由 public 线程池执行
serverCallbackExecutorThreads=0
# IO 线程池线程个数,主要是 NameServer、Broker 端解析请求、返回响应的线程个数,这类线程池主要是处理网络请求的,解析请求包,然后转发到各个业务线程池完成具体的业务操作,然后将结果再返回调用方
serverSelectorThreads=3
# send oneway 消息请求并发度
serverOnewaySemaphoreValue=256
# 异步消息发送最大并发度
serverAsyncSemaphoreValue=64
# 网络连接最大空闲时间,单位秒,如果连接空闲时间超过该参数设置的值,连接将被关闭
serverChannelMaxIdleTimeSeconds=120
# 网络 socket 发送缓存区大小,单位 B,即默认为 64KB
serverSocketSndBufSize=65535
# 网络 socket 接收缓存区大小,单位 B,即默认为 64KB
serverSocketRcvBufSize=65535
# ByteBuffer 是否开启缓存,建议开启
serverPooledByteBufAllocatorEnable=true
# 是否启用 Epoll IO 模型
useEpollNativeSelector=true
四、启动集群
nohup /data/server-side/rocketmq/bin/mqnamesrv -c /data/server-side/rocketmq/conf/namesrv.properties &
nohup /data/server-side/rocketmq/bin/mqbroker -c /data/server-side/rocketmq/conf/broker.properties &
五、安装控制台
5.1、下载源码
cd rocketmq
git clone https://github.com/apache/rocketmq-externals
#更新下载链接 2021.10.14
wget https://github.com/apache/rocketmq-externals/archive/refs/tags/rocketmq-console-1.0.0.tar.gz
5.2、修改配置文件
vim rocketmq/rocketmq-externals/rocketmq-console/src/main/resources/application.properties
# 服务端口号
server.port=8081
# NameServer服务地址,多台服务器用英文分号分割
rocketmq.config.namesrvAddr=10.0.27.132:9876;10.0.27.133:9876;10.0.27.134:9876
# mq数据路径,可以自己修改
rocketmq.config.dataPath=/home/rocketmq/rocketmq-console/data
5.3、编译
cd rocketmq/rocketmq-externals/rocketmq-console
mvn clean package -Dmaven.test.skip=true
5,4、运行
java -jar target/rocketmq-console-ng-2.0.0.jar
5.7、打开浏览器访问
http://[服务器IP]:[端口号]
标签:...,server,Centos7,线程,分片,集群,data,rocketmq
From: https://www.cnblogs.com/dfdzh/p/16789832.html