linux新建mq命令,Linux环境下配置RocketMQ

关注我、精彩文章第一时间推送给你!

9ee35df19a92

公众号.jpg

会用docker之后才发现,这玩意真香哈哈

首先linux下yum、docker全部配置国内源,为了拉取快速。

拉取rocketmq镜像

你可以通过docker search rocketmq查询一下可拉取的镜像

9ee35df19a92

image.png

额,有点多,反正选stars最多的准没错,我们拉取第一个的最新版latest版

docker pull rocketmqinc/rocketmq:latest

安装namesrv

执行下面一条长指令启动容器,注意,长指令不要用我的,修改成你自己的,详解长指令看下面

docker run -d -p 9876:9876 -v /usr/local/docker/rocketmq/data/namesrv/logs:/root/logs -v /usr/local/docker/rocketmq/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:latest sh mqnamesrv

详解

-d # 后台运行

-p #设置默认端口,这里rocketmq默认9876端口

-v #设置映射本地目录到容器内的目录,这个注意我都是把本地的/usr/local/docker/rocketmq/**映射到容器内的对应目录的,这个可以改成你本地的linux目录,当然也可以和我一样。我理解的就是MQ的数据和日志什么的不能放在容器中啊,因为容器毕竟占用的空间有限,就映射一下放在本地目录中。

安装 broker

安装完namesrv就是安装broker了。

首先需要创建broker.conf配置文件,我的路径是/usr/local/docker/rocketmq/conf/broker.conf

/usr/local/docker/rocketmq/conf/broker.conf

其中填入如下内容,注意最后一项ip改成你的linux的ip

brokerClusterName = DefaultCluster

brokerName = broker-a

brokerId = 0

deleteWhen = 04

fileReservedTime = 48

brokerRole = ASYNC_MASTER

flushDiskType = ASYNC_FLUSH

brokerIP1 = 192.168.8.128

用broker.conf配置启动容器

docker run -d -p 10911:10911 -p 10909:10909 -v /usr/local/docker/rocketmq/data/broker/logs:/root/logs -v /usr/local/docker/rocketmq/data/broker/store:/root/store -v /usr/local/docker/rocketmq/conf/broker.conf:/opt/rocketmq-latest/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:latest sh mqbroker -c /opt/rocketmq-latest/conf/broker.conf

注意的地方还是上面需要映射的目录,还有就是linux要开启相应的防火墙端口

安装 rocketmq 控制台

拉取rocketmq控制台的镜像

docker pull pangliang/rocketmq-console-ng

后台启动rocketmq的控制台镜像,映射到18080端口

docker run -d -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.8.128:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 18080:8080 -t pangliang/rocketmq-console-ng

全部启动这3个容器后可通过下面命令查看容器运行状态

docker ps -a

9ee35df19a92

image.png

注意注意:一定要开启防火墙的相应端口

通过看上面的配置需要开启9876、10911、10909、18080四个端口号

firewall-cmd --zone=public --add-port=9876/tcp --permanent #开启9876端口

#10911

#10909

#18080

重新载入防火墙配置

firewall-cmd --reload

检验成果的时候到了

打开浏览器访问192.168.8.128:18080 注意访问你linux的ip和上面rocketmq控制台映射的18080端口

9ee35df19a92

image.png

9ee35df19a92

image.png

到这里突然想只把rocketmq部署在linux上,而控制台跑在本地windows上

解压之后进入rocketmq-externals-master\rocketmq-console 在此目录地址栏cmd执行maven打包命令

mvn clean package -Dmaven.test.skip=true

还是在此目录新建win批处理文件start.bat 内容如下,执行target目录下mvn生成的jar包,在8080端口调用192.168.8.128:9876的rocketmq服务

@echo off

java -jar target/rocketmq-console-ng-1.0.1.jar --server.port=8080 --rocketmq.config.namesrvAddr=192.168.8.128:9876

@pause

双击运行start.bat批处理文件即可。

遇到一个问题记录一下,连接不成功

在linux端发现docker启动容器的时候报了一个警告 WARNING: IPv4 forwarding is disabled. Networking will not work

修改配置文件:

vim /usr/lib/sysctl.d/00-system.conf

追加

net.ipv4.ip_forward=1

接着重启网络

systemctl restart network

将之前的docker容器停掉,删除,重新运行命令启动即可,注意我下面命令针对所有docker容器

docker stop $(docker ps -a -q) #停止所有docker容器

docker rm $(docker ps -a -q) #删除所有

9ee35df19a92

image.png

本地localhost:8080

9ee35df19a92

image.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值