因工作需要搭建本地rocketmq, 特记录本次安装详细步骤, 废话不多说, 直接开始
本次安装基于linux docker环境
- docker搜索所需镜像, 这里选择rocketmqinc/rocketmq, 其他镜像同理
docker search rocketmq
- 下载镜像
docker pull rocketmqinc/rocketmq
- 创建nameserver服务
docker run -d -p 9876:9876 -v {宿主机路径}/data/namesrv/logs:/root/logs -v {宿主机路径}/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv
说明: 建议复制到文本编辑器,进行调整,在粘贴到命令行
{宿主机路径}: 替换为linux文件路径({}也需要替换),用来存储mq的日志及相关数据,例如笔者保存路径为/mydata/rocketmq, 创建文件夹命令不过多赘述
-
在宿主机创建broker配置文件, 启动broker服务需要,笔者文件路径为: /mydata/rocketmq/conf/broker.conf
`文件内容:
brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = SYNC_FLUSH brokerIP1 = 宿主机ip地址
这里修改了刷盘方式为同步刷盘flushDiskType = SYNC_FLUSH,
异步刷盘改为flushDiskType = ASYNC_FLUSH -
创建broker服务
docker run -d -p 10911:10911 -p 10909:10909 -v {宿主机路径}/data/broker/logs:/root/logs -v {宿主机路径}/data/broker/store:/root/store -v {宿主机路径}/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf
说明:{宿主机路径}替换同第三步
- 搜索rocketmq-console服务
docker search rocketmq-console
同样下载stars较高的
docker pull styletang/rocketmq-console-ng
- 创建console控制台服务
docker run -d --name rmqconsole -p 8080:8080 --link rmqnamesrv:namesrv\
-e "JAVA_OPTS=-Drocketmq.namesrv.addr={宿主机ip地址}:9876\
-Dcom.rocketmq.sendMessageWithVIPChannel=false"\
-t styletang/rocketmq-console-ng
- 宿主机浏览器访问 http://{宿主机ip地址}:8080/#/, 打开控制台页面,说明服务安装完成
最后, 如果启动失败,可以将命令中的 -d 替换为 -e , 服务以前台方式启动,可看到报错信息.