docker环境安装rocketmq集群
公司要上GPS数据平台,中间件领导决策用rocketmq集群,以前都是用的rabbitmq,据说rocketmq性能更加好,所以进行搭建学习
服务器环境:centos7 ,连上阿里镜像源
安装用户:root,关闭防火墙
1.安装docker
yum -y install docker //安装docker
systemctl start docker //启动docker
systemctl status docker//查看状态
systemctl enable docker.service //开机自启
其他docker 基本命令
docker pull xxx
docker run xxx
docker ps -a
docker start xxx
docker stop xxx
docker restart xxx
docker rm xxx
2安装docker Compose
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose //添加权限
docker-compose --version //查看版本
3.安装dokcker管理面板portainer 汉化版本
docker pull portainer/portainer-ce
wget https://imnks.com/usr/uploads/2021/11/portainer-ce-2.9.2-public-cn-1101.zip
unzip portainer-ce-2.9.2-public-cn-1101.zip
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /root/public:/public portainer/portainer-ce
浏览器输入IP:9000
如果无法进入管理面板,提示权限不足,进行如下设置
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
4.安装rocketmq集群和管理工具
创建脚本:vi rocketmq.yml
脚本如下-----------------------------------
#rocketmq集群
version: '3.3'
services:
rocketmq-namesrv-1:
image: apache/rocketmq:4.9.3
container_name: rocketmq-namesrv-1
ports:
- 9876:9876
volumes:
- /usr/local/bin/atp/rocketmq/logs/nameserver1:/home/rocketmq/logs/rocketmqlogs
command: sh mqnamesrv
networks:
- rocketmq
rocketmq-namesrv-2:
image: apache/rocketmq:4.9.3
container_name: rocketmq-namesrv-2
ports:
- 9877:9876
volumes:
- /usr/local/bin/atp/rocketmq/logs/nameserver2:/home/rocketmq/logs/rocketmqlogs
command: sh mqnamesrv
networks:
- rocketmq
rocketmq-broker-1:
image: apache/rocketmq:4.9.3
container_name: rocketmq-broker-1
ports:
- 10911:10911
volumes:
- /usr/local/bin/atp/rocketmq/logs/broker1:/home/rocketmq/logs/rocketmqlogs
#- /usr/local/bin/atp/rocketmq/store/broker1:/home/rocketmq/store
- /usr/local/bin/atp/rocketmq/conf/broker1/broker.conf:/home/rocketmq/rocketmq-4.5.0/conf/broker.conf
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "rocketmq-namesrv-1:9876;rocketmq-namesrv-2:9876"
JAVA_OPTS: "-Duser.home=/opt"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
command: sh mqbroker -c /home/rocketmq/rocketmq-4.5.0/conf/broker.conf autoCreateTopicEnable=true &
depends_on:
- rocketmq-namesrv-1
- rocketmq-namesrv-2
networks:
- rocketmq
rocketmq-broker-2:
image: apache/rocketmq:4.9.3
container_name: rocketmq-broker-2
ports:
- 10912:10911
volumes:
- /usr/local/bin/atp/rocketmq/logs/broker2:/home/rocketmq/logs/rocketmqlogs
#- /usr/local/bin/atp/rocketmq/store/broker2:/home/rocketmq/store
- /usr/local/bin/atp/rocketmq/conf/broker2/broker.conf:/home/rocketmq/rocketmq-4.5.0/conf/broker.conf
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "rocketmq-namesrv-1:9876;rocketmq-namesrv-2:9876"
JAVA_OPTS: " -Duser.home=/opt"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
command: sh mqbroker -c /home/rocketmq/rocketmq-4.5.0/conf/broker.conf autoCreateTopicEnable=true &
depends_on:
- rocketmq-namesrv-1
- rocketmq-namesrv-2
networks:
- rocketmq
rocketmq-broker-3:
image: apache/rocketmq:4.9.3
container_name: rocketmq-broker-3
ports:
- 10913:10911
volumes:
- /usr/local/bin/atp/rocketmq/logs/broker3:/home/rocketmq/logs/rocketmqlogs
#- /usr/local/bin/atp/rocketmq/store/broker3:/home/rocketmq/store
- /usr/local/bin/atp/rocketmq/conf/broker3/broker.conf:/home/rocketmq/rocketmq-4.5.0/conf/broker.conf
environment:
TZ: Asia/Shanghai
NAMESRV_ADDR: "rocketmq-namesrv-1:9876;rocketmq-namesrv-2:9876"
JAVA_OPTS: " -Duser.home=/opt"
JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"
command: sh mqbroker -c /home/rocketmq/rocketmq-4.5.0/conf/broker.conf autoCreateTopicEnable=true &
depends_on:
- rocketmq-namesrv-1
- rocketmq-namesrv-2
networks:
- rocketmq
rocketmq-console:
image: styletang/rocketmq-console-ng
container_name: rocketmq-console
ports:
- 9090:8080
environment:
JAVA_OPTS: -Drocketmq.namesrv.addr=rocketmq-namesrv-1:9876;rocketmq-namesrv-2:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
networks:
- rocketmq
depends_on:
- rocketmq-broker-1
- rocketmq-broker-2
- rocketmq-broker-3
networks:
rocketmq:
driver: bridge
---------------------------------------------------------------------------------------------------------------------------
创建文件夹
mkdir -p /usr/local/bin/atp/rocketmq/conf/broker1
mkdir -p /usr/local/bin/atp/rocketmq/conf/broker2
mkdir -p /usr/local/bin/atp/rocketmq/conf/broker3
vi /usr/local/bin/atp/rocketmq/conf/broker3/broker.conf
创建broker.conf
brokerClusterName = DefaultCluster
#broker名称
brokerName = rocketmq-broker-1
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
启动集群:
docker-compose -f rocketmq.yml -p rocketmq up -d
访问控制台:http//ip:9090
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2020-04-21 python opencv获取摄像头视频流