安装rocketMQ的前提是安装jdk和maven,没有安装的朋友可以看我的另外两篇安装过程
1、下载rocketMQ安装包(官方地址,可下载最新版本)
unzip rocketmq-all-4.7.1-source-release.zip -C /usr/local/rocketmq #目录是我自己建的
3、进入解压完的文件夹内,构建二进制文件
cd rocketmq-rocketmq-all-4.2.0/
mvn -Prelease-all -DskipTests clean install -U
4、进入到目录
cd distribution/target/apache-rocketmq/bin
5、启动NameServer
//使用nohup命令启动(命令的意思可以自己百度),指定一个NameServer启动日志的输出目录,这个目录地址可以自己指定,全路径就可以
nohup sh mqnamesrv >/usr/local/rocketmq/rocketmq-rocketmq-all-4.2.0/distribution/bin/logs/rocketmqlogs/mqnamesrv.log 2>&1 &
6、启动broker
nohup sh mqbroker >/usr/local/rocketmq/rocketmq-rocketmq-all-4.2.0/distribution/bin/logs/rocketmqlogs/mqbroker.log 2>&1 &
注:注意启动完看日志,可能会报出Cannot allocate memory内存不足的错,解决办法(修改target下的配置文件记得在每次maven构建的时候再修改一次(可能你安装完就不会再构建一次了),或者直接修改/distribution/bin目录下的文件):
vi runserver.sh
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
vi runbroker.sh/
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -XX:MaxDirectMemorySize=256m"
vi tools.sh/
#修改这里的配置内存
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m"
7、测试一下
#在发送/接收消息之前,我们需要告诉客户名称服务器的位置。RocketMQ 提供了多种方法来实现这一点。为了简单起见,我们使用环境变量NAMESRV_ADDR
export NAMESRV_ADDR=localhost:9876
#发送消息
sh tools.sh org.apache.rocketmq.example.quickstart.Producer
#接收消息
sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
8、rocketMQ常用命令
sh bin/mqshutdown broker //停止 broker
sh bin/mqshutdown namesrv //停止 nameserver
./mqadmin clusterList -n 127.0.0.1:9876 #查看集群情况
./mqadmin brokerStatus -n 127.0.0.1:9876 -b 172.20.1.138:10911 #查看 broker 状态 (注意换成你的 broker 地址)
./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 #查看 topic 路由