-
第一步:上传alibaba-rocketmq-3.2.6.tar.gz到liunx,并解压到/usr/local下(也可以放到其他文件加下)
第二步:解压 tar -zxvf alibaba-rocketmq-3.2.6.tar.gz -C /usr/local
第三步:建立软连接 ln -s alibaba-rocketmq rocketmq
第四步:切换到软连接rocketmq下面创建几个文件夹
-
mkdir /usr/local/rocketmq/store mkdir /usr/local/rocketmq/store/commitlog mkdir /usr/local/rocketmq/store/consumequeue mkdir /usr/local/rocketmq/store/index
-
第五步:修改配置文件vim /usr/local/rocketmq/conf/2m-noslave/
解释:
2m-2s-async 代表两主两从,异步复制模式
2m-2s-sync 代表两主两从,同步双写模式
2m-noslave 代表两主,只有主节点没有从节点
-
第六步:修改配置文件如下:
#把下面得配置覆盖替换到broker-a.properties文件中 #所属的集群名字 brokerClusterName=rocketmq-cluster #broker名字,注意:此处不同的配置文件填写的不一样 brokerName=broker-a # 0 表示 master主节点 ,不是0则代表从节点slave brokerld=0 #nameServer地址,分号分隔, #注意:nameSeve的地址就是部署mq服务器的地址,可以在/etc/hosts中修改服务器ip指定一个名字 #我的服务器ip对应的名字是阿里云默认的名字aliyun #也可以自己修改成名字叫rocketmq-nameserver1,修改方法为 #vim /etc/hosts ,然后保存退出,再重启一下网卡命令: service network restart namesrvAddr=rocket-nameserver1:9876 #在发送消息时,自动创建服务器不存在的topic,默认创建的队列数 defaultTopicQueueNums=4 #是否允许broker自动创建topic,建议线下开启,线上关闭 autoCreateSubscriptionGroup=true #broker 对外服务的监听端口 listenPort=10911 #删除文件时间点,默认凌晨4点 deleteWhen=04 文件保留时间,默认48小时 fileReservedTime=48 #commitlog每个文件的大小默认1G mapedFileSizeCommitLog=1073741824 #ConsumeQueue每个文件默认存30w条,根据业务情况调整 mapedFileSizeConsumeQueue=300000 #检测物理文件磁盘空间 diskMaxUsedSpaceRatio=88 #存储路径 storePathRootDir=/usr/local/rocketmq/store #commitlog 存储路径 storePathCommitLog=/usr/local/rocketmq/store/commitlog #消费队列存储路径 storrPathConsumeQueue=/usr/local/rocketmq/store/consumequeue #消息索引存储路径 storePathIndex=/usr/local/store/index #checkpoint文件存储路径 storeCheckpoint=/usr/local/rocketmq/store/checkpoint #abort文件存储路径 abortFile=/usr/local/rocketmq/store/abort #限制消息得大小 maxMessageBiz=65536 #broker的角色 #ASYNC_MASTER 异步复制模式master #SYNC_MASTER 同步双写模式master #SLAVE brokerRole=ASYNC_MASTER #刷盘方式 #ASYNC_MASTER 异步刷盘 #SYNC_MASTER 同步刷盘 flushDiskType=ASYNC_MASTER
-
截图参照:
第七步:修改日志配置文件
mkdir -p /usr/local/rocketmq/logs
cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
第八步:修改启动脚本参数, 主意:-Xms1g -Xms1g 分配的内存至少需要1G才能启动mq,分配的内存不能小于1g参考如下
vim /usr/local/rocketmq/bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"
vim /usr/local/rocketmq/bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"
第九步:启动NameServer,一般先启动nameserver然后再启动brokerserver因为nameserver在mq集群环境中就像zookeeper一样像集群环境的配置中心
cd /usr/local/rocketmq/bin
nohup sh mqnamesrv &
#查看启动日志
tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/namesrv.log
#注意:nohup启动mqnamesrv可能会出错
#nohup: ignoring input and appending output to ‘nohup.out’
#代表没有写入权限
第十步:启动BrokerServer
cd /usr/local/rocketmq/bin
nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2 >&1 &
netstat -ntlp
#查看启动进程和启动日志
jps
tail -f -n 500 /usr/local/rocketmq/logs/rocketmqlogs/broker.log