文档
一. 单机安装
-
下载
wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.8.0.tar.gz -
解压
tar -zxvf rocketmq-all-4.8.0.tar.gz -
编译
cd rocketmq-all-4.8.0
mvn -Prelease-all -DskipTests clean install -U
出现如下结果即构建成功
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
- 配置环境变量
cd distribution/target/rocketmq-4.8.0/rocketmq-4.8.0
pwd
# 配置环境,对当前登陆用户生效,永久生效;要对所有用户配置,编辑/etc/profile
vim ~/.bash_profile
export rocketmq=xxxx/rocketmq/distribution/target/apache-rocketmq
export PATH=$PATH:$rocketmq/bin
保存后让环境生效
source ~/.bash_profile
- 启动rocketMq
# 启动mq
nohup sh bin/mqnamesrv &
# 启动broker
nohup sh bin/mqbroker -n localhost:9876 &
- 停止
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
启动脚本
#!/bin/sh
dir=/mnt/soft/rocketmq/rocketmq/distribution/target/rocketmq-4.8.0/rocketmq-4.8.0/bin
start() {
cd $dir
echo "starting rocketmq namesrv.."
nohup sh mqnamesrv >> namesrv.log 2>&1 &
echo "namesrv started, and then starting mqbroker.."
sleep 3
nohup sh mqbroker -n localhost:9876 >> mqbroker.log 2>&1 &
echo "start mqbroker sucess"
}
stop() {
cd $dir
echo "stopping rocketmq namesrv.."
sh mqshutdown namesrv
echo "namesrv stoped, and the stopping mqbroker.."
sleep 3
sh mqshutdown broker
echo "mqbroker stoped"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage:$0 {start|stop|restart}"
exit 1
;;
esac
exit 0
- 内存优化 若出现
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: MaxNewSize (131072k) is equal to or greater than the entire heap (131072k). A new max generation size of 131008k will be used.
适当修改占用内存
vim runserver.sh
vim runbroker.sh
修改相应的内存设置小一点
- 远程访问
cd /mnt/soft/rocketmq/rocketmq/distribution/conf
vim broker.conf
# 修改配置文件,添加最后面两行
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr=公网ip:9876
brokerIPi=公网ip
二. 可视化管理
# 不使用docker
git clone https://github.com/apache/rocketmq-externals.git
# 其他扩展不需要,就单独把rocketmq-console留下,其他的删除
mv xxx/rocketmq-externals/rocketmq-console xxx/rocketmq/rocketmq-console
rm -r xxx/rocketmq-externals
cd xx/rocketmq-console
# 打包
mvn clean package -Dmaven.test.skip=true
修改配置(记得修改完重新编译)
# 主要修改端口和登录认证信息、以及连接到rockermq
cd src/main/resources/
vim application.properties
rocketmq.config.dataPath=xxxx/rocketmq/rocketmq_console_data
上面这个路径下存放user.properties 里边是用户信息,user.properties示例
# This file supports hot change, any change will be auto-reloaded without Console restarting.
# Format: a user per line, username=password[,N] #N is optional, 0 (Normal User); 1 (Admin)
# Define Admin
admin=admin,1
# Define Users
user1=user1
user2=user2
# 启动
java -jar target/rocketmq-console-ng-1.0.1.jar
启动脚本
#!/bin/sh
dir=/mnt/soft/rocketmq/rocketmq-console/target
start() {
cd $dir
echo "starting rocketmq console.."
nohup xxx/jdk1.8.0_211/bin/java -jar rocketmq-console-ng-2.0.0.jar >> rocketmq-console.log 2>&1 &
echo "start rocketmq console sucess"
}
stop() {
pid=`ps x | grep 'rocketmq-console-ng-2.0.0' | grep -v grep | awk '{print $1}'`
echo $pid
kill -9 $pid
sleep 1
echo "rocketmq-console stoped"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage:$0 {start|stop|restart}"
exit 1
;;
esac
exit 0
三. 集群