RocketMQ的安装和基本操作使用

RocketMQ的安装和基本操作使用

假设安装了以下软件:

   1、64bit OS, Linux/Unix/Mac is recommended
   2、64bit JDK 1.8+(CentOS7自带jdk可以不用安装)
   百度网盘链接:https://pan.baidu.com/s/12Zgkjr_Wih6Y3RS_6jLRzQ
   提取码:jxrx
   3、Maven 3.2.x或更高的版本
   4、Git (可不使用)

安装Maven

   安装wget命令
   yum -y install wget
   下载maven安装包
   wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
   解压maven安装包
   tar -zxvf apache-maven-3.5.4-bin.tar.gz
   配置maven环境变量
   vim /etc/profile(编辑文件)
   在配置文件配置修改或加入下面两句:
   export MAVEN_HOME=/opt/apache-maven-3.5.4(这个是你的maven安装目录路径)
   export PATH=$MAVEN_HOME/bin:$PATH
   配置文件生效
   source /etc/profile
   查看maven版本
   mvn -v

RocketMQ下载和安装

1、Apache上开源官方地址:https://rocketmq.apache.org/
Apache 官方下载网址:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.3.0/rocketmq-all-4.3.0- source-release.zip
这里选择直接下载整个 RocketMQ 项目的源码(带source的,而不是二进制文件[带Binary的])。

2、GitHub 官方下载网址:https://github.com/apache/rocketmq
因为项目是开源的,所以GitHub也有托管整个项目的源码,无论哪种方式下载下来都是一样的。
上面 “环境说明” 中 Git 工具功能之一就是下载 GitHub 上的项目源码。直接下载即可。

3、百度网盘下载(会比较快):
链接:https://pan.baidu.com/s/1m4gb0pMAkytnShVGSoJExg
提取码:pgyf
4、官方推荐解压命令:unzip rocketmq-all-4.3.0-source-release.zip
查看是否安装了unzip: yum list unzip
没有则执行该命令:yum install unzip.x86_64
查看文件的大小:du -sh rocketmq-all-4.3.0(这个是解压后的文件)

RocketMQ 操作

1、启动 NameServer
 # 启动命令,并且常驻内存
 $ nohup sh bin/mqnamesrv & 
 # 查看启动日志能看到:The Name Server boot success字样则成功
 $ tail -f ~/logs/rocketmqlogs/namesrv.log
 
2、如果启动报:Please set the JAVA_HOME variable in your environment, We need java(x64)!
 解决方案:在runserver.sh和runbroker.sh文件注释掉下面三行或者去掉就行了
 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
 [ ! -e "$JAVA_HOME/bin/java" ] && error_exit "Please set the JAVA_HOME variable
 in your environment, We need java(x64)!"
 加入下面一行就行了:
 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java/jdk1.8.0_131(这是填写你的jdk路径)

 nohup sh mqnamesrv & :属于后台启动
 sh mqnamesrv :属于终端启动,直接输出日志信息,按 ctrl+c 可直接关闭退出

启动 Broker

  # 启动命令,并且常驻内存:注意ip地址要配置成为服务的ip地址,保证地址以及端口能够访问
  > nohup sh bin/mqbroker -n localhost:9876 &
  # 查看启动日志
  > tail -f ~/logs/rocketmqlogs/broker.log 
  
  遇到问题:
  在这里我们会发现,这个broker所监听的IP地址似乎不是我localhost,这个会导致后续我们会连接不上broker,我们需要修改  		
  配置文件broker.conf 增加一行配置 brokerIP1=192.168.1.101(这个是你的虚拟机IP)
  然后进入bin目录重新启动 nohup sh  mqbroker -n localhost:9876 -c  ../conf/broker.conf &,再查看日志。

  nohup sh bin/mqbroker -n localhost:9876 & :属于后台启动
  sh bin/mqbroker -n localhost:9876 :属于终端启动,直接输出日志信息,按 ctrl+c 可直接关闭退出

启动时遇到问题

如果 tail -f ~/logs/rocketmqlogs/broker.log 提示找不到文件或Prompt file not found,则打开当前
目录(apache-rocketmq)下的 nohup.out 日志文件查看,发现启动 Broker 失败:无法分配内存或
cannot allocate memory

   内存分配失败解决办法:
   这是因为apache-rocketmq/bin 目录下启动 nameserv 与 broker 的 runbroker.sh 和 runserver.sh 文件中默认分配的
   内存太大,而系统实际内存却太小导致启动失败
   通常像虚拟机上安装的 CentOS 服务器内存可能是没有高的,只能调小。
   实际中应该根据服务器内存情况,配置一个合适的值
   找到下面的 runbroker.sh 和 runserver.sh 文件
   1、runserver.sh 文件中 修改 JVM 配置下的第一行,将原来 4g 调小一点
   #JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
   修改后:JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m XX:MaxMetaspaceSize=320m"

   2、runbroker.sh 文件中 修改 JVM 配置下的第一行,将原来 8g 调小一点
   #JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
   修改后:JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m"

   3、重新启动 broker 时就成功了,broker 注册到了 nameserver 上了
   eg:nohup sh bin/mqbroker -n localhost:9876 &
  
   4、查看broker启动日志:
   eg:tail -f ~/logs/rocketmqlogs/broker.log 

关闭服务器

同样都是在 RocketMQ 安装目录下的apache-rocketmq 目录下执行命令
与启动顺序相反进行关闭,先关闭 broker、后关闭 namesrv
   1、关闭broker
   sh bin/mqshutdown broker
   2、关闭namesrv
   sh bin/mqshutdown namesrv

常用命令

除了上面几个命令之外,还有如下一些较常用的命令,ip请以实际为准:

   查看集群情况: ./mqadmin clusterList -n 127.0.0.1:9876
   查看 broker 状态: ./mqadmin brokerStatus -n 127.0.0.1:9876 -b 172.20.1.138:10911
   查看 topic 列表: ./mqadmin topicList -n 127.0.0.1:9876
   查看 topic 状态: ./mqadmin topicStatus -n 127.0.0.1:9876 -t MyTopic (换成想查询的 topic)
   查看 topic 路由: ./mqadmin topicRoute -n 127.0.0.1:9876 -t MyTopic

其他

1、查看安装的CentOS的版本:lsb_release -a
执行该命令报:bash: lsb_release: command not found…
则先进行安装lsb_release命令:执行yum install -y redhat-lsb
2、查看安装的jdk版本:java -version
3、查看安装的Maven版本:mvn -v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构潜行之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值