Centos7安装源码RocketMQ4.4
一、安装maven
RocketMQ依赖maven打包,所以先要在虚拟机中安装maven,我使用的是v3.3.9。
1:进入指定目录下载maven 包
cd /usr/local
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
2:解压并重新命名文件夹
tar -zxvf apache-maven-3.3.9-bin.tar.gz
mv apache-maven-3.3.9 /usr/local/maven3
3:修改仓库地址为阿里云,不修改下载依赖的时候总报超时
cd /usr/local/maven3/conf
vim settings.xml
在中间偏下的位置添加标签(默认是注释的)
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4:配置环境变量
添加maven_home
vim /etc/profile
1 export M2_HOME=/usr/local/maven3
2 export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
5:保存退出(ESC+: 输入wq)刷新配置文件生效
source /etc/profile
6:检查安装结果
mvn -v
二、安装RocketMQ
1:下载源码的zip压缩包,官网上提供了5种镜像下载链接,一个推荐镜像链接,两个PGP签名以及这两个的备份,下载之后解压到/usr/local/下,然后删除zip文件
cd /usr/local
wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip
unzip -d /usr/local/ rocketmq-all-4.4.0-source-release.zip
rm -rf rocketmq-all-4.4.0-source-release.zip
2:使用maven打包,这个要打好久
cd /usr/local/rocketmq-all-4.4.0/
mvn -Prelease-all -DskipTests clean install -U
3:将nameserver地址添加到环境变量中
vim /etc/profile
export NAMESRV_ADDR=127.0.0.1:9876
4.刷新配置文件
source /etc/profile
5:后台运行nameserver,将日志重定向到指定文件
在 /usr/local/新建一个文件夹rocketdata
mkdir rocketdata
启动nameserver
nohup sh mqnamesrv > /usr/local/rocketdata/namesrv.log 2>&1&
查看启动日志
tail -f /usr/local/rocketdata/namesrv.log
运行broker
nohup sh mqbroker -n 122.51.226.121:9876 autoCreateTopicEnable=true > /usr/local/rocketdata/broker.log 2>&1&
查看启动日志
tail -f /usr/local/rocketdata/broker.log
6:新开窗口,一个生产一个消费,测试消费。警告忽略
#窗口1
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
#窗口2
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
三、控制台安装
1:因为控制台源码在github上,我这里在虚拟中安装git,直接down源码,因为console是springboot项目,也可以下载到本地修改配置文件打包,将打完的jar包传到虚拟机中。
3.1 #使用yum安装git
yum install git
3.2:进入/usr/local下
git clone https://github.com/apache/rocketmq-externals
3.3:rocketmq-externals里面有所有Apache RocketMq外部项目,有的还在孵化中,我主要是使用rocketmq-console,进入到console项目中,修改resources文件夹下面的配置文件
cd /usr/local/rocketmq-externals/rocketmq-console/src/main/resources
3.4 #查看配置文件名称
ll
3.5打开配置文件
vim application.properties
修改以下配置:
1 #服务端口号
2 server.port=8090
3 #nameserver服务地址
4 rocketmq.config.namesrvAddr=127.0.0.1:9876
5 #rocketmq数据路径,由于联系使用,都放在usr/local下了
6 rocketmq.config.dataPath=/usr/local/rocketdata/console
3.6:正常的maven项目打包
进入/usr/local/rocketmq-externals/rocketmq-console
/usr/local/rocketmq-externals/rocketmq-console
打包并且跳过测试
mvn clean package -Dmaven.test.skip=true
居然报错了
修改pom.xml,更改spring-boot-starter-parent的版本和rocketmq版本,并且删掉如下plugins
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<excludes>src/main/resources</excludes>
<configLocation>style/rmq_checkstyle.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
解决方法: https://blog.csdn.net/springyh/article/details/88879147
5:后台启动,重定向日志文件
`nohup java -jar rocketmq-console-ng-1.0.1.jar > /usr/local/rocketdata/console/console.out 2>&1&`