RocketMQ在线集群安装
Posted 帅气的毛毛侠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RocketMQ在线集群安装相关的知识,希望对你有一定的参考价值。
一、步骤
1、虚拟机安装CentOS 64位 基础版
2、下载安装jdk并配置
3、下载并安装maven
4、下载并安装rocketMQ
5、启动rocketMQ
6、MQ用户手册
7、设置MQ并且创建MQ主题
二、操作
1、虚拟机安装CentOS 64位 基础版
(1)下载镜像文件,在虚拟机中启动镜像文件,选择第一个安装:
(2)出现以下界面,安装软件选择最小安装,分区选择自动分区,网络连接打开(要不然开机时还要设置,如果连接不上,那么是你的虚拟机的网络连接有问题),设置完后就开始安装(下一步还需要设置root密码)。安装很快完成,进入系统,此时就是个命令行界面:
2、下载安装jdk并配置
使用yum命令来查找需要安装的jdk版本,MQ似乎需要jdk1.8的jdk,因此,我选择了这个jdk:
接着就使用yum命令来安装jdk1.8:
完成安装后,确认一下,有以下信息出来就说明是对的(否则command not found):
接着设置环境变量,此时要先确认下jdk是安装在哪个目录下,输入命令java –verbose,一阵信息飘过之后,在最后面会输出路径,从而可以找到jdk的路径:
接着就是设置profile文件(这个/etc/profile跟~/.bash_profile有什么区别?):
在最后面加入以下信息,保存后退出(不知道这样的设置有没有必要,因为jdk安装完成后,命令就可以使用了):
接着使环境变量生效:
3、下载并安装maven
步骤跟2很相似,使用yum list来列出有关maven的相关包,但是发现会列出很多很多的,要下载哪个呢,我也不知道,所以随手打了个命令:
找到并列出了一系列要安装的包,然后就同意安装了:
完成后确认一下:
这里有个小结:以后想要安装什么包的时候yum list | grep “包名称”或者直接yum install “包名称”
4、下载并安装rocketMQ
完成以上步骤后,就要rocketMQ的安装了,首先也是yum,但是发现只有
我们要安装rocketMQ,不是acticeMQ,因此就要百度找了,找到官方文档:http://rocketmq.apache.org/docs/quick-start/,看到先决条件:
感觉有点不妙:Maven版本不对,不过先放着,看看会出现什么错误.git没有装,要先装一个,安装命令依旧是那个yum(参考第3节小结)……所有准备都做完后,开始下载和安装,根据官网上的步骤安装就可以了......(这里省略之后所有)
5、启动rocketMQ
这里的启动MQ指的是不做任何设置,启动下MQ(一台master),至少保证能用,并且官网文档上已经比较清楚的介绍了启动的命令,我这边还写这一节,主要是我在启动broker的时候出了一个错误:
这个肯定是JVM运行参数没有配置好,百度了一下才知道要在这两个地方设置启动JVM的参数(参考http://blog.csdn.net/zhu_tianwei/article/details/40948447),修改成自己合适的参数就可以了
开启完毕检查一下:
6、 MQ用户手册
http://files.cnblogs.com/files/chenkaiwei/阿里RocketMQ_用户指南_V3.2.4_最新版本.pdf
7、设置MQ并且创建MQ主题
在启动MQbroker的时候,需要指定配置文件,其中配置文件一定要包含namesrv这个配置项(笔者之前没有配置入了坑),如下图的namesrvAddr配置项(可能不同版本的默认配置不同,但是建议读者检查一下,本示例配置文件路径:rocketMQ/config/2m-noslave/broker-a.properties),配置时不要使用localhost,127.0.0.1,配置完成后,重启broker(配置在多台分布式部署时详细说明)。
输入以下命令验证broker是否已经正常地挂在本namesrvAddr上了:
以上,MQ的配置与启动就全部完成了,接下来就要入手代码了,MQ的代码至少需要知道MQ的group,topic,namesrvAddr,namesrvAddr是配置文件中已经配置了,MQ的group可以随意写,只要不等于它默认的MQGroup就行,至于topic,创建或者使用默认都行,那么下面输入以下指令来获取默认的topic信息,如下图所示(下面有些topic是不能被使用的):
获取完必要信息之后,就可以写代码了,要通过运行,一定要记住关闭服务器上的防火墙(Centos的命令是systemctl stop firewalld.service,其他不同系统有不同的命令):
运行成功后会在console中打印,这是发送成功的返回结果(发送不成功会报错,最常见的就是no route info of this topic,到时候读者一定要好好回顾本章节的内容):
SendResult [sendStatus=SEND_OK, msgId=AC10ED011D4F2A139A554A14F25E0000,offsetMsgId=AC10EDC400002A9F00000000000001E3, messageQueue=MessageQueue [topic=SELF_TEST_TOPIC, brokerName=broker-a, queueId=0], queueOffset=3]
|
程序运行正常,消息正常发送到MQ上,可以使用以下命令,到服务器段查询刚出发送到MQ消息(图中列出了所有已经接受到的Message,包括了上面一条信息):
以上是关于RocketMQ在线集群安装的主要内容,如果未能解决你的问题,请参考以下文章