前言
在运用中流程一般 是在程序中使用代码编辑生产者,将所需要的消息发送到rocketmq中,然后另一个程序编辑消费者从rocketmq里面获取消息。rocketmq集群,需要nameServer和Broker集群。
准备两台服务器,两台机器都是master,如果要搞一主N备,修改相应的配置文件
1.ip:192.168.31.144 rocketmq-nameserver1 rocketmq-master1
2.ip:192.168.31.165 rocketmq-nameserver2 rocketmq-master2
安装JDK环境
1.上传该文件到:/usr/local
2.解压 tar -zxvf jdk-7u80-linux-x64.tar.gz
3.修改配置文件
4.vi /etc/profile
在末尾添加配置文件:
1 | export JAVA_HOME=/usr/local/jdk1.7.0_80 |
刷新配置文件:
source /etc/profile
(该命令可以让 当前的配置文件立刻生效。不需要在重启服务器)
5.测试jdk安装是否成功: java -version
1 | java -version |
如上所示:表示成功。
配置RocketMQ集群
1.点击此处下载mq
2.上传下载包到 /usr/local
3.解压文件
1 | # 上传alibaba-rocketmq-3.2.6.tar.gz文件至/usr/local |
4.创建存储路径:
1 | mkdir /usr/local/rocketmq/store |
5.修改rocketmq的核心配置文件:
broker-a.properties文件配置
1 | #所属集群名字 |
broker-b.properties文件配置
1 | #所属集群名字 |
6.在本地host文件中 添加域名解析
配置文件中:namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
此地址需要域名解析:
1.打开 hosts
文件 vi /etc/hosts
2.添加对应的域名解析:
至于划横线的地方,有的机器如果不添加 则可能在启动NameServer的时候会报错 提示没有主机名关联的地址。
可以通过hostname
命令,查看主机名字
修改完配置以后 则需要刷新网卡:
1 | service network restart |
如果是虚拟机克隆出来的服务器,刷新网卡的时候 如果报错,则可以查看:
1 | vi /etc/sysconfig/network-scripts/ifcfg-xxx 文件(每台机器名字可能不一样) |
修改HWADDR的mac地址
mac地址可以两种方式查看:
或者
有的机器没有HWADDR 这个配置名字,如果没有则添加上去。修改完配置以后 重新刷新网卡 service network restart
,如果刷新还报错。可以尝试重新启动。
可以通过ping的方式 检测 hosts文件是否配置成功:
以上上传和解压,修改本地hosts文件,刷新网卡,关闭防火墙等操作两台服务器都应该进行相应的操作,所有的操作完成了,则接下来就是启动rocketmq
关于NameServer和brok的启动
1.进入 cd /usr/local/rocketmq/bin
2.nohup sh mqnamesrv &
后台启动nameServer 然后通过jps命令查看当前是否正常启动。
ps:第一次操作的时候,总是会在这里出错,启动的时候 提示:
网上查了一大堆原因,也不知道是怎么回事,可以换 sh mqnamesrv
这种方式启动,如果有报错 则会打印报错日志,如果启动的时候如图所示:
表示正常启动成功,当然这是前端启动方式,ctrl+c 就自然退出了,需要切换成后台启动形式:
所以启动这里,你可以先后台启动,然后通过 jps
查看 是否启动成功,如果没有启动成功则前台方式启动,看看打印的错误日志。例如:
成功启动以后 则能看到:
如果启动的时候因为内存分配原因 导致无法启动成功,则需要修改配置文件:
1 | vi /usr/local/rocketmq/bin/runbroker.sh |
2.启动brokerServer
1.cd /usr/local/rocketmq/bin
2.nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
(如果是另一台机器,则启动时候需要用到是 broker -b.properties文件)如图:
两台机器都完成了上面的步骤,可以搭建一个rocketmq的后端管理系统
1.下载 tomcat(可以将tomcat放在两台服务器中的任何一台都可以了 tomcat 不需要集群)
2.下载rocketmq的后端管理平台所需要的war包
3.将war包放到tomcat/webapps
目录(启动或者重启tomcat的时候自动解压war包了)
4.修改位于:/usr/local/apache-tomcat-7.0.65/webapps/rocketmq-web-console/WEB-INF/classes
下的config.properties
文件将集群的ip地址配置进去。
5.启动tomcat 输入请求地址栏:
http://192.168.31.197:8080/rocketmq-web-console/cluster/list.do
如果有小伙伴,想要一起交流学习的,欢迎添加博主微信。