linux 安装 rocketMQ 备忘

1,034 阅读1分钟

文档

单机:rocketmq-1.gitbook.io/rocketmq-co…

集群:rocketmq-1.gitbook.io/rocketmq-co…

一. 单机安装

  1. 下载 wget https://github.com/apache/rocketmq/archive/rocketmq-all-4.8.0.tar.gz

  2. 解压 tar -zxvf rocketmq-all-4.8.0.tar.gz

  3. 编译

cd rocketmq-all-4.8.0
mvn -Prelease-all -DskipTests clean install -U

出现如下结果即构建成功

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

  1. 配置环境变量
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

  1. 启动rocketMq
# 启动mq
nohup sh bin/mqnamesrv &

# 启动broker
nohup sh bin/mqbroker -n localhost:9876 &

  1. 停止
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
  1. 内存优化 若出现
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

修改相应的内存设置小一点


  1. 远程访问
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

二. 可视化管理

  1. 文档 rocketmq-1.gitbook.io/rocketmq-co…

  2. 安装

# 不使用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

三. 集群