安装git:
# 安装git
$ yum install git
# 验证git安装成功
$ git --version
安装Java:
$ yum install java
安装Maven:
$ yum install maven
安装RocketMQ:
# 选择git代码下载目录,拉取源代码(可以拉取当前最新版本的分支:release-4.1.0-incubating)
$ git clone https://github.com/apache/incubator-rocketmq.git /opt/RocketMQ
# 切换到文件目录
$ cd /opt/RocketMQ
# 使用maven编译,下载jar包等待编译成功
$ mvn -Prelease-all -Dmaven.test.skip=true clean install -U
#-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
#-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。
# 切换到编译完成的目录的bin目录准备启动服务器
$ cd distribution/target/apache-rocketmq/bin
启动NameServer:
#根据虚拟机实际内存大小修改内存配置,配置文件runserver.sh
#JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
$ nohup sh mqnamesrv &
//[1]+ 退出 1 nohup sh mqnamesrv
#出现以上信息说明启动出错,查看nohup.out确认错误原因
# 执行 jps 查看进程
$ jps
# 查看日志确保服务已正常启动
$ tail -f ~/logs/rocketmqlogs/namesrv.log
启动Broker
#根据虚拟机实际内存大小修改内存配置,配置文件runbroker.sh
#JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
$ nohup sh mqbroker -n localhost:9876 &
# 允许producer创建topic的启动方式,默认是不允许,不允许则需要手动创建topic
$ nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &
# 执行 jps 查看进程
$ jps
# 查看日志确保服务已正常启动
$ tail -f ~/logs/rocketmqlogs/broker.log
开启端口:
#9876:nameServer端口
#10911:broker端口
firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --zone=public --add-port=10911/tcp --permanent
firewall-cmd --reload
启动监控
# 调用命令监控,在target的bin目录下
$ sh mqadmin clusterList -n localhost:9876
关闭Broker
# 停止broker服务
$ sh mqshutdown broker
关闭NameServer
# 停止nameserver服务
$ sh mqshutdown namesrv