一、前言
在前一篇博客中小编向大家简单介绍了一下《【MQ】为什么选择RocketMQ?》,关于RocketMQ是怎么使用,如何安装的小编将在这篇博客向大家介绍。
二、环境准备
- Centos7
- RocketMQ 3.2.6
- tomcat 7
- RocketMQ-console
- Linux JDK 1.8.0_131
三、安装步骤
1.配置环境
如果是克隆机器的话,需要修改mac和ip:
查看网卡mac:
每次新克隆一台机器,就会新产生一个mac,由于是克隆的,在机器内部的配置文件还没有修改,所以要进行修改mac
修改操作如下:
不一样的就修改一下,不存在的就添加一个。
vi /etc/sysconfig/network-scripts/ifcfg-eno+**
HWADDE=00:0C:29:28:5A:4F #虚拟机网卡
BOOTPROTO=static #改为static
ONBOOT=yes #激活网卡
IPADDR=192.168.137.170 #虚拟机ip
GATEWAY=192.168.137.2 #网关
DNS1=114.114.114.114 #首选DNS
service network restart
2.安装需要的命令等:上传文件、wget、zip、tar解压、vim
如果安装过了,就可以调过。
操作 | 命令 |
windows上传文件 | yum install -y lrzsz |
wget网络下载 | yum install wget |
zip包解压 | yum install -y unzip zip |
tar包解压 | yum install -y zlib zlib-devel |
安装vim | yum install vim-enhanced |
3.关闭firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
4.安装jdk
卸载自带JDK
如果系统自带openjdk,可以卸载掉:
1、查询系统内置的jdk,使用命令如下:
rpm -qa | grep java
此时会列出系统中存在的jdk,如果存在就进行卸载,不存在就直接进行安装。
2、进行卸载,使用命令如下:
rpm -e --nodeps jdk相关名称
卸载之后可进行jdk安装,相关查询与卸载操作截图如下:
安装JDK
1、下载jdk并上传到/usr/java目录
jdk7下载地址为:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 选择对应的linux版本,下载rpm文件。这里选择的是jdk-7u79-linux-x64.rpm。并上传到Linux的/usr/java目录下(java目录不存在则进行创建)。
2、解压安装
运行如下命令进行解压
rpm -ivh 文件名称
3、配置profile文件
运行如下命令:
vim /etc/profile
将如下内容添加到profile文件末尾并保持
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存之后,运行如下命令使配置生效
source /etc/profile
检查jdk是否安装成功,运行如下命令
java -version
5.安装rocketmq
1.下载:alibaba-rocketmq-3.2.6.tar.gz
wget https://github.com/alibaba/RocketMQ/releases/download/v3.2.6/alibaba-rocketmq-3.2.6.tar.gz
下载的时候可能会遇到404的错误:是因为访问的是github,网络不太稳定,建议大家可以先下载到本地,下载资源可以在csdn的共享文件中进行下载,这样速度也比较快。下载好了后,把文件拷贝到usr/src/rocketmq文件夹下,没有rocketmq文件夹,就建立一个。
2.解压
tar -xf alibaba-rocketmq-3.2.6.tar.gz
mv alibaba-rocketmq-3.2.6 alibaba-rocketmq
3.broker配置
获取broker默认配置
cd alibaba-rocketmq/bin
sh mqbroker -m
启动时如何加载配置文件呢
1.生成默认的配置模板
sh mqbroker -m > broker.p
2.修改配置
注意以下两个参数
storePathRootDir=/home/rocketmq/store
storePathCommitLog=/home/rocketmq/store/commitlog
默认commitlog是存放在用户主目录的下的store/commitlog目录下
namesrvAddr=192.168.137.4:9876
名称服务器地址,可以在命令行通过-n传入,多个名称服务器用;隔开
brokerIP1=192.168.137.4
根据实际情况填写,默认启动时自动识别,一般用于多网卡识别错误,手工配置。
brokerName=AresMaster
broker名称,默认主机名,这个可以按照自己想需求起
listenPort=10911
默认监听端口
brokerId=0
0表示master,>0表示slave
autoCreateTopicEnable=true
是否自动创建topic,线上环境建议关闭
deleteWhen=04
删除文件的时间点,默认凌晨4点
fileReservdTime=72
文件保留时间,默认48小时
3.加载配置
nohup sh mqbroker -c broker.p
注意:
1.nohup sh mqbroker -c broker.p输入后:会显示:说明broker启动成功
2.这里我们配置了namesrvAddr是namesrv的地址,这个地址是在控制台(rocketmq-console)中的config.properties文件中中配置要一样。这样控制台才可以连接到namesev。
4.nameserver配置
sh mqnamesrv -h
sh mqnamesrv -p
sh mqnamesrv -m > namesrv.p
5.启动
cd alibaba-rocketmq/bin
chmod +x play.sh
./play.sh
6.启动完成后
jps
会有NamesrvStartup和BrokerStartup两个java进程
注意:
小编尝试通过上面的步骤运行后,NamesrvStartup启动没有问题,但是BrokerStartup没有启动。需要通过nohup sh mqbroker -c broker.p 命令启动broker,效果如下,表示启动成功
7.如果没有问题,停止服务
cd alibaba-rocketmq/bin
./mqshutdown broker
./mqshutdown namesrv
6.控制台的使用rocketmq-console
操作环境:
- rocketmq-console .war
- Tomcat7
1.放置操作台到tomcat下
直接把rocketmq-console.war放到tomcat下,运行tomcat,会自动解压rocketmq-console。
修改rocketmq-console\WEB-INF\classes路径下的config.properties文件的rocketmq.namesrv.addr=192.168.137.4:9876;
这个属性是我们在broker中配置的namesrvAddr,要求要相同,如果有多个,就可以写多个,如rocketmq.namesrv.addr=192.168.137.4:9876;192.168.137.3:9876
2.运行tomcat
3.运行控制台:
四、小结
搭建的整个过程是按照其他同僚的博客尝试的,感谢各位的帮助,另外还有几个群友。从开始的接触到一点点的配置,从Linux上手,聚哥一点一点的教,我进步不少,感谢一下聚哥。
搭建完了,看到这个控制台界面基本就是完成了。下一篇博客小编将向大家介绍搭建RocketMQ集群。