官网:http://rocketmq.apache.org/
将文件放入linux中解压:
这里我放在了 /opt目录中,放在哪里随你便。
unzip rocketmq-all-4.4.0-bin-release.zip
改个文件名: mv ./rocketmq-all-4.4.0-bin-release/ rocketmq
配置:
nameserver: 协调多个rocketmq
master : rocketmq主节点
域名映射:
vi /etc/hosts
192.168.2.128 mqnameserver1
192.168.2.128 mqmaster1
配置存储路径:
mq持久化以及日志存放位置。 持久化以及日志后面文章会有讲述。
mkdir mqstore 存储根目录
mkdir mqstore/commitlog 日志存放目录
mkdir mqstore/consumequeue 消费顺序存放目录
mkdir mqstore/index 索引值
配置消息队列: broker
进入到 /opt/rocketmq/conf 看到如下目录
目录含义:2m-2s-async:两个msater 两个slave 异步
主从同步 主机通过异步的方式将数据赋值给从机。
为了方便我们就先用配置单机版演示。
我就找一个主机文件来配置 broker-a.properties
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
打开以后会看到以上配置:
brokerClusterName 集群名字
brokerName broker名字
brokerId =0 是master >0 是salve
添加以下配置
namesrvAddr=mqnameserver1:9876 配置broker ip端口号
defaultTopicQueueNums=4 默认主题数量
autoCreateTopicEnable=true 如果超过主题数量是否允许自动创建
listenPort=10911 对外访问的端口
deleteWhen=04 如果不用的文件在凌晨4点删除
fileReservedTime=48 文件保留48小时
存储路径
storePathRootDir=/opt/rocketmq/mqstore 根路径
storePathCommitLog=/opt/rocketmq/mqstore/commitlog
storePathConsuQueue=/opt/rocketmq/mqstore/consumequeue
storePathIndex=/opt/rocketmq/mqstore/index
maxMessageSize=65536 发送消息最大字节
brokerRole=ASYNC_MASTER 指定为主机
flushDiskType=ASYNC_FLUSH 同步到硬盘方式
配置日志:
在 /opt/rocketmq/中创建 logs 日志
mkdir logs
进入 /opt/rocketmq/conf 中 打开 logback_broker.xml 可以看到这些目录都是用一个变量表示的。
所以我们可以一次性更改这些目录
一次性将.xml中 ${user.home] 替换为 /usr/rocketmq 并应用到当前目录所有.xml文件
sed -i ‘s#${user.home}#/opt/rocketmq#g’ *.xml
设置启动参数:
vim /opt/rocketmq/bin/runbroker.sh
更改启动参数 由于机子性能有限
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g "
把bin目录中的 runnameserver.sh也改一下,改成1g
bin中: nohup sh mqnamesrv &
查看进程:
NamesrvStartup 说明启动Namesrv成功
启动BrokerServer:
nohup sh mqbroker -c /usr/rocketmq/conf/2m-2s-async/broker-a.properties &
查看进程:
BrokerStartup 说明broker启动成功