博客
关于我
linux中安装rocketMQ
阅读量:794 次
发布时间:2023-02-03

本文共 3842 字,大约阅读时间需要 12 分钟。

阿里巴巴其中一个核心分布式技术是RocketMq ,作为一款分布式的消息中间件,经过了淘宝双十一的洗礼,在功能和性能上远超过activeMq

1.要知道RocketMQ原生就是支持分布式的,而ActiveMQ原生存在单点性。

2.RocketMQ可以保证严格的消息顺序,而ActiveMQ无法保证!

3.RocketMQ提供亿级消息的堆积能力,这不是重点,重点是堆积了亿级的消息后,依然保持写入低延迟!

4.丰富的消息拉取模式(Push or Pull)

Push好理解,比如在消费者端设置Listener回调;而Pull,控制权在于应用,即应用需要主动的调用拉消息方法从Broker获取消息,这里面存在一个消费位置记录的问题(如果不记录,会导致消息重复消费)。

5.在Metaq1.x/2.x的版本中,分布式协调采用的是Zookeeper,而RocketMQ自己实现了一个NameServer,更加轻量级,性能更好!

6.消息失败重试机制、高效的订阅者水平扩展能力、强大的API、事务机制等等(后续详细介绍)

详情:https://www.jianshu.com/p/3afd610a8f7d

以下进行安装步骤:

一、 获取rocketmq 下载链接

在github上找到对应的版本,获取到下载链接, 点击对应的版本,右键获取复制链接地址,得到https://github.com/apache/rocketmq/archive/rocketmq-all-4.7.1.tar.gz

二、执行命令

wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.7.1.tar.gz

tar -zxvf rocketmq-all-4.7.1.tar.gz

三、安装maven插件

1、由于下载到的rocketmq是源码,需要对源码进行编译,编译使用maven,若linux没有安装,需做该操作

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

tar -zxvf apache-maven-3.6.3-bin.tar.gz

vim /usr/local/src/apache-maven-3.6.3/conf/setting.xml 新增maven镜像http://maven.aliyun.com/nexus/content/groups/public/,如图1

2、配置环境变量,编辑文件/etc/profile在最下面添加以下内容(如图2)

MAVEN_HOME=/usr/local/src/apache-maven-3.6.3

export MAVEN_HOME

export PATH=${PATH}:${MAVEN_HOME}/bin

3、验证 mvn -v 得到maven信息,则成功配置完成

四、编译rocketmq

在rocketmq目录下执行 mvn -Prelease-all -DskipTests clean install -U 如图

五、rocketmq 启动

/rocketmq-rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1 该目录就是编译后的rocketmq

1、启动命令

nohup sh bin/mqnamesrv > /data/mq/rocketmq/nameserver.log 2>&1 &

jps (查看启动信息)

nohup sh bin/mqbroker -n 127.0.0.1:9876 -c conf/broker.conf autoCreateTopicEnable=true > /data/mq/rocketmq/broker.log 2>&1 &

2、rocketmq服务关闭

关闭namesrv服务:sh bin/mqshutdown namesrv

关闭broker服务 :sh bin/mqshutdown broker

注:启动broket将参数也配置conf/broker.conf加上配置,否则启动生产者提示

后台启动

./mqshutdown broker

./mqshutdown namesrv

nohup ./mqnamesrv -n 192.168.0.1:9876 > /data/mq/rocketmq/nameserver.log 2>&1 &

nohup ./mqbroker -n 192.168.0.1:9001 -c ../conf/broker.conf autoCreateTopicEnable=true > /data/mq/rocketmq/broker.log 2>&1 &

指定端口启动

编辑文件

vim namesrv.properties

内容为:listenPort=5432

启动指定配置文件:nohup ./mqnamesrv -c namesrv.properties > /data/mq/rocketmq/nameserver.log 2>&1 &

nohup ./mqnamesrv -n 192.168.1.1:9876   > /data/mq/rocketmq/nameserver.log 2>&1 &

编辑broker.conf   添加 

namesrvAddr = 

brokerIP1=

上面两个配置项   注意如果是阿里云或者腾讯云,记得使用外网地址

nohup sh bin/mqbroker -n 192.168.1.1:9876 -c conf/broker.conf autoCreateTopicEnable=true > /data/mq/rocketmq/broker.log 2>&1 &

springboot集成rocketMQ要注意,客户端的版本要和服务端一致

参考:

六、修改broker.conf配置文件

安全组需要开放10909和10911端口,其中10911是非VIP通道,10909是VIP通道。

若启动broker出现内存不足错误,如图

这是因为 apache-rocketmq/bin 目录下启动 nameserv 与 broker 的  和  文件中默认分配的内存太大,而系统实际内存却太小导致启动失败。解决办法就是修改 和 里的内存配置,调小一些即可。

参考

六、配置nginx 域名访问,重启nginx   

./nginx -s reload

对外提供9876端口,协议在stream模块中新增。

七、 访问管理界面 (需安装rocketmq-console插件)

console  安装地址

cd  /opt/rocketMQ/rocketmq-rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/bin

nohup ./mqnamesrv -n localhost:9876   > /data/mq/rocketmq/nameserver.log 2>&1 &

nohup sh ./mqbroker -n localhost:9876 -c ../conf/broker.conf autoCreateTopicEnable=true > /data/mq/rocketmq/broker.log 2>&1 &

nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=9000 --rocketmq.config.namesrvAddr=localhost:9876 > console.log 2>&1 &

 mvn clean package -DskipTests=true

编译成功之后,Cmd进入‘target’文件夹,执行‘java -jar rocketmq-console-ng-1.0.0.jar’,启动‘rocketmq-console-ng-1.0.0.jar’。

cd  /opt/rocketMQ/rocketmq-rocketmq-all-4.7.1/distribution/target/rocketmq-4.7.1/rocketmq-4.7.1/bin

nohup ./mqnamesrv -n 8.142.131.56:9876   > /data/mq/rocketmq/nameserver.log 2>&1 &

nohup sh ./mqbroker -n 8.142.131.56:9876 -c ../conf/broker.conf autoCreateTopicEnable=true > /data/mq/rocketmq/broker.log 2>&1 &

nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=9003 --rocketmq.config.namesrvAddr=8.144.160.27:9876 > console.log 2>&1 &

转载地址:http://xszfk.baihongyu.com/

你可能感兴趣的文章
Linux内存监控的12种方法全面掌握系统资源使用情况
查看>>
linux内存管理之RSS和VSZ的区别
查看>>
linux内存管理-内核用户空间 【转】
查看>>
Linux内存耗尽宕机6,转载:Linux服务器Cache占用过多内存导致系统内存不足最终java应用程序崩溃解决方案...
查看>>
Linux内存调试工具YAMD的使用
查看>>
Linux内存过高的问题排查及解决实战
查看>>
linux内核3.4 led驱动,4.移植驱动到3.4内核-移植总结
查看>>
Linux内核cgroup使用介绍
查看>>
linux内核mem_cgroup浅析
查看>>
Linux内核TCP参数优化
查看>>