RocketMQ 安装 单Master版本
CentOS 版本
安装前提是必须有java环境
1下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip
2 解压
unzip rocketmq-all-4.4.0-source-release.zip
--如果没有 unzip 下载: yum install unzip
3 修改配置
由于RocketMQ对机子的性能要求过高, 低端机必须修改内存配置才能跑起来
cd bin
vim runserver.sh
# 找到如下配置
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
# 修改成你可以接受的范围
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx521m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
vim runbroker.sh
# 找到如下配置
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# 修改成你可以接受的范围
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
4配置环境变量
vim /etc/profile
# 将如下配置加到最后一行
export NAMESRV_ADDR=127.0.0.1:9876
# 使配置生效
source /etc/profile
5启动 nameserver
进入 rocketMQ/bin 目录
nohup sh mqnamesrv &
查看 nohup.out文件是否出现 success ,如果有则代表成功
6启动Broker
1 修改 broker.conf 配置文件
vim /conf/broker.conf
#在最后面追加
brokerIp1=服务器ip
2 启动
-n 指定 namesrv 的ip和端口
-c 指定 配置文件地址
nohup sh mqbroker -n localhost:9876 -c ../conf/broker.conf &
查看 nohup.out文件是否出现 success ,如果有则代表成功
可视化服务配置
1 在git上下载 可视化工具:https://github.com/apache/rocketmq-externals/archive/master.zip
2 修改配置文件
cd /usr/local/rocketmq/rocketmq-externals/rocketmq-console/src/main/resources
vim application.properties
# 修改如下配置
server.address=0.0.0.0
server.port=9870 #dashboard启动的端口
#配置namesrvAddr的地址
rocketmq.config.namesrvAddr=47.115.80.90:9876
#必须配置为false
rocketmq.config.isVIPChannel=false
#mq数据路径,可以自己修改
rocketmq.config.dataPath=/tmp/rocketmq-console/data
使用maven 打包
mvn clean package -Dmaven.test.skip=true
启动后台运行 日志会输出到 nohup.out下
> 是将日志输出至指定文件的
nohup java -jar shareniu.jar >console.log &
测试
# 生产者生产消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
# 消费者消费消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
关闭服务
sh mqshutdown broker
sh mqshutdown namesrv
Windows 版本
1 下载
2解压后修改配置
1 修改 runserver.cmd 主要是内存配置
set “JAVA_OPT=%JAVA_OPT% -server -Xms1g -Xmx1g -Xmn512g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”
@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements. See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & EXIT /B 1
set "JAVA=%JAVA_HOME%\bin\java.exe"
setlocal
set BASE_DIR=%~dp0
set BASE_DIR=%BASE_DIR:~0,-1%
for %%d in (%BASE_DIR%) do set BASE_DIR=%%~dpd
set CLASSPATH=.;%BASE_DIR%conf;%CLASSPATH%
set "JAVA_OPT=%JAVA_OPT% -server -Xms1g -Xmx1g -Xmn512g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
set "JAVA_OPT=%JAVA_OPT% -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC"
set "JAVA_OPT=%JAVA_OPT% -verbose:gc -Xloggc:"%USERPROFILE%\rmq_srv_gc.log" -XX:+PrintGCDetails"
set "JAVA_OPT=%JAVA_OPT% -XX:-OmitStackTraceInFastThrow"
set "JAVA_OPT=%JAVA_OPT% -XX:-UseLargePages"
set "JAVA_OPT=%JAVA_OPT% -Djava.ext.dirs=%BASE_DIR%lib"
set "JAVA_OPT=%JAVA_OPT% -cp "%CLASSPATH%""
"%JAVA%" %JAVA_OPT% %*
2 修改 runbroker.com
主要是内存配置
set “JAVA_OPT=%JAVA_OPT% -server -Xms1g -Xmx1g -Xmn512g”
@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements. See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! & EXIT /B 1
set "JAVA=%JAVA_HOME%\bin\java.exe"
setlocal
set BASE_DIR=%~dp0
set BASE_DIR=%BASE_DIR:~0,-1%
for %%d in (%BASE_DIR%) do set BASE_DIR=%%~dpd
set CLASSPATH=.;%BASE_DIR%conf;%CLASSPATH%
rem ===========================================================================================
rem JVM Configuration
rem ===========================================================================================
set "JAVA_OPT=%JAVA_OPT% -server -Xms1g -Xmx1g -Xmn512g"
set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=8"
set "JAVA_OPT=%JAVA_OPT% -verbose:gc -Xloggc:%USERPROFILE%\mq_gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintAdaptiveSizePolicy"
set "JAVA_OPT=%JAVA_OPT% -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=30m"
set "JAVA_OPT=%JAVA_OPT% -XX:-OmitStackTraceInFastThrow"
set "JAVA_OPT=%JAVA_OPT% -XX:+AlwaysPreTouch"
set "JAVA_OPT=%JAVA_OPT% -XX:MaxDirectMemorySize=15g"
set "JAVA_OPT=%JAVA_OPT% -XX:-UseLargePages -XX:-UseBiasedLocking"
set "JAVA_OPT=%JAVA_OPT% -Djava.ext.dirs=%BASE_DIR%lib"
set "JAVA_OPT=%JAVA_OPT% -cp %CLASSPATH%"
"%JAVA%" %JAVA_OPT% %*
3 配置环境变量
ROCKETMQ_HOME 你rocketMQ的解压位置
4 启动 nameServer 和broker
cmd 进入bin目录
启动 nameserver
start mqnamesrv.cmd
启动broker 要先修改conf/broker.conf
#在 broker.conf末尾追加
brokerIP1=本机ip
启动:
start mqbroker.cmd -n 127.0.0.1:9876 -c borker.conf的路径
5 安装可视化页面
参考 centos