linux系统安装RocketMq集群搭建和命令学习

下载安装包:
链接:https://pan.baidu.com/s/1EF9BJ-O4kgWl5VWuygZRUw 
提取码:1234

RocketMq集群搭建和命令学习

nameserver 关闭 sh mqshutdown namesrv

启动路径 cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin

启动命令 nohup sh mqnamesrv &

查看是否启动命令 tail -f ~/logs/rocketmqlogs/namesrv.log

启动 成功

关闭 sh mqshutdown namesrv

broker 关闭 sh mqshutdown broker

启动路径 cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/bin

启动命令 nohup sh mqbroker -n localhost:9876 &

查看是否启动命令 tail -f ~/logs/rocketmqlogs/broker.log

启动成功

关闭 sh mqshutdown broker

RocketMQ默认的虚拟机内存较大,启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小

# 编辑runbroker.sh和runserver.sh修改默认JVM大小

vi runbroker.sh

vi runserver.sh

修改为256M就行了

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

在bin目录下设置环境变量

发送命令(进入到bin的上一级目录)

进入目录文件夹 : cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release

设置一个路径:export NAMESRV_ADDR=localhost:9876

发送命令: bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

发送后会打印很多日志

接受命令

进入目录文件夹 : cd /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release

设置一个路径: export NAMESRV_ADDR=localhost:9876

接受命令: bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

接收后也会打印很多日志

# nameserver 域名配置

192.168.153.130 rocketmq-nameserver1

192.168.153.132 rocketmq-nameserver2

# broker 域名配置

192.168.153.130 rocketmq-master1

192.168.153.130 rocketmq-slave2

192.168.153.132 rocketmq-master2

192.168.153.132 rocketmq-slave1

配置完成后, 重启网卡

systemctl restart network

service network restart #重启网络连接

1:查看防火状态

systemctl status firewalld

service iptables status

2:暂时关闭防火墙

systemctl stop firewalld

service iptables stop

3:永久关闭防火墙

systemctl disable firewalld

chkconfig iptables off

4:重启防火墙

systemctl enable firewalld

service iptables restart

5:永久关闭后重启

chkconfig iptables on

1) 重启后生效

开启: chkconfig iptables on

关闭: chkconfig iptables off

2) 即时生效,重启后失效

开启: service iptables start

关闭: service iptables stop

设置环境变量(设置后不需要再去bin目录下执行文件,再任意文件夹就可以执行)

#set rocketmq

ROCKETMQ_HOME=/usr/local/rocketmq/rocketmq-all-4.4.0-bin-release

PATH=$PATH:$ROCKETMQ_HOME/bin

export ROCKETMQ_HOME PATH

使得配置立刻生效:

source /etc/profile

创建消息存储路径(默认home目录下)

在192.168.153.130:9876;192.168.153.132:9876这两个服务器分别创建这2个文件夹组

mkdir /usr/local/rocketmq/store

mkdir /usr/local/rocketmq/store/commitlog

mkdir /usr/local/rocketmq/store/consumequeue

mkdir /usr/local/rocketmq/store/index

mkdir /usr/local/rocketmq/store-s

mkdir /usr/local/rocketmq/store-s/commitlog

mkdir /usr/local/rocketmq/store-s/consumequeue

mkdir /usr/local/rocketmq/store-s/index

### 3.3.8 broker配置文件

#### 1)master1

服务器:192.168.153.130

vi /usr/soft/rocketmq/conf/2m-2s-sync/broker-a.properties

修改配置如下:

enablePropertyFilter = true

#所属集群名字

brokerClusterName=rocketmq-cluster

#broker名字,注意此处不同的配置文件填写的不一样

brokerName=broker-a

#0 表示 Master,>0 表示 Slave

brokerId=0

#nameServer地址,分号分割

namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2: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=SYNC_MASTER

#刷盘方式

#- ASYNC_FLUSH 异步刷盘

#- SYNC_FLUSH 同步刷盘

flushDiskType=SYNC_FLUSH

#checkTransactionMessageEnable=false

#发消息线程池数量

#sendMessageThreadPoolNums=128

#拉消息线程池数量

#pullMessageThreadPoolNums=128

#### 2)slave2

服务器:192.168.153.130

vi /usr/soft/rocketmq/conf/2m-2s-sync/broker-b-s.properties

修改配置如下:

enablePropertyFilter = true

#所属集群名字

brokerClusterName=rocketmq-cluster

#broker名字,注意此处不同的配置文件填写的不一样

brokerName=broker-b

#0 表示 Master,>0 表示 Slave

brokerId=1

#nameServer地址,分号分割

namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876

#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数

defaultTopicQueueNums=4

#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭

autoCreateTopicEnable=true

#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭

autoCreateSubscriptionGroup=true

#Broker 对外服务的监听端口

listenPort=11011

#删除文件时间点,默认凌晨 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-s

#commitLog 存储路径

storePathCommitLog=/usr/local/rocketmq/store-s/commitlog

#消费队列存储路径存储路径

storePathConsumeQueue=/usr/local/rocketmq/store-s/consumequeue

#消息索引存储路径

storePathIndex=/usr/local/rocketmq/store-s/index

#checkpoint 文件存储路径

storeCheckpoint=/usr/local/rocketmq/store-s/checkpoint

#abort 文件存储路径

abortFile=/usr/local/rocketmq/store-s/abort

#限制的消息大小

maxMessageSize=65536

#flushCommitLogLeastPages=4

#flushConsumeQueueLeastPages=2

#flushCommitLogThoroughInterval=10000

#flushConsumeQueueThoroughInterval=60000

#Broker 的角色

#- ASYNC_MASTER 异步复制Master

#- SYNC_MASTER 同步双写Master

#- SLAVE

brokerRole=SLAVE

#刷盘方式

#- ASYNC_FLUSH 异步刷盘

#- SYNC_FLUS

H 同步刷盘

flushDiskType=ASYNC_FLUSH

#checkTransactionMessageEnable=false

#发消息线程池数量

#sendMessageThreadPoolNums=128

#拉消息线程池数量

#pullMessageThreadPoolNums=128

#### 3)master2

服务器:192.168.153.132

vi /usr/soft/rocketmq/conf/2m-2s-sync/broker-b.properties

修改配置如下:

enablePropertyFilter = true

#所属集群名字

brokerClusterName=rocketmq-cluster

#broker名字,注意此处不同的配置文件填写的不一样

brokerName=broker-b

#0 表示 Master,>0 表示 Slave

brokerId=0

#nameServer地址,分号分割

namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2: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=SYNC_MASTER

#刷盘方式

#- ASYNC_FLUSH 异步刷盘

#- SYNC_FLUSH 同步刷盘

flushDiskType=SYNC_FLUSH

#checkTransactionMessageEnable=false

#发消息线程池数量

#sendMessageThreadPoolNums=128

#拉消息线程池数量

#pullMessageThreadPoolNums=128

#### 4)slave1

服务器:192.168.153.132

vi /usr/soft/rocketmq/conf/2m-2s-sync/broker-a-s.properties

修改配置如下:

enablePropertyFilter = true

#所属集群名字

brokerClusterName=rocketmq-cluster

#broker名字,注意此处不同的配置文件填写的不一样

brokerName=broker-a

#0 表示 Master,>0 表示 Slave

brokerId=1

#nameServer地址,分号分割

namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876

#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数

defaultTopicQueueNums=4

#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭

autoCreateTopicEnable=true

#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭

autoCreateSubscriptionGroup=true

#Broker 对外服务的监听端口

listenPort=11011

#删除文件时间点,默认凌晨 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=SLAVE

#刷盘方式

#- ASYNC_FLUSH 异步刷盘

#- SYNC_FLUSH 同步刷盘

flushDiskType=ASYNC_FLUSH

#checkTransactionMessageEnable=false

#发消息线程池数量

#sendMessageThreadPoolNums=128

#拉消息线程池数量

#pullMessageThreadPoolNums=128

异常报错修改

java.lang.RuntimeException: Lock failed,MQ already started

这种就是有可能是你所创建的消息存储路径mq-store少了从slave的目录

1)启动NameServe集群

nohup sh mqnamesrv &

2)启动Broker集群

集群地址:192.168.153.130

nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-a.properties &

nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-b-s.properties &

集群地址:192.168.153.132

nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-b.properties &

nohup sh mqbroker -c /usr/local/rocketmq/rocketmq-all-4.4.0-bin-release/conf/2m-2s-sync/broker-a-s.properties &

可视化安装包下载地址

git clone https://github.com/apache/rocketmq-externals

cd rocketmq-console

找到这个文件

C:\Users\adminXu\Desktop\rocketmq-console\src\test\resources\application.properties

修改这个IP地址: rocketmq.config.namesrvAddr

server.contextPath=

server.port=8080

### SSL setting

#server.ssl.key-store=classpath:rmqcngkeystore.jks

#server.ssl.key-store-password=rocketmq

#server.ssl.keyStoreType=PKCS12

#server.ssl.keyAlias=rmqcngkey

#spring.application.index=true

spring.application.name=rocketmq-console

spring.http.encoding.charset=UTF-8

spring.http.encoding.enabled=true

spring.http.encoding.force=true

logging.config=classpath:logback.xml

#if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876

rocketmq.config.namesrvAddr=192.168.153.130:9876;192.168.153.132:9876

#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true

rocketmq.config.isVIPChannel=

#rocketmq-console's data path:dashboard/monitor

rocketmq.config.dataPath=/tmp/rocketmq-console/data

#set it false if you don't want use dashboard.default true

rocketmq.config.enableDashBoardCollect=true

#set the message track trace topic if you don't want use the default one

rocketmq.config.msgTrackTopicName=

rocketmq.config.ticketKey=ticket

#Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required

rocketmq.config.loginRequired=false

安装可视化插件

下载地址:

链接:https://pan.baidu.com/s/1QClbchsRz1zDpX0cEvCusw 
提取码:1234

解压 unzip rocketmq-externals-master.zip

解压目录

打包命令(需要配置mavne环境变量)

mvn clean package -Dmaven.test.skip=true

进入‘\rocketmq-externals\rocketmq-console’文件夹,执行‘mvn clean package -Dmaven.test.skip=true’,编译生成,该过程耗时较长,也有可能打包失败(需要下载依赖jar包,也有可能jar下载失败),如果打包失败可以导入idea进行打包

我第一次打包失败了,然后重新打包成功了:如下

这是我打包的jar,不知道能否可以使用,自己可以测试 

链接:https://pan.baidu.com/s/1Hyd1bIRPKFbi7LeWJt6-ew 
提取码:1234

便已完成,会生成target目录,进入target目录后执行:java -jar rocketmq-console-ng-1.0.1.jar,启动完成后,

将jar包 rocketmq-console-ng-1.0.1.jar 上传到 /usr/soft目录下

通过 java -jar rocketmq-console-ng-1.0.1.jar 前台执行执行jar包

通过 nohup java -jar /usr/local/rocketmq-4.5/rocketmq-console/rocketmq-console-ng-1.0.1.jar & 后台执行执行jar包

通过浏览器访问 192.168.153.130:8080查看

 

SQL基本语法使用

Rocketmq使用sql过滤时报 MQClientException: CODE: 1 DESC: The broker does not support consumer to filter message by SQL92

如果是集群像我这种就要改两个配置文件,集群二:broker-b.properties,broker-a-s.properties 和 集群一:broker-a.properties,broker-b-s.properties

这四个文件加上一行

enablePropertyFilter = true

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值