1RocketMQ简介

RocketMQ是一款分布式、队列模型的消息中间件,具有以下特点:

能够保证严格的消息顺序

提供丰富的消息拉取模式

高效的订阅者水平扩展能力

实时的消息订阅机制

亿级消息堆积能力

官网介绍:https://yq.aliyun.com/articles/624207?utm_content=m_1000012577

2 准备工作

本次安装选择在可连外网的本地虚拟机执行第2步,第3步,将编译好的结果(在SVN安装介质有)copy到服务器配置一下即可

2.1安装jdk

https://blog.csdn.net/Shiloh_My/article/details/82911878

https://www.cnblogs.com/pu20065226/p/10730506.html

2.2安装maven

下载源码包

wget http://mirror.bit.edu.cn/apache/maven/binaries/apache-maven-3.2.2-bin.tar.gz

tar -zxvf apache-maven-3.2.2-bin.tar.gz

2.3配置环境变量

以root用户修改/etc/profile,追加

export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export ROCKETMQ_HOME=/home/ap/testapp/software/rocketmq-all-4.2.0/distribution/target/apache-rocketmq
MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1
PATH=$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
export MAVEN_HOME PATH

 

配置生效:

source /etc/profile

 

2.4配置maven镜像

注:保证服务器可以连外网

 在镜像连阿里云

[testapp@k8s-node1 /usr/local/maven/apache-maven-3.6.1/conf]$ pwd
/usr/local/maven/apache-maven-3.6.1/conf
[testapp@k8s-node1 /usr/local/maven/apache-maven-3.6.1/conf]$ cat settings.xml 
......
<mirrors>
 <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

 

验证maven:

 

 

3RocketMQ下载编译

3.1下载rocketmq4.2.0

https://github.com/apache/rocketmq/archive/release-4.2.0.zip下载zip包并上传

或者wget -P /software https://github.com/apache/rocketmq/archive/release-4.2.0.zip -O rocketmq-all-4.2.0-source-release.zip

Wget命令说明-P表示目录没有就创建,-O表示重命名

免编译版本(本文未用):http://mirror.bit.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip

3.2编译

unzip rocketmq-all-4.2.0-source-release.zip

cd rocketmq-all-4.2.0

 

[testapp@k8s-node1 ~/software/rocketmq-all-4.2.0]$ ll
总用量 64
-rw-r--r-- 1 root root  2917 12月 13 2017 1
drwxr-xr-x 4 root root    46 8月  20 19:38 broker
-rw-r--r-- 1 root root   997 12月 13 2017 BUILDING
drwxr-xr-x 4 root root    46 8月  20 19:38 client
drwxr-xr-x 4 root root    46 8月  20 19:37 common
-rw-r--r-- 1 root root  1997 12月 13 2017 CONTRIBUTING.md
-rw-r--r-- 1 root root   271 12月 13 2017 DEPENDENCIES
drwxr-xr-x 2 root root    34 12月 13 2017 dev
drwxr-xr-x 6 root root   157 8月  20 19:39 distribution
drwxr-xr-x 4 root root    46 8月  20 19:38 example
drwxr-xr-x 4 root root    46 8月  20 19:38 filter
drwxr-xr-x 4 root root    46 8月  20 19:38 filtersrv
-rw-r--r-- 1 root root 11365 12月 13 2017 LICENSE
drwxr-xr-x 4 root root    46 8月  20 19:38 logappender
drwxr-xr-x 4 root root    46 8月  20 19:38 namesrv
-rw-r--r-- 1 root root   168 12月 13 2017 NOTICE
drwxr-xr-x 4 root root    46 8月  20 19:38 openmessaging
-rw-r--r-- 1 root root 23353 12月 13 2017 pom.xml
-rw-r--r-- 1 root root  1524 12月 13 2017 PULL_REQUEST_TEMPLATE.md
-rw-r--r-- 1 root root  2426 12月 13 2017 README.md
drwxr-xr-x 4 root root    46 8月  20 19:37 remoting
drwxr-xr-x 4 root root    46 8月  20 19:38 srvutil
drwxr-xr-x 4 root root    46 8月  20 19:38 store
drwxr-xr-x 3 root root    74 12月 13 2017 style
drwxr-xr-x 4 root root   167 8月  20 19:37 target
drwxr-xr-x 4 root root    46 8月  20 19:38 test
drwxr-xr-x 4 root root    46 8月  20 19:38 tools
[testapp@k8s-node1 ~/software/rocketmq-all-4.2.0]$

[testapp@k8s-node1 ~/software/rocketmq-all-4.2.0]$ pwd
/home/ap/testapp/software/rocketmq-all-4.2.0

 

mvn -Prelease-all -DskipTests clean install -U

时间会比较长,要去下载相关依赖包

 

 

 

 

4安装步骤

保证2.3 ROCKETMQ_HOME变量以root用户添加并生效,第4步可以不用root用户如softwareapp

 

4.1拷贝编译后的文件至服务器

 

 

 

4.2   启动namesrv

nohup sh bin/mqnamesrv &

如果这条命令报错,请使用 nohup sh bin/mqnamesrv  >/dev/null 2>&1 &

tail -f ~/logs/rocketmqlogs/namesrv.log

4.3启动broker

nohup sh bin/mqbroker -n localhost:9876 &

tail -f ~/logs/rocketmqlogs/broker.log

5.验证

在发送/接收消息之前,我们需要告诉客户名称服务器的位置。RocketMQ 提供了多种方法来实现这一点。为了简单起见,我们使用环境变量NAMESRV_ADDR

5.1发送

export NAMESRV_ADDR=localhost:9876

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

5.2 接收

sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

 

6.关闭服务器

sh bin/mqshutdown broker    //停止 broker

sh bin/mqshutdown namesrv   //停止 nameserver

 

7.修改内存配置

默认配置太大,top命令下消耗内存太多,可按需求更改

cd /software/rocketmq-all-4.2.0/distribution/target/apache-rocketmq/bin

使用vim xxx.sh命令进行JVM参数配置修改:
将runbroker.sh的第一个JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
将runserver.sh的第一个JAVA_OPT改成JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

 

8.常用命令

查看集群情况 ./mqadmin clusterList -n 192.168.102.84:9876

查看 broker 状态 ./mqadmin brokerStatus -n 192.168.102.84:9876 -b 192.168.102.84:10911 (注意换成你的 broker 地址)

查看 topic 列表 ./mqadmin topicList -n 192.168.102.84:9876

查看 topic 状态 ./mqadmin topicStatus -n 192.168.102.84:9876 -t MyTopic (换成你想查询的 topic)

查看 topic 路由 ./mqadmin topicRoute -n 192.168.102.84:9876 -t MyTopic

 

posted on 2019-08-21 18:24  pu20065226  阅读(4516)  评论(0编辑  收藏  举报