RocketMQ部署安装

概述:
RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。
环境准备:

OS:entOS Linux release 7.6.1810 (Core)
配置:8C 16G

操作步骤

  • 配置环境变量(jdk1.8)

yum install java-1.8.0-openjdk
yum install java-1.8.0-openjdk-devel.x86_64

环境变量引用,在/etc/profile中输入以下内容

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

source /etc/profile

检查环境变量是否正常

[root@localhost rocketmq]# java -version
openjdk version “1.8.0_242”
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
[root@localhost rocketmq]# javac -version
javac 1.8.0_242

下载rocketMQ组件

yum -y install wget
wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.6.0/rocketmq-all-4.6.0-bin-release.zip

解压文件至/home

 unzip rocketmq-all-4.6.0-bin-release.zip -d /home/

得到一个名为rocketmq-all-4.6.0-bin-release的目录,目录下文件如下:

[root@localhost home]# tree rocketmq-all-4.6.0-bin-release
rocketmq-all-4.6.0-bin-release
├── benchmark
│ ├── consumer.sh
│ ├── producer.sh
│ ├── runclass.sh
│ └── tproducer.sh
├── bin
│ ├── cachedog.sh
│ ├── cleancache.sh
│ ├── cleancache.v1.sh
│ ├── dledger
│ │ └── fast-try.sh
│ ├── mqadmin
│ ├── mqadmin.cmd
│ ├── mqbroker
│ ├── mqbroker.cmd
│ ├── mqbroker.numanode0
│ ├── mqbroker.numanode1
│ ├── mqbroker.numanode2
│ ├── mqbroker.numanode3
│ ├── mqnamesrv
│ ├── mqnamesrv.cmd
│ ├── mqshutdown
│ ├── mqshutdown.cmd
│ ├── os.sh
│ ├── play.cmd
│ ├── play.sh
│ ├── README.md
│ ├── runbroker.cmd
│ ├── runbroker.sh
│ ├── runserver.cmd
│ ├── runserver.sh
│ ├── setcache.sh
│ ├── startfsrv.sh
│ ├── tools.cmd
│ └── tools.sh
├── conf
│ ├── 2m-2s-async
│ │ ├── broker-a.properties
│ │ ├── broker-a-s.properties
│ │ ├── broker-b.properties
│ │ └── broker-b-s.properties
│ ├── 2m-2s-sync
│ │ ├── broker-a.properties
│ │ ├── broker-a-s.properties
│ │ ├── broker-b.properties
│ │ └── broker-b-s.properties
│ ├── 2m-noslave
│ │ ├── broker-a.properties
│ │ ├── broker-b.properties
│ │ └── broker-trace.properties
│ ├── broker.conf
│ ├── dledger
│ │ ├── broker-n0.conf
│ │ ├── broker-n1.conf
│ │ └── broker-n2.conf
│ ├── logback_broker.xml
│ ├── logback_namesrv.xml
│ ├── logback_tools.xml
│ ├── plain_acl.yml
│ └── tools.yml
├── lib
│ ├── commons-beanutils-1.9.2.jar
│ ├── commons-cli-1.2.jar
│ ├── commons-codec-1.9.jar
│ ├── commons-collections-3.2.2.jar
│ ├── commons-digester-1.8.1.jar
│ ├── commons-lang3-3.4.jar
│ ├── commons-logging-1.2.jar
│ ├── commons-validator-1.6.jar
│ ├── dledger-0.1.jar
│ ├── fastjson-1.2.61.jar
│ ├── guava-19.0.jar
│ ├── javassist-3.20.0-GA.jar
│ ├── jcommander-1.72.jar
│ ├── jna-4.2.2.jar
│ ├── logback-classic-1.0.13.jar
│ ├── logback-core-1.0.13.jar
│ ├── netty-all-4.0.42.Final.jar
│ ├── netty-tcnative-boringssl-static-1.1.33.Fork26.jar
│ ├── openmessaging-api-0.3.1-alpha.jar
│ ├── rocketmq-acl-4.6.0.jar
│ ├── rocketmq-broker-4.6.0.jar
│ ├── rocketmq-client-4.6.0.jar
│ ├── rocketmq-common-4.6.0.jar
│ ├── rocketmq-example-4.6.0.jar
│ ├── rocketmq-filter-4.6.0.jar
│ ├── rocketmq-logging-4.6.0.jar
│ ├── rocketmq-namesrv-4.6.0.jar
│ ├── rocketmq-openmessaging-4.6.0.jar
│ ├── rocketmq-remoting-4.6.0.jar
│ ├── rocketmq-srvutil-4.6.0.jar
│ ├── rocketmq-store-4.6.0.jar
│ ├── rocketmq-tools-4.6.0.jar
│ ├── slf4j-api-1.7.7.jar
│ └── snakeyaml-1.19.jar
├── LICENSE
├── NOTICE
└── README.md

修改启动脚本(rockermq默认启动内存很大,需根据实际情况来修改)

vim runbroker.sh
可修改:JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
vim runbroker.sh
可修改:JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"

配置rockermq环境参数

vim /etc/profile
export ROCKETMQ_HOME=/home/rocketmq  #实际路径
export NAMESRV_ADDR=localhost:9876
export PATH=$JAVA_HOME/bin:$ROCKETMQ_HOME/bin:$PATH

source /etc/profile

修改日志存储路径

cd /home/rocketmq/conf #实际路径
sed -i 's#${user.home}#/home/rocketmq#g' *.xml  #默认是存在用户目录下

启动

nohup mqnamesrv &
nohup mqbroker -n IP:9876 & #IP是部署的本机IP

查看日志

[root@localhost rocketmqlogs]# cat namesrv.log |grep succ
2020-02-14 15:31:20 INFO main - The Name Server boot success. serializeType=JSON
正常
[root@localhost rocketmqlogs]# cat broker.log |grep succ
2020-02-14 15:31:32 INFO main - The broker[localhost.localdomain, 192.168.200.128:10911] boot success. serializeType=JSON and name server is 192.168.200.128:9876
正常

store存储方式$HOME\store\commitlog\${fileName}因此如果用root起的话,默认是在/root下,如果想存在其他目录下,只需要切换个用户启动即可

useradd rocketmq
chown -R rocketmq.rocketmq /home/rocketmq

此时在启动,就到其他用户的家目录里了

bash-4.2$ tree /home/rocketmq/store
/home/rocketmq/store
├── checkpoint
├── config
│ ├── consumerFilter.json
│ ├── consumerFilter.json.bak
│ ├── consumerOffset.json
│ ├── consumerOffset.json.bak
│ ├── delayOffset.json
│ ├── delayOffset.json.bak
│ └── topics.json
└── lock

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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后,可以使用RocketMQ的Java或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
发出的红包

打赏作者

早九晚十二

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

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

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

打赏作者

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

抵扣说明:

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

余额充值