美文网首页
Linux 安装和部署rocketmq

Linux 安装和部署rocketmq

作者: 晴空万里103804 | 来源:发表于2020-10-14 13:56 被阅读0次

        阿里巴巴其中一个核心分布式技术是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/releases 点击对应的版本,右键获取复制链接地址,得到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加上配置,否则启动生产者提示

    参考:https://blog.csdn.net/qq_21460229/article/details/104351178

    六、修改broker.conf配置文件

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

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

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

    参考https://www.cnblogs.com/2YSP/p/11616376.html

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

    ./nginx -s reload

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

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

    http://test.cxiaomi.com/#/consumer

    相关文章

      网友评论

          本文标题:Linux 安装和部署rocketmq

          本文链接:https://www.haomeiwen.com/subject/nfwvpktx.html