linux安装、win10安装RocketM、Docker安装RocketM

win10安装RocketMQ:
start mqnamesrv.cmd
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
linux安装RocketMQ:
nohup sh ./bin/mqnamesrv > ./logs/serv.log 2>&1 &

停止命令

nohup sh bin/mqshutdown namesrv
nohup sh ./bin/mqbroker -c ./conf/broker.conf -n 127.0.0.1:9876 > ./logs/broker.log 2>&1 &
#停止命令
nohup sh bin/mqshutdown broker

使用foxiswho/rocketmq镜像部署RocketMQ服务的步骤:

  1. 安装Docker和Docker Compose

在部署之前,需要先安装Docker和Docker Compose。可以通过以下命令在Ubuntu上安装Docker和Docker Compose:

sudo apt-get update
sudo apt-get install docker.io
sudo apt-get install docker-compose
  1. 创建RocketMQ配置文件

在本地环境中创建一个名为broker.conf的文本文件,并将以下内容复制到其中:

brokerClusterName = DefaultCluster
brokerName = broker
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 127.0.0.1
listenPort=10911
namesrvAddr=rocketmq-namesrv:9876

# 建议将下面的参数保存到环境变量中,并在启动容器时传入
# rocketmq-broker-user=admin
# rocketmq-broker-passwd=admin123
admin.username=${rocketmq-broker-user}
admin.password=${rocketmq-broker-passwd}

这里使用了ASYN_MASTER的方式来启动Broker,这种方式适用于小规模场景。如果需要部署到生产环境,建议使用同步刷盘的方式。配置文件中namesrvAddr是指Name Server的地址,此处可以填写部署在容器中的Name Server的容器名(rocketmq-namesrv),端口默认为9876。

  1. 编写docker-compose.yml文件

在本地环境中创建一个名为docker-compose.yml的文件,并将以下内容复制到其中:

version: '3'

services:
  rocketmq-namesrv:
    image: foxiswho/rocketmq:4.7.1
    command: sh mqnamesrv
    ports:
      - "9876:9876"

  rocketmq-broker:
    image: foxiswho/rocketmq:4.7.1
    command: sh mqbroker -c /opt/rocketmq/conf/broker.conf
    ports:
      - "10911:10911"
      - "10909:10909"
    volumes:
      - ./broker.conf:/opt/rocketmq/conf/broker.conf
    environment:
      rocketmq-broker-user: admin
      rocketmq-broker-passwd: admin
      JVM_OPTS: "-Drocketmq.namesrv.addr=rocketmq-namesrv:9876"
    depends_on:
      - rocketmq-namesrv

  rocketmq-console:
    image: foxiswho/rocketmq-console-ng:2.0.0
    ports:
      - "8080:8080"
    environment:
      JAVA_OPTS: "-Drocketmq.namesrv.addr=rocketmq-namesrv:9876 -Drocketmq.config.namesrvAddr=rocketmq-namesrv:9876"
    depends_on:
      - rocketmq-namesrv

这个Compose文件包含三个服务:

  • rocketmq-namesrv:用于启动Name Server容器。
  • rocketmq-broker:用于启动Broker容器,使用之前创建的broker.conf文件作为配置文件。
  • rocketmq-console:可选项,用于启动RocketMQ控制台容器,可以在Web界面上查看RocketMQ的状态。
  1. 启动服务

启动Docker Compose服务:

docker-compose up -d

该命令将启动三个容器,分别是rocketmq-namesrv(Name Server)、rocketmq-broker(Broker)、rocketmq-console(控制台)。

  1. 查看RocketMQ状态

在浏览器中访问:http://localhost:8080,打开RocketMQ控制台页面。界面如下所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QlTDRMhn-1689309647368)(https://sevenmile-images.oss-cn-beijing.aliyuncs.com/rocketmq-console.png)]

点击状态-主题列表,可以看到相关主题的数据:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UalIv4yq-1689309647369)(https://sevenmile-images.oss-cn-beijing.aliyuncs.com/rocketmq-topic-list.png)]

至此,使用foxiswho/rocketmq镜像部署RocketMQ服务的步骤就完成了。

要将端口号9876,10911和10909添加到firewalld的允许列表中,可以使用以下命令:

sudo firewall-cmd --zone=public --add-port=9876/tcp --permanent
sudo firewall-cmd --zone=public --add-port=10911/tcp --permanent
sudo firewall-cmd --zone=public --add-port=10909/tcp --permanent

这将向“public”防火墙区域添加tcp协议的三个端口,并且这些规则将在防火墙重启时保留。

要删除这些端口的规则,可以使用以下命令:

sudo firewall-cmd --zone=public --remove-port=9876/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=10911/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=10909/tcp --permanent

并通过以下命令重新加载firewalld以使更改生效:

sudo firewall-cmd --reload

这些命令通过“–zone”选项指定了防火墙区域,通过“–add-port”和“–remove-port”选项指定了端口号,通过“–permanent”选项将新规则永久保存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

画中神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值