RocketMQ的安装配置:配置jdk环境,配置RocketMQ环境,配置集群环境,配置rocketmq-console

摘要:
RocketMQ安装配置演示虚拟机环境:Centos64-1(D:linuxMorecentos6_64)root/itacast:fixed IP192.168.52.128 1,配置JDK环境1,将JDK解压缩到指定目录tar-xvfjdk-8u171-linux-x64.tar.gz-C/usr/localcd/usr/localmvjdk1.8.0_171jdk1.82,配置环境变量vi/etc/pr

RocketMQ的安装配置

演示虚拟机环境:Centos64-1 (D:linuxMorecentos6_64)

root / itcast : 固定IP 192.168.52.128

一,配置JDK环境

1,解压jdk到指定的目录

tar -xvf jdk-8u171-linux-x64.tar.gz -C /usr/local
cd /usr/local
mv jdk1.8.0_171 jdk1.8

2,配置环境变量

  • vi /etc/profile

  • 在末尾行添加

 #set java environment
​
  export JAVA_HOME=/usr/local/jdk1.8
  export PATH=$PATH:${JAVA_HOME}/bin
  • source /etc/profile 使用刚才的配置生效,如果不起作用,重启服务器 reboot

 

二,配置RocketMQ环境

上传 文件到/usr/local/src下

解压:

unzip rocketmq-all-4.5.2-bin-release.zip -C /opt
cd /opt
mv  rocketmq-all-4.5.2-bin-release rocketmq

启动nameserver

./mqnamesrv
[root@localhost bin]# ./mqnamesrv
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

启动broker

./mqbroker -n 192.168.52.128:9876
[root@localhost bin]# ./mqbroker
The broker[localhost.localdomain, 192.168.52.128:10911] boot success. serializeType=JSON

如果broker启动报错:修改 runbroker.sh文件中的内存参数即可

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

 

如果和docker 一起 需要修改配置文件:

conf/broker.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUS
# 解决和docker 冲突的
brokerIP1=192.168.52.128
namesrvAddr=192.168.52.128:9876

 

三,配置集群环境

1) 配置主机名称(未来就可以根据主机名找到对应的服务器了)

vim /etc/hosts

# nameserver
192.168.52.128 rocketmq-nameserver1
192.168.52.128 rocketmq-nameserver2
# broker
192.168.52.128 rocketmq-master1
192.168.52.128 rocketmq-slave2
192.168.52.128 rocketmq-master2
192.168.52.128 rocketmq-slave1

配置完毕后重启网卡,应用配置(centos6和7的命令不太一样,如果是7参考原笔记)

#CENTOS6
service network restart
​
#CENTOS7
systemctl retsart network

2) 关闭防火墙

#CENTOS6
# 关闭防火墙
service iptables stop firewalld.service 
# 查看防火墙的状态
service iptables status
# 禁止firewall开机启动
chkconfig iptables off
​
#CENTOS7
systemctl stop firewalld

3) 配置jdk

详见Linux安装jdk

4) 配置服务器环境

在同一个虚拟机上配置集群环境:
•rocketmq: 配置broker-a的主和broker-b-s从
​
•rocketmq2:配置broker-b的主和broker-a-s从

将rocketmq 解压至跟目录 /opt/rocketmq-cluster

# 解压
unzip rocketmq-all-4.5.2-bin-release.zip -d /opt/rocketmq-cluster
# 修改目录名称
mv rocketmq-all-4.5.2-bin-release rocketmq
​
#复制一个出来
cp rocketmq/ -R rocketmq2

5) 创建集群服务器的数据存储目录

主节点创建四个目录/ 从节点四个目录

#配置rocetmq
#a主
mkdir /opt/rocketmq-cluster/rocketmq/store
mkdir /opt/rocketmq-cluster/rocketmq/store/commitlog
mkdir /opt/rocketmq-cluster/rocketmq/store/consumequeue
mkdir /opt/rocketmq-cluster/rocketmq/store/index
mkdir /opt/rocketmq-cluster/rocketmq/store/abortfile
#b从
mkdir /opt/rocketmq-cluster/rocketmq/store-slave
mkdir /opt/rocketmq-cluster/rocketmq/store-slave/commitlog
mkdir /opt/rocketmq-cluster/rocketmq/store-slave/consumequeue
mkdir /opt/rocketmq-cluster/rocketmq/store-slave/index
mkdir /opt/rocketmq-cluster/rocketmq/store-slave/abortfile
​
#配置rocetmq2
#b主
mkdir /opt/rocketmq-cluster/rocketmq2/store
mkdir /opt/rocketmq-cluster/rocketmq2/store/commitlog
mkdir /opt/rocketmq-cluster/rocketmq2/store/consumequeue
mkdir /opt/rocketmq-cluster/rocketmq2/store/index
mkdir /opt/rocketmq-cluster/rocketmq2/store/abortfile
#a从
mkdir /opt/rocketmq-cluster/rocketmq2/store-slave
mkdir /opt/rocketmq-cluster/rocketmq2/store-slave/commitlog
mkdir /opt/rocketmq-cluster/rocketmq2/store-slave/consumequeue
mkdir /opt/rocketmq-cluster/rocketmq2/store-slave/index
mkdir /opt/rocketmq-cluster/rocketmq2/store-slave/abortfile
注意master与slave如果在同一个虚拟机中部署,需要将存储目录区分开

6) 修改配置

(不同的节点,应该修改不同的配置,文件夹也应该不一样)

两个命名服务器:
192.168.52.128:9876
192.168.52.128:5432
broker集群:
    192.168.52.128:11011    a主
    192.168.52.128:11111    a从
    192.168.52.128:10811    b主
    192.168.52.128:10911    b从

修改rocketmq的相关配置

6.1 修改a的master

>cd /opt/rocketmq-cluster/rocketmq/conf/2m-2s-sync
>vim  broker-a.proerties  

此时broker-a的端口为:11011

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:5432
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11011
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
​
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/opt/rocketmq-cluster/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq-cluster/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq-cluster/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq-cluster/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq-cluster/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq-cluster/rocketmq/store/abortfile
​
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

6.2 修改b的slave

>cd /opt/rocketmq-cluster/rocketmq/conf/2m-2s-sync
>vim  broker-b-s.proerties  

此时broker-b-s从的端口为:10911

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:5432
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
​
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/opt/rocketmq-cluster/rocketmq/store-slave
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq-cluster/rocketmq/store-slave/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq-cluster/rocketmq/store-slave/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq-cluster/rocketmq/store-slave/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq-cluster/rocketmq/store-slave/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq-cluster/rocketmq/store-slave/abortfile
​
​
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

检查启动内存 (nameserver 和broker 均需要修改)

vim /opt/rocketmq-cluster/rocketmq/bin/runbroker.sh
vim /opt/rocketmq-cluster/rocketmq/bin/runserver.sh
​
# 开发环境配置 JVM Configuration
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
​

rocketmq的nameserver默认端口为9876,不用修改。

#

 

修改rocketmq2的相关配置

6.3 修改b的master

>cd /opt/rocketmq-cluster/rocketmq2/conf/2m-2s-sync
>vim  broker-b.proerties  

此时broker-b的端口为:10811

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-b
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer地址,分号分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:5432
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10811
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
​
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/opt/rocketmq-cluster/rocketmq2/store
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq-cluster/rocketmq2/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq-cluster/rocketmq2/store/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq-cluster/rocketmq2/store/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq-cluster/rocketmq2/store/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq-cluster/rocketmq2/store/abortfile
​
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

6.4 修改b的slave

>cd /opt/rocketmq-cluster/rocketmq2/conf/2m-2s-sync
>vim  broker-a-s.proerties  

此时broker-a-s从的端口为:11111

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=1
#nameServer地址,分号分割
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:5432
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=11111
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
​
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/opt/rocketmq-cluster/rocketmq2/store-slave
#commitLog 存储路径
storePathCommitLog=/opt/rocketmq-cluster/rocketmq2/store-slave/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/opt/rocketmq-cluster/rocketmq2/store-slave/consumequeue
#消息索引存储路径
storePathIndex=/opt/rocketmq-cluster/rocketmq2/store-slave/index
#checkpoint 文件存储路径
storeCheckpoint=/opt/rocketmq-cluster/rocketmq2/store-slave/checkpoint
#abort 文件存储路径
abortFile=/opt/rocketmq-cluster/rocketmq2/store-slave/abortfile
​
​
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制Master
#- SYNC_MASTER 同步双写Master
#- SLAVE
brokerRole=SLAVE
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=SYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

检查启动内存 (nameserver 和broker 均需要修改)

vim /opt/rocketmq-cluster/rocketmq2/bin/runbroker.sh
vim /opt/rocketmq-cluster/rocketmq2/bin/runserver.sh
​
# 开发环境配置 JVM Configuration
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

 

修改rocketmq2的nameserver 的端口 为5432:

conf目录下新增:
vi namesrv.properties
添加内容为:
listenPort=5432
 

先启动nameserver:

# 进入/opt/rocketmq-cluster/rocketmq/bin目录
nohup ./mqnamesrv &
​
# 进入/opt/rocketmq-cluster/rocketmq2/bin目录
nohup ./mqnamesrv -c ../conf/namesrv.properties &
再启动brokerserver:

# 进入/opt/rocketmq-cluster/rocketmq/bin目录
nohup ./mqbroker -c ../conf/2m-2s-sync/broker-a.properties &
nohup ./mqbroker -c ../conf/2m-2s-sync/broker-b-s.properties &
​
# 进入/opt/rocketmq-cluster/rocketmq2/bin目录
nohup ./mqbroker -c ../conf/2m-2s-sync/broker-b.properties &
nohup ./mqbroker -c ../conf/2m-2s-sync/broker-a-s.properties &

 

nohup和&的区别
& : 指在后台运行

nohup : 不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行

 

集群启动脚本:rocketmq-cluster-start.sh

#!/bin/bash
#启动nameserver
sh /opt/rocketmq-cluster/rocketmq/bin/mqnamesrv &
sh /opt/rocketmq-cluster/rocketmq2/bin/mqnamesrv -c /opt/rocketmq-cluster/rocketmq2/conf/namesrv.properties &
​
#启动brokerserver
sh /opt/rocketmq-cluster/rocketmq/bin/mqbroker -c /opt/rocketmq-cluster/rocketmq/conf/2m-2s-sync/broker-a.properties &
sh /opt/rocketmq-cluster/rocketmq/bin/mqbroker -c /opt/rocketmq-cluster/rocketmq/conf/2m-2s-sync/broker-b-s.properties &
sh /opt/rocketmq-cluster/rocketmq2/bin/mqbroker -c /opt/rocketmq-cluster/rocketmq2/conf/2m-2s-sync/broker-b.properties &
sh /opt/rocketmq-cluster/rocketmq2/bin/mqbroker -c /opt/rocketmq-cluster/rocketmq2/conf/2m-2s-sync/broker-a-s.properties &

集群启动脚本:rocketmq-cluster-stop.sh

#!/bin/bash
#关闭nameserver
sh /opt/rocketmq-cluster/rocketmq/bin/mqshutdown namesrv &
​
#关闭brokerserver
sh /opt/rocketmq-cluster/rocketmq/bin/mqshutdown broker &

 

四,配置rocketmq-console

进入/opt/rocketmq-cluster/rocketmq-console目录下:

rocketmq-console-2.0.0.jar  为打包好的 springboot应用程序
application.properties 为外部配置文件,根据自己的需求进行修改
执行如下命令启动即可:
java -jar rocketmq-console-2.0.0.jar --spring.config.location=application.properties


已做成脚本:直接启动./start.sh即可

 

免责声明:文章转载自《RocketMQ的安装配置:配置jdk环境,配置RocketMQ环境,配置集群环境,配置rocketmq-console》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇presto 调优ER图与UML图下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MFC之目录结构及消息流转(一)

跟上时代,用vs2010, 新建一个MFC应用程序Helloworld。 目录结构: 所有文件分为6个部分:解决方案相关文件、工程相关文件、应用程序头文件和源文件、资源文件、预编译头文件和编译链接生成文件。        1.解决方案相关文件        解决方案相关文件包括解决方案文件夹下的.sdf文件、.sln文件、.suo文件和ipch文件夹。  ...

oracle instantclient_11_2插件安装

1.安装plsql 2.instantclient_11_2下载,解压到目录 D:DevToolsinstantclient_11_2 3.打开plsql, 点击“取消” 4.选择“工具”--》首选项---》连接--》oracle主目录填写D:DevToolsinstantclient_11_2 OCI库填写 D:DevToolsinstantclient...

CentOS 6.3下rsync服务器的安装与配置[转]

CentOS 6.3下rsync服务器的安装与配置  一、rsync 简介   Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录。    Rsync 是用于取代rcp的一个工具,Rsync使用所谓的 “Rsync 算法” 来使本地和远程...

转:用jupyter notebook打开指定目录下的.ipynb文件

如果直接用命令行或者用快捷方式打开jupyter,默认的环境是anaconda的默认root环境,且打开的目录是默认的工作目录,不是我们的目标目录。 要想用jupyter打开的目录是目标目录,共有两个方法,一个是可以修改jupyter的默认工作目录路径,另一个是用命令行进入指定目录,然后切换到指定的环境,然后启动jupyter,就可以在网页里显示指定目录并...

show slave status中的log_file / log_pos

在MySQL的master-slave或dual master的架构中,我们经常使用show slave status命令来查看复制状态。 这里涉及几个重要的日志文件和位置: Master_Log_File,Read_Master_Log_Pos: 记录了IO thread读到的当前master binlog文件和位置,对应master的binlog文...

(转)MySQL 8 新特性之Clone Plugin

原文:https://www.cnblogs.com/ivictor/p/13818440.html#top Clone Plugin是MySQL 8.0.17引入的一个重大特性,为什么要实现这个特性呢?个人感觉,主要还是为Group Replication服务。在Group Replication中,添加一个新的节点,差异数据的补齐是通过分布式恢复(Di...