RocketMQ环境搭建以及控制台(一)

1. 下载 解压 重命名 自行操作
wget https://archive.apache.org/dist/rocketmq/4.6.1/rocketmq-all-4.6.1-bin-release.zip
2. 安装
unzip rocketmq-all-4.6.1-bin-release.zip
#给他一个位置
mv rocketmq-all-4.6.1-bin-release /usr/local/rocketmq
3. 环境变量
echo 'export ROCKETMQ_HOME=/usr/local/rocketmq' >> /etc/profile
echo 'export PATH=$ROCKETMQ_HOME/bin:$PATH' >> /etc/profile

source /etc/profile
4. 修改默认启动配置

RocketMQ默认配置要求很高,开始启动前需要先修改这些参数,否则的话,我们很有可能会遇到内存分配或者不够的问题(memory alloc failed):

4.1 bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
4.2 bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
4.3 bin/tools.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"
5. 修改 broker 配置

broker的配置文件为conf/broker.conf,参考内容如下:

# 所属集群名字(同一主从下: Master 和 Slave 名称要一致)
brokerClusterName = DefaultCluster

# Broker 名字,注意此处不同的配置文件填写的不一样
brokerName = broker-a

# 0 表示 Master,> 0 表示 Slave
brokerId = 0

# Broker 对外服务的监听端口, 如果一台机器上启动了多个Broker,则要设置不同的端口号,避免冲突
listenPort = 10911

# nameServer地址,如果nameServer是多台集群的话,就用分号分割,比如
# namesrvAddr=192.168.0.1:9876;192.168.0.2:9876
namesrvAddr = 127.0.0.1:9876

# 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable = false

# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup = false

# 与fileReservedTime参数呼应,表明在几点做消息删除动作,默认值04表示凌晨4点
deleteWhen = 04

# 在磁盘上保存消息的时长,单位是小时,自动删除超时的消息
fileReservedTime = 48

# brokerRole有3种:SYNC_MASTER、ASYNC_MASTER、SLAVE
# 关键词 SYNC 和 ASYNC 表示 Master 和 Slave 之间同步消息的机制
# SYNC 的意思是当 Slave 和 Master 消息同步完成后,再返回发送成功的状态
brokerRole = ASYNC_MASTER

# 刷盘方式 ASYNC_FLUSH 异步刷盘; SYNC_FLUSH 同步刷盘
flushDiskType = ASYNC_FLUSH

6. 启动
6.1 运行 namesrv 节点
nohup sh mqnamesrv & 
6.2 运行 broker 节点
nohup sh mqbroker -n localhost:9876 &
7. 停止服务
sh mqshutdown broker
sh mqshutdown namesrv
8. 部署RocketMQ Console
#照着文档做就可以
https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console

修改配置:

#修改resources下的配置
rocketmq.config.namesrvAddr=localhost:9876
rocketmq.config.isVIPChannel=false
#正常启动开放端口就能访问了
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容