Combine vários discos rígidos
Nota: O sistema operacional usa a versão Centos 7.6
#yum install lvm2 -y && yum -y install parted |
Inicializar e montar o hardware
#! / bin / bash para n em bc; faça parted / dev / vd $ {n} mklabel gpt parted / dev / vd $ {n} mkpart vdb ext4 0 100% << EOF Eu EOF parted / dev / vd $ {n} alterna 1 lvm feito disco = "/ dev / vdb1 / dev / vdc1" pvcreate -f $ disk vgcreate vg $ disk pesize = $ (exibição vg | awk '/ Total / {print $ NF}') lvcreate -i 2 -I 512 -l $ pesize -n data vg mkfs.xfs -f / dev / vg / data mkdir -p / data / Padrões echo '/ dev / vg / data / data xfs, noatime 0 0' >> / etc / fstab montar -a |
Parâmetros de otimização do sistema
# / bin / bash cat >> /etc/security/limits.conf << EOF nofile macio do usuário base 655360 nofile rígido do usuário base 655360 EOF cat >> /etc/sysctl.conf << EOF vm.overcommit_memory = 1 vm.drop_caches=1 vm.zone_reclaim_mode=0 vm.max_map_count=655360 vm.dirty_background_ratio=25 vm.dirty_ratio=50 vm.dirty_writeback_centisecs=360000 vm.page-cluster=3 vm.swappiness=1 EOF sysctl -p /etc/sysctl.conf |
创建rocketmq数据
rocketmq数据目录存放:/data/rocketmq-a
#mkdir /data/rocketmq-a && mkdir /data/logs-a &&chown -R deploy. /data/ && ll /data |
解压安装包
默认将4.7的安装下载到服务器上
$unzip rocketmq-all-4.7.0-bin-release.zip -d /workspace/ && mv /workspace/rocketmq-all-4.7.0-bin-release /workspace/rocketmq-a |
修改log存放路径
rocketmq日志目录存放:/data/logs-a
$cd /workspace/rocketmq-a/conf $sed -i 's#\${user.home}/logs#/data/logs-a#g' logback_broker.xml $sed -i 's#\${user.home}/logs#/data/logs-a#g' logback_tools.xml |
修改jvm参数
$cd /workspace/rocketmq-a/ $vim bin/runbroker.sh |
调整启动参数
JAVA_OPT="${JAVA_OPT} -server -Xms10g -Xmx10g -Xmn4g" |
更改主节点配置文件
$vim 2m-2s-async/broker-a.properties |
#请修改 brokerClusterName=ClusterA brokerName=broker-a brokerId=0 listenPort=10911 #请修改 namesrvAddr=x.x.x.x:9876;x.x.x.x::9876 defaultTopicQueueNums=4 autoCreateTopicEnable=false autoCreateSubscriptionGroup=false deleteWhen=04 fileReservedTime=48 mapedFileSizeCommitLog=1073741824 mapedFileSizeConsumeQueue=50000000 destroyMapedFileIntervalForcibly=120000 redeleteHangedFileInterval=120000 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/data/rocketmq-a/store #commitLog存储路径 storePathCommitLog=/data/rocketmq-a/store/commitlog #消费队列存储路径 storePathConsumeQueue=/data/rocketmq-a/store/consumequeue # 消息索引存储路径 storePathIndex=/data/rocketmq-a/store/index # checkpoint 文件存储路径 storeCheckpoint=/data/rocketmq-a/store/checkpoint #abort 文件存储路径 abortFile=/data/rocketmq-a/store/abort maxMessageSize=65536 flushCommitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushCommitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 brokerRole=SYNC_MASTER flushDiskType=ASYNC_FLUSH checkTransactionMessageEnable=false maxTransferCountOnMessageInMemory=1000 transientStorePoolEnable=true warmMapedFileEnable=true pullMessageThreadPoolNums=128 slaveReadEnable=true transferMsgByHeap=true waitTimeMillsInSendQueue=1000 |
从节点配置
$vim 2m-2s-async/broker-a-s.properties |
#请修改 brokerClusterName=ClusterA brokerName=broker-a brokerId=1 listenPort=10915 #请修改 namesrvAddr=x.x.x.x:9876;x.x.x.x:9876 defaultTopicQueueNums=4 autoCreateTopicEnable=false autoCreateSubscriptionGroup=false deleteWhen=04 fileReservedTime=120 mapedFileSizeCommitLog=1073741824 mapedFileSizeConsumeQueue=50000000 destroyMapedFileIntervalForcibly=120000 redeleteHangedFileInterval=120000 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/data/rocketmq-slavea/store #commitLog存储路径 storePathCommitLog=/data/rocketmq-slavea/store/commitlog #消费队列存储路径 storePathConsumeQueue=/data/rocketmq-slavea/store/consumequeue # 消息索引存储路径 storePathIndex=/data/rocketmq-slavea/store/index # checkpoint 文件存储路径 storeCheckpoint=/data/rocketmq-slavea/store/checkpoint #abort 文件存储路径 abortFile=/data/rocketmq-slavea/store/abort maxMessageSize=65536 flushCommitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushCommitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 brokerRole=SLAVE flushDiskType=ASYNC_FLUSH checkTransactionMessageEnable=false maxTransferCountOnMessageInMemory=1000 transientStorePoolEnable=true warmMapedFileEnable=true pullMessageThreadPoolNums=128 slaveReadEnable=true transferMsgByHeap=true |
启动broker节点
$cd /workspace/rocketmq-a/ $nohup binmq/broker -c /workspace/rocketmq-a/conf/2m-2s-async/broker-a.properties & |