RocketMQ Linux下编译部署

为什么80%的码农都做不了架构师?>>> hot3.png

1. 软件准备

官方文档:https://github.com/alibaba/RocketMQ/wiki/quick-start
根据文档说明,需要以下软件来完成这个快速开始示例:
⑴ 64bit OS, best to have Linux/Unix/Mac;
⑵ 64bit JDK 1.6+;
⑶ Maven 3.x
⑷ Git
⑸ Screen
 

1.1 关于Linux和Windows

作为纯Java程序,RocketMQ在Windows下也是可以运行的,官方还准备了exe执行文件方便Windows环境下进行开发部署。
Windows下的编译部署大同小异,有兴趣可以参考下面这个网址:
http://blog.csdn.net/ruishenh/article/details/22390809
 

1.2 关于JDK

如果Linux已经自带JDK,可以使用命令查看JDK版本,如果版本不符合64位1.6+,需要先卸载旧版本然后安装新版本。
我安装的是jdk-8u111-linux-x64.rpm,过程略过,有问题可以参考下面的网址。
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.htm
安装教程:http://www.cnblogs.com/benio/archive/2010/09/14/1825909.html
按理32位JDK也是可以运行的,只是需要调整内存配置,但可能不适合生产环境。未经测试,不妄言。
 

1.3 安装Maven

1.3.1 下载

  1. cd /usr/javawork  
  2. wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz  


1.3.2 解压

  1. tar -zxvf apache-maven-3.3.9-bin.tar.gz  


1.3.3 设置环境变量

  1. vi /etc/profile  

文件末尾添加两行配置:

  1. export M2_HOME=/usr/javawork/apache-maven-3.3.9  
  2. export PATH=$PATH:$M2_HOME/bin  

退出vi执行命令使其生效:

  1. source /etc/profile  

1.3.4 添加alibaba的Maven仓库镜像(下载速度飞快)

  1. vi /usr/javawork/apache-maven-3.3.9/conf/settings.xml  

项下添加镜像信息:

  
    alimaven  
    aliyun maven  
    central  
    http://maven.aliyun.com/nexus/content/groups/public/  
 

1.4 安装Git

  1. yum install git  

如果已下载RocketMQ源码包,Git可以无需安装。shell安装脚本中有git pull命令,如果未安装git,会提示command not found,但不影响后面的编译。
如果嫌烦,vi install.sh打开文件删掉 git pull这条命令即可。
 

1.5 安装screen

  1. yum install screen  

screen 非必需,但安装后切换会话非常方便。官方文档中使用了这条命令,所以还是装上较好。
命令介绍:http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html
 

2. 安装RocketMQ

2.1 下载编译

  1. git clone https://github.com/alibaba/RocketMQ.git  
  2. cd RocketMQ  
  3. bash install.sh  

如果编译成功,最终得到的目录如下图。devenv是软链接,源文件在target目录。

 

2.2 环境变量

设置环境变量

  1. cd devenv  
  2. echo "ROCKETMQ_HOME=`pwd`" >> ~/.bash_profile  

使环境变量生效:

  1. source ~/.bash_profile  

3. 启动RocketMQ

3.1 启动Name Server

  1. screen bash mqnamesrv  

如果未安装screen,可以使用下面这条命令:
nohup sh mqnamesrv &(加 & 可以后台运行,否则Ctrl+c命令退出当前会话,服务会停止)


启动成功的信息:
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=320m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON
备注:出现三条警告信息是因为JDK1.8已经不支持设置方法区大小和指定CMS垃圾收集算法进行FullGC,后面会讲如何去掉这些信息。
 

3.2 启动Broker

先按ctrl+a,然后再按d挂起当前会话,然后再执行以下命令:

  1. screen bash mqbroker -n localhost:9876  

启动成功后除了警告信息外,会出现以下信息:


 

3.3 去除警告信息和调整内存占用

3.3.1 修改xml文件

  1. cd bin  
  2. vi mqadmin.xml  
  3. vi mqbroker.xml  
  4. vi mqnamesrv.xml  
  5. vi mqfiltersrv.xml   

依次打开这些xml文件,并删除下图红色框中的标记的配置信息。



3.3.2 修改启动文件

  1. vi runserver.sh  
  2. vi runbroker.sh  

依次打开这两个文件,去除下图红色标记的配置信息。



如图, 黄色部分是内存设置, 因为当前是虚拟机搭建的开发环境, 所以内存调整成如下:
runserver.sh: -Xms512m -Xmx512m -Xmn256m
runbroker.sh: -Xms2g -Xmx2g -Xmn512m 
 

3.4 停止服务

关闭Name Server

  1. sh mqshutdown namesrv  

关闭Broker

  1. sh mqshutdown broker  

3.5 日志目录

  1. cd ~/logs/rocketmqlogs/  

3.6 收发消息测试

3.6.1 设置地址

  1. export NAMESRV_ADDR=localhost:9876  

3.6.2 测试命令

生产者:

  1. bash tools.sh com.alibaba.rocketmq.example.quickstart.Producer  

消费者:

  1. bash tools.sh com.alibaba.rocketmq.example.quickstart.Consumer  

转载于:https://my.oschina.net/jj2050/blog/916501

你可能感兴趣的:(操作系统)