ubuntu下从零开始安装消息中间件RocketMQ教程
1.因为RocketMQ是基于java语言编写的,因此运行RocketMQ需要安装java环境,要求jdk1.8以上
ubuntu系统java环境安装过程:
(1)下载JDK
wget https://github.com/frekele/oracle-java/releases/download/8u212-b10/jdk-8u212-linux-x64.tar.gz
(2)创建单独的目录
sudo mkdir /usr/local/java
(3)将下载的文件复制到我们创建的文件夹下
sudo mv jdk-8u212-linux-x64.tar.gz /usr/local/java/
(4)进入usr/local/java目录下
cd /usr/local/java/
(5)解压jdk的压缩包
tar -zxvf jdk-8u212-linux-x64.tar.gz
(6)配置所有用户环境变量
sudo vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_212
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile
(7)验证
java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
出现上述,表示java环境已经安装完成。
2.安装maven
1) 进入网址找到自己想要下载的版本:http://www-eu.apache.org/dist/maven/maven-3/
2) 这里我选择了下载3.5.4版本wget http://www-eu.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
3) 解压
tar -zxvf apache-maven-3.5.4-bin.tar.gz
4) 移动Maven到/usr/local中
mv apache-maven-3.5.4 /usr/local/
5) 设置环境变量
vim /etc/profile
export M2_HOME=/usr/local/apache-maven-3.5.4
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xms256m -Xmx512m"
export PATH=$M2:$PATH
source /etc/profile
6)验证maven
mvn --version
3.安装启动RocketMQ
1)下载RocketMQ源码 git clone https://github.com/apache/rocketmq.git
2)cd rocketmq/
3) mvn -Prelease-all -DskipTests clean install -U
4)等待十几分钟编译完成,编译完成之后,切换下面目录,里面有MQ的启动文件
cd distribution/target/rocketmq-4.6.0/rocketmq-4.6.0/bin
5)在启动服务前最好先修改jvm的内存配置,因为默认的配置分配内存太大,个人电脑容易出现内存空间不够分配的错误,导致服务起不来。修改runbroker.sh和runserver.sh文件中关于内存的配置,可参照我的修改:
将 :JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx8g -Xmn8g"
改为:JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn256m"
6)接下来可以启动mq的相关服务了:
1.启动nameserver:
> nohup sh mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
2.启动broker:
> nohup sh mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log
3.终端输入jps,出现如下,表示已经启动成功。
关闭相关服务:
> sh mqshutdown broker
> sh mqshutdown namesrv