Apache RocketMQ™是一个开源的分布式消息传递和流数据平台。下面记录在CentOS 7 安装 RocketMQ 4.4 及相关的注意事项。
一、安装maven
RocketMQ依赖maven打包,所以先要在虚拟机中安装maven,我使用的是v3.3.9。
1:进入指定目录下载maven 包
1 cd /usr/local
2 wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
2:解压并重新命名文件夹
1 tar -zxvf apache-maven-3.3.9-bin.tar.gz
2
3 mv apache-maven-3.3.9 /usr/local/maven3
3:修改仓库地址为阿里云,不修改下载依赖的时候总报超时
1 cd /usr/local/maven3/conf
2
3 vim settings.xml
在中间偏下的位置添加<mirror>标签(默认是注释的)
1 <mirror>
2 <id>alimaven</id>
3 <name>aliyun maven</name>
4 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
5 <mirrorOf>central</mirrorOf>
6 </mirror>
4:配置环境变量
1 vim /etc/profile
添加maven_home
1 export M2_HOME=/usr/local/maven3
2 export PATH=$PATH:$Java_HOME/bin:$M2_HOME/bin
5:保存退出(shift +zz)刷新配置文件生效
1 source /etc/profile
6:检查安装结果
mvn -v
二、安装RocketMQ
1:下载源码的zip压缩包,官网上提供了5种镜像下载链接,一个推荐镜像链接,两个PGP签名以及这两个的备份,下载之后解压到/usr/local/下,然后删除zip文件
1 cd /usr/local
2
3 wget http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip
4
5 unzip -d /usr/local/ rocketmq-all-4.4.0-source-release.zip
6
7 rm -rf rocketmq-all-4.4.0-source-release.zip
2:使用maven打包,这个要打好久
1 cd /usr/local/rocketmq-all-4.4.0/
2
3 mvn -Prelease-all -DskipTests clean install -U
3:RocketMQserver默认初始内存、最大内存都是4g,新生代内存是2g,broker是8g、8g、4g,我的笔记本四个虚拟机集群每个都是1g,所以需要改小点,触发fullGC的阈值可以不变。根据个人情况修改JAVA_OPT=”${JAVA_OPT} -server一行参数
1 vim distribution/target/apache-rocketmq/bin/runserver.sh
2 vim distribution/target/apache-rocketmq/bin/runbroker.sh
4:将nameserver地址添加到环境变量中
1 vim /etc/profile
2
3 export NAMESRV_ADDR=127.0.0.1:9876
4
5 # 刷新配置文件
6 source /etc/profile
5:后台运行nameserver,将日志重定向到指定文件
1 nohup sh mqnamesrv > /usr/local/rocketdata/namesrv.log 2>&1&
2
3 #查看启动日志
4 tail -f /usr/local/rocketdata/namesrv.log
运行broker
1 nohup sh mqbroker > /usr/local/rocketdata/broker.log 2>&1&
2
3 #查看启动日志
4 tail -f /usr/local/rocketdata/broker.log
6:新开窗口,一个生产一个消费,测试消费。警告忽略
1 #窗口1
2 sh tools.sh org.apache.rocketmq.example.quickstart.Producer
3 #窗口2
4 sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
三、控制台安装
1:因为控制台源码在github上,我这里在虚拟中安装git,直接down源码,因为console是springboot项目,也可以下载到本地修改配置文件打包,将打完的jar包传到虚拟机中。
1 #使用yum安装git
2 yum install git
2:进入/usr/local下
git clone https://github.com/apache/rocketmq-externals
3:rocketmq-externals里面有所有Apache RocketMq外部项目,有的还在孵化中,我主要是使用rocketmq-console,进入到console项目中,修改resources文件夹下面的配置文件
1 cd /usr/local/rocketmq-externals/rocketmq-console/src/main/resources
2
3 #查看配置文件名称
4 ll
5
6 #打开配置文件
7 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
4:正常的maven项目打包
#打包并且跳过测试
mvn clean install -Dmaven.test.skip=true
5:后台启动,重定向日志文件
1 nohup java -jar rocketmq-console-ng-1.0.1.jar > /usr/local/rocketdata/console/console.out 2>&1&
6:启动成功后在本机访问ip+端口进入控制台