rocketmq安装和部署

一、下载

本文rocketmq版本是4.3.2,下载地址:https://rocketmq.apache.org/dowloading/releases/
系统:centos 7
JDK版本:1.8.0_221
在这里插入图片描述
如果是安装部署需求的话,建议下载Binary版本,因为下载Source版本的话,还要到linux中编译
如果是学习源码需求的话,建议下载Source版本

二、单机版安装部署
2.1 修改运行内存

因为rocketmq默认运行内存是4g,但是我们这是虚拟机,给不了那么多内存,所以这里给个256m
修改/usr/local/rocketmq/bin/runserver.sh/usr/local/rocketmq/bin/runbroker.sh中JAVA_OPT关于内存的设置

/usr/local/rocketmq-all-4.3.2-bin-release/bin目录执行vim runserver.sh修改JAVA_OPT,下面是修改后的样子

#修改此处的内存大小,默认为4g,一般我们的虚拟机内存不会太大 40 #所以此处修改为256m,可以根据自己机器的配置合理设置
#===========================================================================================
# JVM Configuration
#===========================================================================================
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m"

/usr/local/rocketmq-all-4.3.2-bin-release/bin目录执行vim runbroker.sh修改JAVA_OPT,下面是修改后的样子

# 默认需要内存大小为8g
#===========================================================================================
# JVM Configuration
#===========================================================================================
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
2.2、运行服务namesrv
[root@load01 bin]# pwd
/usr/local/rocketmq-all-4.3.2-bin-release/bin
#可以不用nohup,这里用nohup,只是方便看其运行日志
#192.168.93.224:9876是本机ip和其分配的端口号
[root@load01 bin] nohup sh mqnamesrv ‐n 192.168.93.224:9876 &

#查看日志
[root@load01 bin] nohup: 忽略输入并把输出追加到"nohup.out"
tail -f nohup.out
OpenJDK 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON
2.3、启动broker

第一步,假设我们的IP是:192.168.93.224,修改配置文件broker.conf,加上:brokerIP1=192.168.93.224

brokerIP1=192.168.93.224
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

第二步,启动配置配置文件

#192.168.93.224:9876为nameserver,链接进行注册
#autoCreateTopicEnable=true(允许创建topic)
[root@load01 rocketmq-all-4.3.2-bin-release] nohup sh bin/mqbroker ‐n 192.168.93.224:9876 ‐c conf/broker.conf autoCreateTopicEnable=true &
#查询日志
[root@load01 rocketmq-all-4.3.2-bin-release] tail -f nohup.out
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
The broker[load01, 192.168.93.224:10911] boot success. serializeType=JSON
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
The broker[load01, 192.168.93.224:10911] boot success. serializeType=JSON and name server is 192.168.93.224:9876
2.3、关闭命令

方案一

#‐‐关闭broker
[root@load01 rocketmq-all-4.3.2-bin-release] sh bin/mqshutdown broker

#‐‐关闭namesrv
[root@load01 rocketmq-all-4.3.2-bin-release] sh bin/mqshutdown namesrv

方案二

#‐‐杀掉进程 
[root@load01 rocketmq-all-4.3.2-bin-release] ps ‐ef|grep rocketmq 查看pid(进程号) 
[root@load01 rocketmq-all-4.3.2-bin-release] kill ‐9 pid(进程号)
三、集群版安装部署

准备2个虚拟机分别是虚拟机192.168.93.224与192.168.93.222,分别部署2个 NameServer,并在每台机器上分别启动一个Master和一个Slave,互为主备

准备动作,在192.168.93.224和192.168.93.222的rocketmq的conf目录下创建2个文件

[root@save conf]# cp broker.conf broker-m.conf 
[root@save conf]# cp broker.conf broker-s.conf
3.1、配置192.168.93.224 Master和Slave

Master broker-m.conf配置如下

namesrvAddr = 192.168.93.224:9876;192.168.93.222:9876
brokerIP1 = 192.168.93.224
brokerClusterName = clyu_cluster
brokerName = broker-a
#0表示主节点
brokerId = 0
deleteWhen = 04
fileReservedTime = 48

#当前节点角色
brokerRole = SYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable = true

#broker通信端口,默认端口
listenPort = 10911
storePathRootDir = /root/rocketmq/store‐m

Slave broker-s.conf配置

namesrvAddr = 192.168.93.224:9876;192.168.93.222:9876
brokerIP1 = 192.168.93.224
brokerClusterName = clyu_cluster
brokerName = broker-a

brokerId = 1
deleteWhen = 04
fileReservedTime = 48

#当前节点角色
brokerRole = SLAVE
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable = true

#broker通信端口,默认端口
listenPort = 10811
storePathRootDir = /root/rocketmq/store‐s

启动mqnamesrv

[root@load01 rocketmq-all-4.3.2-bin-release]# nohup sh bin/mqnamesrv -n 192.168.93.224:9876 &

启动broker Master

[root@load01 rocketmq-all-4.3.2-bin-release]# nohup sh bin/mqbroker -c conf/broker-m.conf &

启动broker Slave

[root@load01 rocketmq-all-4.3.2-bin-release]# nohup sh bin/mqbroker -c conf/broker-s.conf &
3.2、配置192.168.93.222 Master和Slave

Master broker-m.conf配置如下

namesrvAddr = 192.168.93.224:9876;192.168.93.222:9876
brokerIP1 = 192.168.93.222
brokerClusterName = clyu_cluster
brokerName = broker-b
#0表示主节点
brokerId = 0
deleteWhen = 04
fileReservedTime = 48

#当前节点角色
brokerRole = SYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable = true

#broker通信端口,默认端口
listenPort = 10911
storePathRootDir = /root/rocketmq/store‐m

Slave broker-s.conf配置

namesrvAddr = 192.168.93.224:9876;192.168.93.222:9876
brokerIP1 = 192.168.93.222
brokerClusterName = clyu_cluster
brokerName = broker-b

brokerId = 1
deleteWhen = 04
fileReservedTime = 48

#当前节点角色
brokerRole = SLAVE
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable = true

#broker通信端口,默认端口
listenPort = 10811
storePathRootDir = /root/rocketmq/store‐s

启动mqnamesrv 与 mqbroker

[root@load01 rocketmq-all-4.3.2-bin-release]# nohup sh bin/mqnamesrv -n 192.168.93.222:9876 &

启动broker Master

[root@load01 rocketmq-all-4.3.2-bin-release]# nohup sh bin/mqbroker -c conf/broker-m.conf &

启动broker Slave

[root@load01 rocketmq-all-4.3.2-bin-release]# nohup sh bin/mqbroker -c conf/broker-s.conf &

集群启动后,查看集群监控状态

[root@save rocketmq-all-4.3.2-bin-release]# sh bin/mqadmin clusterlist -n 192.168.93.222:9876
OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
#Cluster Name     #Broker Name            #BID  #Addr                  #Version                #InTPS(LOAD)       #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
clyu_cluster      broker-a                0     192.168.93.224:10911   V4_3_2                   0.00(0,0ms)         0.00(0,0ms)          0 457361.49 -1.0000
clyu_cluster      broker-a                1     192.168.93.224:10811   V4_3_2                   0.00(0,0ms)         0.00(0,0ms)          0 457361.49 0.0493
clyu_cluster      broker-b                0     192.168.93.222:10911   V4_3_2                   0.00(0,0ms)         0.00(0,0ms)          0 457361.49 0.0550
clyu_cluster      broker-b                1     192.168.93.222:10811   V4_3_2                   0.00(0,0ms)         0.00(0,0ms)          0 457361.49 0.0550
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux RocketMQ安装部署可以分为以下几个步骤: 1. 下载RocketMQ安装包,可以从官网或者GitHub上下载。 2. 解压安装包,可以使用tar命令进行解压。 3. 配置环境变量,将RocketMQ的bin目录添加到PATH环境变量中。 4. 配置RocketMQ的配置文件,包括namesrv和broker的配置文件。 5. 启动namesrv和broker,可以使用nohup命令将其作为后台进程运行。 6. 验证RocketMQ是否正常运行,可以使用命令行工具或者RocketMQ的Web控制台进行验证。 需要注意的是,在配置RocketMQ的配置文件时,需要根据实际情况进行配置,包括监听端口、存储路径、集群配置等。同时,在启动namesrv和broker时,也需要注意日志输出路径和日志级别的配置,以便于后续的问题排查和监控。 ### 回答2: RocketMQ是阿里巴巴开源的分布式消息队列系统,它具有高扩展性、高可用性和高性能,广泛应用于各种分布式系统中。本文将介绍在Linux系统中如何安装部署RocketMQ。 1. 准备工作 在安装之前,需要准备好以下工具和环境: - JDK:要求JDK1.8及以上版本; - Maven:用于编译和打包RocketMQ源代码; - Git:用于下载和更新RocketMQ源代码; - CMake:用于构建RocketMQ Server和Client的C++代码; - 压缩工具:用于解压RocketMQ安装包。 2. 下载和编译源代码 在Linux系统中,使用以下命令下载和编译RocketMQ源代码: $ git clone https://github.com/apache/rocketmq.git $ cd rocketmq/ $ mvn -Prelease-all -DskipTests clean install -U 以上命令将下载RocketMQ源代码,并使用Maven编译和打包。编译完成后,在target目录下将生成如下文件: - bin目录:包含了rocketmq的启动脚本和配置文件; - conf目录:包含了rocketmq的配置文件; - distribution目录:包含了rocketmq的二进制文件和压缩包; - distribution/target目录:包含了rocketmq的编译结果。 3. 安装部署 安装部署RocketMQ需要进行以下步骤: 1. 下载和解压RocketMQ安装包 $ wget https://archive.apache.org/dist/rocketmq/4.9.0/rocketmq-all-4.9.0-bin-release.zip $ unzip rocketmq-all-4.9.0-bin-release.zip 2. 配置环境变量 $ export ROCKETMQ_HOME=/path/to/rocketmq-all-4.9.0-bin-release $ export PATH=$PATH:$ROCKETMQ_HOME/bin 3. 修改配置文件 RocketMQ的配置文件在conf目录下,包括broker.conf、namesrv.conf和logback_broker.xml等文件。可以根据实际需要进行修改。 4. 启动RocketMQ 启动NameServer: $ nohup sh bin/mqnamesrv & 启动Broker: $ nohup sh bin/mqbroker -n localhost:9876 & 以上命令将在后台启动NameServer和Broker。如果需要停止NameServer和Broker,可以使用以下命令: 停止NameServer: $ sh bin/mqshutdown namesrv 停止Broker: $ sh bin/mqshutdown broker 5. 测试RocketMQ 在启动RocketMQ后,可以使用RocketMQJava或C++ Client进行消息发送和消费的测试。例如,在Java Client中,可以使用以下代码发送和消费消息: public class ProducerTest { public static void main(String[] args) throws Exception { // 实例化生产者 DefaultMQProducer producer = new DefaultMQProducer("test-group"); // 设置NameServer地址 producer.setNamesrvAddr("localhost:9876"); // 启动生产者 producer.start(); // 发送消息 Message message = new Message( "test-topic", "test-tag", "Hello RocketMQ".getBytes(StandardCharsets.UTF_8) ); SendResult result = producer.send(message); System.out.println(result); // 关闭生产者 producer.shutdown(); } } public class ConsumerTest { public static void main(String[] args) throws Exception { // 实例化消费者 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("test-group"); // 设置NameServer地址 consumer.setNamesrvAddr("localhost:9876"); // 订阅主题和标签 consumer.subscribe("test-topic", "test-tag"); // 注册消息监听器 consumer.registerMessageListener((MessageListenerConcurrently) (msgs, ctx) -> { for (MessageExt msg : msgs) { System.out.println(new String(msg.getBody())); } return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; }); // 启动消费者 consumer.start(); } } 以上代码将发送和消费一条消息。可以根据实际需要进行修改,测试消息发送和消费的功能。 总结 本文介绍了在Linux系统中安装部署RocketMQ的步骤,包括下载和编译源代码、配置环境变量、修改配置文件、启动和停止RocketMQ以及测试RocketMQ的功能。RocketMQ是一款高性能、高可用性的分布式消息队列,应用广泛,具有较好的扩展性和稳定性。 ### 回答3: RocketMQ是一个分布式的消息中间件,具有高性能、高可靠、高可用等特点。在使用RocketMQ的过程中,需要对其进行安装部署。本文将介绍如何在Linux系统上安装部署RocketMQ。 一、环境准备 在开始安装RocketMQ之前,需要先安装Java环境,如果已经安装可以跳过此步骤。 1. 安装Java 在Linux系统上安装Java的方法有很多种,这里介绍通过yum安装的方式。 ``` bash # 安装JDK yum install java-1.8.0-openjdk-devel.x86_64 -y ``` 安装完成后可以通过以下命令查看Java版本号 ```bash java -version ``` 如果正常输出则表示Java环境已经安装成功。 2. 安装RocketMQ RocketMQ官网提供了两种安装方式:二进制文件包和源码包。在此以二进制文件包的方式进行安装。 1. 下载RocketMQ 进入RocketMQ官网[http://rocketmq.apache.org/]下载页面, 下载最新版本的RocketMQ。选择一个版本并下载对应操作系统的二进制文件。 2. 解压文件 将下载的二进制文件解压到指定的目录。 ```bash tar -zxvf rocketmq-all-4.8.0-bin-release.tar.gz ``` 解压后将得到“rocketmq-all-4.8.0”的目录。 3. 配置环境变量 为了方便使用RocketMQ,需要将其添加到系统环境变量中,在终端中执行以下命令: ```bash # 配置环境变量 echo "export ROCKETMQ_HOME=`pwd`/rocketmq-all-4.8.0" >> ~/.bashrc echo "export PATH=$ROCKETMQ_HOME/bin:$PATH" >> ~/.bashrc ``` 4. 启动NameServer RocketMQ依赖于NameServer来管理主题和路由信息。在启动Broker之前,需要先启动NameServer。进入RocketMQ安装目录,执行如下命令: ```bash cd rocketmq-all-4.8.0 nohup sh bin/mqnamesrv & ``` 5. 启动Broker 启动Broker之前,需要在broker.conf配置文件中指定NameServer的地址,配置文件路径为: ```bash $ROCKETMQ_HOME/conf/broker.conf ``` 在终端中执行以下命令启动Broker: ```bash cd $ROCKETMQ_HOME nohup sh bin/mqbroker -n localhost:9876 & ``` 注意:启动Broker前,需要先启动NameServer。 到此,RocketMQ安装部署就完成了,可以使用RocketMQ的相关功能进行开发和测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值