centos安装rocketMQ
1.下载安装包
http://rocketmq.apache.org/release_notes/
这里选择 4.4.0 版本,点击进去

可以选择源码包或者二进制文件,这里选择二进制文件(ps:如果选择源码包,需要自行编译,编译需要maven环境)

右键 binary 文件链接,“复制链接地址”,然后到Linux目录下(本例:/usr/local/server/rocketmq)
wget https://archive.apache.org/dist/rocketmq/4.4.0/rocketmq-all-4.4.0-bin-release.zip
2.解压
unzip rocketmq-all-4.4.0-bin-release.zip
如果报错 unzip: command not found,则先安装unzip工具:
yum install zip unzip
3.启动
cd rocketmq-all-4.4.0-bin-release
3.1.创建日志目录
mkdir log
3.2.运行 os.sh
sh bin/os.sh
3.3.启动 nameser
nohup sh bin/mqnamesrv >>log/namesrv.log &

3.4.启动 broker
nohup sh bin/mqbroker >>log/broker.log &

3.5.查看进程
ps -ef|grep java

4.发送和接收消息
4.1.在发送和接收消息之前,我们需要将 name servers 的位置告诉客户端。rocketMQ提供很多方式来实现这个目的,为了简单起见,我们使用环境变量 NAMESRV_ADDR 来实现(这一段是翻译官网说明):
export NAMESRV_ADDR=localhost:9876
4.2.创建生产者:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

4.2.1.从日志中看到,出错了。问题可能原因
4.2.1.1. broker 没有正确连接到 name server,检查方式:
sh bin/mqadmin clusterList -n localhost:9876
4.2.1.2. Producer 没有正确连接到 name server,需要检查防火墙
执行关闭防火墙后重试:systemctl stop firewalld.service
4.2.1.3. 没有手动创建 topic,也没有在启动 broker 时指定允许自动创建。
手动创建方式:sh bin/mqadmin updateTopic -b 127.0.0.1:10911 -t TopicTest
自动创建方式,启动 broker时指定参数 autoCreateTopicEnable=true,如:nohup sh bin/mqbroker >>log/broker.log autoCreateTopicEnable=true &
本例 4.2.1.1.检查结果:

可以看到,结果内容为空,说明确实是 broker 没有连接到 namesrv。回顾我们刚刚的启动过程,是先执行了启动命令,后执行 export 环境变量的,会不会是这个问题?那我们先使用 5. 中的命令停止 namesrv 和 broker 进程,重新启动试试。
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
nohup sh bin/mqnamesrv >>log/namesrv.log &
nohup sh bin/mqbroker >>log/broker.log &
结果:

可以看到,这下有结果了,那么我们继续来创建生产者:
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

可以看到,执行成功了,并且发送了很多消息
4.3.创建消费者
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

OK,消费者也接收到消息了。
5.停止
5.1.停止 broker
sh bin/mqshutdown broker
5.2.停止 namesrv
sh bin/mqshutdown namesrv
6.回顾
在4.2.中执行生产者的时候出错了,我们预设了三个可能原因,虽然我们在猜测了第一个原因并重启之后,问题已经不存在了,但是还有两个原因。第二个原因其实跟第一个根本原因一样,都是找不到服务地址,因为我们之前并没有配置。那么第三个呢?我们全程并没有指定参数允许自动创建 topic 呀。这说明默认配置式允许自动创建的,真好。
7.常用命令
查看集群情况 ./mqadmin clusterList -n 127.0.0.1:9876
查看 broker 状态 ./mqadmin brokerStatus -n 127.0.0.1:9876 -b 172.20.1.138:10911 (注意换成你的 broker 地址)
查看 topic 列表 ./mqadmin topicList -n 127.0.0.1:9876
查看 topic 状态 ./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic (换成你想查询的 topic)
查看 topic 路由 ./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic
另外,在安装目录的 bin 目录下有一个文件 README.md,记载了启动、停止、创建主题、创建订阅组等基本命令。以后再使用的过程中,可以将自己用到的一些其它命令也写到文件里面去。以备忘和查阅。
8.安装可视化管理台
rocketmq-externals
8.1.github源码下载:https://github.com/apache/rocketmq-externals
8.2.指定你的 rocketmq服务的地址
修改 rocketmq-console 模块的 application.properties文件,里面的配置项 rocketmq.config.namesrvAddr(不修改则使用环境变量 NAMESRV_ADDR),如本例是:localhost:9876,也可以不配置(因为本例的服务端口就是默认并且配置了环境变量)。
8.3.修改管理台程序的服务端口
server.port = 8580
8.4.打包
idea打开项目,然后在终端执行:
cd rocketmq-console
mvn clean package -Dmaven.test.skip=true
8.5.将打包得到的jar包上传服务器
/usr/local/server/rocketmq
8.6.登录服务器,启动
cd /usr/local/server/rocketmq/
mkdir admin
mv rocketmq-console-ng-1.0.1.jar admin
cd admin
mkdir log
nohup java -jar rocketmq-console-ng-1.0.1.jar >>log/boot.log &
8.7.开放服务器 8580 端口,或者配置 nginx 域名解析,开放外网访问。
8.8.结果

9.监听外网
上述整个过程中,讲述的都是基于local的服务。假如我们在阿里云服务器上经过上述配置,然后我们在本地启动一个rocketmq producer,发现还是发送不成功。这是因为服务绑定在本地网卡 ip 上,也就是 127.0.0.1。将服务绑定到外网的方法:
9.1.修改环境变量:export NAMESRV_ADDR=公网IP:9876
9.2.启动namesrv:nohup sh bin/mqnamesrv -n 公网IP:9876 >>log/namesrv.log &
9.3.修改broker配置文件,conf/broker.conf,添加一行
brokerIP1=公网IP
9.4.启动 broker:nohup sh bin/mqbroker -n 公网IP:9876 -c conf/broker.conf autoCreateTopicEnable=true >>log/broker.log &
10.参考
10.1.在4.2.中报错问题排查参考:https://blog.csdn.net/jiangyu1013/article/details/81478754
10.2.在7.中常用命令朱安转抄:https://blog.csdn.net/shiloh_my/article/details/82977584
10.3.管理台安装参考:https://www.cnblogs.com/buyige/p/9437054.html
10.4.绑定外网配置参考:https://blog.csdn.net/lw5885799/article/details/88646051
centos安装rocketMQ的更多相关文章
- Linux安装RocketMQ
本文介绍Linux安装RocketMQ. 1.RocketMQ简介 RocketMQ是阿里巴巴中间件开发的分布式消息系统,曾经经历过很多阿里巴巴大型项目的实际检验.在去年已经正式捐献给Apache开源 ...
- CentOS安装gitlab,gerrit,jenkins并配置ci流程
CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...
- 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...
- 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...
- CentOS安装Apache-2.4.10+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...
- CentOS安装Nginx-1.6.2+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了pcre等基础组件,具体见<CentOS安装LNMP环境的基础 ...
- CentOS安装MySQL-5.6.10+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装MySQL之前,请确保已经使用yum安装了各类基础组件,具体见<CentOS安装LNMP环境的基础组件& ...
- 转: CentOS 安装 SVN1.8 客户端
from: http://blog.csdn.net/clementad/article/details/46898091 CentOS 安装SVN客户端 标签: subversionrpmcent ...
- CentOS安装gitLab服务器
首先利用gitlab-install-el6.sh安装,比较简单: (出处:http://www.linuxidc.com/Linux/2013-06/85754.htm) 1:如果有条件,提供一台全 ...
随机推荐
- 网络通信技术中的中继器repeater
1. repeater的作用 对信号进行再生和还原 2. repeater的优点 延长通讯距离 提高可靠性 增加节点的最大数目 各个网段可以使用不同的通讯速率 3. repeater的缺点 增加了延时 ...
- Ionic4.x ion-infinite-scroll 上拉分页加载更多
<ion-header> <ion-toolbar> <ion-title> Tab One </ion-title> </ion-toolbar ...
- window.location.href重定向失败的问题
如题,在js中通过window.location.href=URL来跳转到另一个页面(也可以是另一个项目的另一个页面). 打开的页面地址是:www.a.com/project1/index 要跳转的页 ...
- 0.9.0.RELEASE版本的spring cloud alibaba sentinel+feign降级处理实例
既然用到了feign,那么主要是针对服务消费方的降级处理.我们基于0.9.0.RELEASE版本的spring cloud alibaba nacos+feign实例添油加醋,把sentinel功能加 ...
- 泡泡一分钟:Visual Odometry Using a Homography Formulation with Decoupled Rotation and Translation Estimation Using Minimal Solutions
张宁 Visual Odometry Using a Homography Formulation with Decoupled Rotation and Translation Estimation ...
- Qt编写气体安全管理系统7-设备监控
一.前言 设备监控模块是地图监控模块的延伸,只不过是将设备做成一个个的独立的面板显示,类似于屏幕一样,展示的信息会更多一些,比如设备的名称型号等,有多少个设备就有多少个这样的设备面板,这个主要是针对不 ...
- 宣化上人:大佛顶首楞严经四种清净明诲浅释(4-5)(转自学佛网:http://www.xuefo.net/nr/article23/230699.html)
大佛顶首楞严经四种清净明诲浅释(4) 唐天竺·沙门般剌密帝译 宣化上人主讲 一九八三年四月十七日晚讲于万佛圣城 汝教世人修三摩地.先断心淫.是名如来.先佛世尊.第一决定清净明诲. 所以说,教人这个爱的 ...
- js中的eval方法
eval(string) eval函数接收一个参数string,如果string不是字符串,则直接返回string.否则执行string语句.如果string语句执行结果是一个值,则返回此值,否则返回 ...
- vue-cli3 按需加载loading,服务的方式调用
安装 babel-plugin-component npm install babel-plugin-component -S 安装element-ui npm install element-ui ...
- 关于反向生成url
1.模板渲染 <form action="{% url "bieming" 参数 %}" > <input type="text&q ...