RocketMQ4介绍及在linux服务器部署

1、JMS介绍和消息中间件

1.1、JMS消息服务和使用场景

在这里插入图片描述
解耦异步
在这里插入图片描述
在这里插入图片描述
prc调用,数据源变动
在这里插入图片描述

1.2、消息中间件常见的概念和编程模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3、主流消息队列和技术选型

在这里插入图片描述

2、 RocketMQ4介绍及在Linux服务器部署

2.1、RocketMQ4消息队列介绍

官网:http://rocketmq.apache.org/
资源:http://jm.taobao.org/2017/01/12/rocketmq-quick-start-in-10-minutes/
https://www.jianshu.com/p/453c6e7ff81c
在这里插入图片描述
在这里插入图片描述

2.2、云Linux服务器安装maven

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

解压	tar -zxvf apache-maven-3.6.2-bin.tar.gz
重命名 mv apache-maven-3.6.2 maven
vim /etc/profile
export PATH=/usr/local/maven/maven/bin:$PATH
立即生效 source /etc/profile

在这里插入图片描述
在这里插入图片描述

2.3、云Linux服务器源码部署RocketMQ4

前置条件:已经安装jdk8,maven
官网:http://rocketmq.apache.org/docs/quick-start/
在这里插入图片描述
在这里插入图片描述

下载 wget http://mirror.bit.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip
解压 unzip rocketmq-all-4.4.0-source-release.zip
cd rocketmq-all-4.4.0
安装 mvn -Prelease-all -DskipTests clean install -U

出现下面表示安装成功
在这里插入图片描述
启动Start Name Server

cd distribution/target/apache-rocketmq

非守护进程启动(t1)
sh bin/mqnamesrv

守护进程启动(t2)
nohup sh bin/mqnamesrv &
tail -f ~/logs/rocketmqlogs/namesrv.log

在这里插入图片描述
在这里插入图片描述
启动可能NameServerٖ内存不足,修改 JAVA_OPT

vi /usr/local/rock/rock/distribution/target/apache-rocketmq/bin/runserver.sh

在这里插入图片描述

报错信息如下:
[root@iZwz94sw188z3yfl7lpmmsZ apache-rocketmq]# sh bin/mqnamesrv
Java HotSpot(TM) 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
Java HotSpot(TM) 64-Bit Server VM warning:
UseCMSCompactAtFullCollection is deprecated and will likely be
removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: INFO:
os::commit_memory(0x00000006ec800000, 2147483648, 0) failed;
error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment
to continue.
# Native memory allocation (mmap) failed to map 2147483648 bytes
for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/software/rocketmq-all-
4.4.0/distribution/target/apache-rocketmq/hs_err_pid8993.log

修改举例
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -
XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

启动Start Broker

broker.conf配置文件

namesrvAddr={你自己的阿里云服务器外网IP或者内网IP}:9876
brokerIP1={你自己的阿里云服务器外网IP}
brokerName=james
brokerClusterName=DefaultCluster
brokerId=0
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
cd distribution/target/apache-rocketmq

非守护进程启动(t1)
sh bin/mqbroker -n localhost:9876	#(本机)
sh bin/mqbroker -n 192.168.1.188:9876	#(其他机)

守护进程启动(t2)
nohup sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true &
nohup sh bin/mqbroker -n 47.100.207.234:9876 -c conf/broker.conf &
tail -f ~/logs/rocketmqlogs/broker.log 

The broker[%s,192.168.10.100:10911] boot success...

在这里插入图片描述
在这里插入图片描述
Broker内存不足

 修改JAVA_OPT
vi /usr/local/rock/rock/distribution/target/apache-rocketmq/bin/runbroker.sh

修改举例	JAVA_OPT="${JAVA_OPT} -server -Xms528m -Xmx528m -Xmn256m"

在这里插入图片描述

/usr/local/rocketmq/rocketmq-all-4.4.0/distribution/target/apache-rocketmq/bin
vi runbroker.sh
在这里插入图片描述

查看是否全部启动
在这里插入图片描述
发送消息 Send & Receive Messages

Before sending/receiving messages, we need to tell clients the location of name servers. RocketMQ provides multiple ways to achieve this. For simplicity, we use environment variable NAMESRV_ADDR

 > export NAMESRV_ADDR=localhost:9876
 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer  # 生产消息

在这里插入图片描述

 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer #消费消息

在这里插入图片描述

关闭服务 Shutdown Servers
/usr/local/rocketmq/rocketmq-all-4.4.0/distribution/target/apache-rocketmq

> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

将服务器的以下端口开放:9876、10909、10911

2.4 云源码安装RocketMQ4控制台(Linux系统)

rocketmq-externals-master.zip
在这里插入图片描述

解压 unzip rocketmq-externals-master.zip
cd rocketmq-externals-master/rocketmq-console
修改pom vi pom.xml 

在这里插入图片描述
在这里插入图片描述

修改application.xml里面的nameserver地址
cd rocketmq-externals-master/rocketmq-console/src/main/resources

vi application.properties 

在这里插入图片描述
在这里插入图片描述
进入pom.xml所在的目录

编译打包:mvn clean package -Dmaven.test.skip=true

进入target目录: 
普通启动:java -jar rocketmq-console-ng-1.0.0.jar

守护进程启动:nohup java -jar rocketmq-console-ng-1.0.0.jar &

访问:http://192.168.10.100:8080
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux部署RocketMQ的步骤如下: 1. 下载RocketMQ的安装包,解压到指定目录。 2. 修改RocketMQ的配置文件,包括broker.conf、namesrv.conf等。 3. 启动NameServer,执行命令:sh bin/mqnamesrv。 4. 启动Broker,执行命令:sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true。 5. 验证RocketMQ是否正常运行,可以通过执行命令:sh bin/mqadmin clusterList -n localhost:9876,查看NameServer和Broker的状态。 6. 在应用程序中使用RocketMQ,需要引入相关的依赖包,并编写相应的代码。 以上就是Linux部署RocketMQ的基本步骤,需要注意的是,在实际部署过程中可能会遇到一些问题,需要根据具体情况进行调整和解决。 ### 回答2: RocketMQ是一种高可用性、高性能的开源消息中间件,在大数据领域和互联网架构中广泛使用。在Linux系统下,部署RocketMQ可以提供更稳定的服务,下面是针对Linux系统下的RocketMQ部署步骤。 1. 下载与安装Java环境 RocketMQ是基于Java语言开发的,需要Java环境的支持,可以通过在Linux中下载安装Java环境来实现: ``` 1. apt-get update 2. apt-get install openjdk-8-jdk 3. java –version ``` 2. 下载RocketMQ安装包 可以通过阿里云官网下载RocketMQ独立版本的压缩包,将其解压缩至目标目录,例如 /usr/local/rocketmq/。下载RocketMQ可以在以下网址中获取:https://mirrors.aliyun.com/apache/rocketmq/ 3. 配置环境变量 在Linux系统下可以通过配置环境变量的方式来快速访问到RocketMQ相关的命令: ``` 1. vim /etc/profile 2. export ROCKETMQ_HOME=/usr/local/rocketmq 3. export PATH=$PATH:$ROCKETMQ_HOME/bin 4. source /etc/profile ``` 4. 启动name server 在RocketMQ中,Name Server是消息的服务路由中心,是RocketMQ集群必不可少的组件。开启Name Server可以通过以下方式来实现: ``` 1. cd $ROCKETMQ_HOME/bin 2. ./mqnamesrv & ``` 5. 启动Broker Broker是RocketMQ集群中存储和消费消息的节点,通过启动Broker来实现消息的生产和消费。启动Broker可以通过以下方式来实现: ``` 1. cd $ROCKETMQ_HOME/bin 2. ./mqbroker -n localhost:9876 & ``` 6. RocketMQ使用 启动Name Server和Broker之后,即可通过RocketMQ提供的命令操作RocketMQ,实现消息的生产和消费: ``` 1. 生产消息:sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer 2. 消费消息:sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer ``` 总体来说,在Linux系统下部署RocketMQ,需要进行几个步骤,包括Java环境的安装,RocketMQ安装包的下载,环境变量的配置,Name Server的启动,Broker的启动等。按照以上步骤进行部署,便能很愉快地在Linux下使用RocketMQ了。 ### 回答3: RocketMQ是一个开源的分布式消息中间件系统,它被广泛用于处理大数据和高并发的消息传递场景。本文将详细如何在Linux部署RocketMQ。 1. 环境准备 在部署RocketMQ之前,需要确保Linux系统已安装Java虚拟机(JVM)。可以通过以下命令检查: ``` java -version ``` 如果未安装,可以通过以下命令安装Java: ``` yum install java-1.8.0-openjdk ``` 同时,还需要安装RocketMQ的二进制文件。可以从RocketMQ的官方网站下载最新版本的二进制文件。下载后,可以使用以下命令解压: ``` tar -zxvf rocketmq-all-version.tar.gz ``` 2. 配置文件修改 解压后,需要修改一些配置文件以适应特定的环境。需要修改以下配置文件: **broker.conf** 在配置文件中,需要指定以下主要参数: - brokerIP:指定该broker服务器的IP地址。 - brokerName:指定该broker服务器的名称。 - brokerClusterName:指定该broker所在的集群名称。 - listenPort:指定broker监听的端口号。 可以通过以下命令修改config/broker.conf文件: ``` vi config/broker.conf ``` 修改完配置文件后,保存并退出。 **nameserver.conf** 在配置文件中,需要指定以下主要参数: - namesrvAddr:指定nameserver的IP地址和端口号。 可以通过以下命令修改config/nameserver.conf文件: ``` vi config/nameserver.conf ``` 修改完配置文件后,保存并退出。 3. 启动服务 启动RocketMQ需要以不同的角色分别启动nameserver和broker服务。可以通过以下命令启动nameserver: ``` nohup sh bin/mqnamesrv & ``` 可以通过以下命令启动broker: ``` nohup sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true & ``` 启动后,可以通过以下命令查看RocketMQ的进程: ``` ps aux | grep RocketMQ ``` 4. 测试 启动服务后,可以通过以下命令创建一个新主题: ``` sh bin/mqadmin updateTopic -c DefaultCluster -n localhost:9876 -t testTopic ``` 然后,可以通过发送消息测试: ``` sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer testTopic ``` 可以通过消耗消息测试: ``` sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer testTopic ``` 以上就是Linux部署RocketMQ的详细过程。RocketMQ是一个非常强大的分布式消息中间件系统,它可以快速处理大量数据。因此,适当地配置和使用RocketMQ可以为企业带来很多好处,例如提高系统的可靠性、提高系统的性能和可扩展性等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值