Docker安装rocketMq

可以使用Docker Dockerfile快速创建rocketmq镜像,以下方法是针对不熟悉docker使用者
环境:
宿主机:centos7 docker内置系统:cenos7 jdk8 docker4.3
第一步:安装docker
1.centos7安装docker
2.docker安装启动centos7镜像文件
第二步:进入容器安装jdk8
#new-centos为centos7的docker官方镜像
1.启动容器$docker run -itd --name rocketMQ-001  new-centos,然后进入容器:$docker exec -it rocketMQ-001 bash
2.查看可安装jdk版本:$yum -y list java* 
3安装jdk$yum -y install java-1.8.0-openjdk*.
4.查看安装是否成功java -version
5.容器的内置centos7不能使用vi命令编辑文件,安装vi命令$yum -y install vim*
第三步:提交自定义rocketmq镜像,以后搭建rocketmq可以重复使用这个镜像
1.先启动容器:$docker run -itd --name rocketMQ-001 -p 6001:10911 new-centos
2.在运行的容器内使用 apt-get update 命令进行更新
3.在完成操作之后,输入 exit 命令来退出这个容
4.此时 ID 为 e218edb10161 的容器,是按我们的需求更改的容器。我们可以通过命令 docker commit 来提交容器副本
3.提交容器:$docker commit e218edb10161 new-centos:rocketMQ
第四步:以之前提交的新镜像new-centos:rocketMQ开始搭建rocketmq容器
#-v /usr/local/software/rocketMQ5/:/usr/local/software/表示将容器内部文件夹/usr/local/software/挂载在宿主机目录/usr/local/software/rocketMQ5/
#-p 19876:9876 -p 10911:10911 -p 10909:10909表示映射宿主机9876、10911、10909这三个端口到宿主机19876、10911、10909
1.创建启动容器:$docker run -itd --name rocketMQ-005 -v /usr/local/software/rocketMQ5/:/usr/local/software/ -p 19876:9876 -p 10911:10911 -p 10909:10909 new-centos:rocketMQ
2.进入容器$docker exec -it rocketMQ-005 bash
3.在压缩包目录下解压压缩包到指定目录下,目录需要提前创建好$tar -zxvf apache-rocketmq.tar.gz -C /usr/local/software/apche-rocketmq
4.建立软连接$ln -s apche-rocketmq rocketmq
5.修改配置文件:$vi /usr/local/software/rocketmq/conf/2m-2s-async/broker-a.properties
6.创建日记保存文件夹:$mkdir -p /usr/local/software/rocketmq/logs
7.$cd /usr/local/software/rocketmq/conf
8.设置日志保存文件路径(日记保存在usr/local/software/rocketmq)$sed -i 's#${user.home}#/usr/local/software/rocketmq#g' *.xml
9.$cd /usr/local/software/rocketmq/bin
10.vi runbroker.sh修改JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g"  最大内存为1g
11.vi runserver.sh  修改JAVA_OPT="${JAVA_OPT}使用内存也为1个g
12.在/usr/local/software/rocketmq/bin目录下执行$nohup sh mqnamesrv &
13.回车
14.执行$jps 看到看到刷新显示NamesrvStartup说明启动成功
15.以指定文件启动broker 执行$ nohup sh mqbroker -c /usr/local/software/rocketmq/conf/2m-2s-async/broker-a.properties >/dev/null 2>&1 &
16.$jps 发现有BrokerStartup,说明broker执行成功
17.去查看日记看容器是否正常启动
18.容器内关闭rockermq服务:$sh mqshutdown broker 
19.容器内启动rockermq服务 :$sh mqshutdown namesrv
#将broker-a.properties内容修改为
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker 名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#需要部署rocketmq-console项目的机器能够ping通到你部署broker的机器ip
#比方说brokerIP1=106.13.88.XXX是我阿里云的外网ip,如果是内网虚拟机,那直接使用内网虚拟机ip
brokerIP1=106.13.88.XXX
#nameServer 地址,分号分割
namesrvAddr=127.0.0.1:9876
#在发送消息时,自动创建服务器不存在的 topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4 点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog 每个文件的大小默认 1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
#Broker 的角色
#- ASYNC_MASTER 异步复制 Master
#- SYNC_MASTER 同步双写 Master
#- SLAVE
brokerRole=ASYNC_MASTER
#刷盘方式
#- ASYNC_FLUSH 异步刷盘
#- SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

第五步:启动rocketmq控制台
1.下载源码包:https://github.com/apache/rocketmq-externals/tree/master/
2.idea导入rocketmq-console工程
3.修改application.properties文件配置
4.启动工程,浏览器访问:localhost:8080
5.看浏览器页面和后台有没有报错
修改配置文件启动

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容