IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> RocketMQ -> 正文阅读

[系统运维]RocketMQ

环境准备

下载virtualbox和centos镜像,启动虚拟机,加载系统(略,默认用户名root)

确保centos系统已经安装了java和maven环境

sudo yum install java-11-openjdk.x86_64
sudo yum install maven

下载RocketMQ

进入RocketMQ的下载界面 https://rocketmq.apache.org/release_notes/
在这里插入图片描述
下载RocketMQ

  • 源码文件(需要使用Maven工具重新编译)
  • 编译后的二进制文件
    在这里插入图片描述

使用Putty连接虚拟机

由于使用的是virtualbox,无法安装增强工具,也无法从主机复制链接进去,因此只能使用putty的方式

首先,配置虚拟机网卡。选择网卡1(默认是 NAT),点击 “端口转发”
在这里插入图片描述
10.0.2.15 基本是 NAT 模式固定的IP。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

下载RocketMQ

我这里直接下载编译好的二进制。如果下载的是源码,解压后需要执行mvn -Prelease-all -DskipTests clean install -U 进行编译

使用 wget 将文件下载到当前目录 wget https://dlcdn.apache.org/rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip
在这里插入图片描述
使用 unzip 命令进行解压 unzip rocketmq-all-4.9.2-bin-release.zip -d <解压到哪个目录>
在这里插入图片描述
解压后的目录结构如下

rocketmq-4.9.2

  • benchmark
  • bin
  • conf
  • lib
  • LICENSE
  • NOTICE
  • README.md
    在这里插入图片描述

调整参数

首先,需要调整内存大小,以免服务无法启动(非必须)

  • bin/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"
  • bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
调整为
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"

运行命令

nohup 用来不挂断地运行命令。通常配合 & 一起使用,& 命令指定程序在后台运行
语法:nohup command [ Arg ... ] [ & ]

  1. 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
  2. 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中
  3. 如果没有文件能创建或打开以用于追加,那么Command参数指定的命令不可调用

退出返回值:

  • 126 可以查找单不能调用 Command 参数指定的命令
  • 127 nohup 命令发生错误或不能查找由 Command 参数指定的命令
  • 否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态

启动 NameServer

mkdir logs
touch logs/namesrv.log
nohup sh bin/mqnamesrv > logs/namesrv.log &

启动 broker

mkdir logs
touch logs/broker.log
nohup sh bin/mqbroker > logs/broker.log &

在这里插入图片描述

查看启动是否成功

  • jps
    在这里插入图片描述

  • 查看日志

cat logs/namesrv.log
cat logs/broker.log

在这里插入图片描述

停止 namesrv 和 broker

  • 停止 broker bin/mqshutdown broker
  • 停止 namesrv bin/mqshutdown namesrv

状态查看命令

  • 查看集群情况 bin/mqadmin clusterList -n 127.0.0.1:9876
    在这里插入图片描述
  • 查看broker状态 bin/mqadmin brokerStatus -n 127.0.0.1:9876 -b <broker IP>:10911
    在这里插入图片描述
  • 查看topic列表 bin/mqadmin topicList -n 127.0.0.1:9876
    在这里插入图片描述
  • 查看topic状态 bin/mqadmin topicStatus -n 127.0.0.1:9876 -t SELF_TEST_TOPIC
    在这里插入图片描述
  • 查看topic路由 bin/mqadmin topicRoute -n 127.0.0.1:9876 -t SELF_TEST_TOPIC
    在这里插入图片描述

测试队列

  1. 首先需要手工设置 NAMESRV_ADDR 的地址 export NAMESRV_ADDR=localhost:9876

  2. 启动生产者,并发送Topic sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
    在这里插入图片描述

  3. 启动消费者,开始接收Topic sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
    在这里插入图片描述

  4. 使用 jps 查看当前所有Java进程
    在这里插入图片描述

排错

名服务器

这个错误是由于未设置名服务器导致的
java.lang.IllegalStateException: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to null failed
在这里插入图片描述
解决方案:
设置名服务器:export NAMESRV_ADDR=localhost:9876

无法创建Topic

Broker默认禁止自动创建Topic,可以添加 autoCreateTopicEnable=true 来允许自动创建话题
org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest

解决方案:

bin/mqshutdown broker
nohup sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true > logs/broker.log &

无法计算签名

这个是由于yum安装的java,没有指明 ${JAVA_HOME} 的位置。可以使用 echo ${JAVA_HOME} 命令进行查看,如果为空,则说明该变量未被设置。
Caused by: org.apache.rocketmq.acl.common.AclException: [10015:signature-failed] unable to calculate a request signature. error=[10015:signature-failed] unable to calculate a request signature. error=Algorithm HmacSHA1 not available
在这里插入图片描述
解决方案:
设置JAVA_HOME环境变量 export JAVA_HOME=/usr/lib/jvm/java-openjdk
在这里插入图片描述

可视化工具

之前的版本叫 rocketmq-console,后来项目从 rocket-externals 中独立了出来,重命名为 rocketmq-dashboard

github 地址为 https://github.com/apache/rocketmq-dashboard

下载后使用 mvn clean package -Dmaven.test.skip=true 进行编译

然后对生成的jar包,使用 java -jar 命令进行启动

打开RocketMQ监控中心网站:http://{ip}:{port} 就可以查看到监控了

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-05 13:50:43  更:2021-11-05 13:50:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:52:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码