4a网站建设公司,ppt做的最好的网站,wordpress记录主题使用情况,蓬莱网站建设哪家专业搭建RocketMQ可视化管理服务
下载可视化客户端源码下载 | RocketMQ 这里只提供了源码#xff0c;并没有提供直接运行的jar包。将源码下载下来后#xff0c;需要解压并进入对应的目录#xff0c;使用maven进行编译。(需要提前安装maven客户端)
mvn clean package -Dmaven.t…搭建RocketMQ可视化管理服务
下载可视化客户端源码下载 | RocketMQ 这里只提供了源码并没有提供直接运行的jar包。将源码下载下来后需要解压并进入对应的目录使用maven进行编译。(需要提前安装maven客户端)
mvn clean package -Dmaven.test.skiptrue
编译完成后在源码的target目录下会生成可运行的jar包rocketmq-dashboard-1.0.1-SNAPSHOT.jar。
接下来可以将这个jar包上传到服务器上。我们上传到/usr/local/src/software/rocketmq/目录下
在rocketmq-dashboard-1.0.1-SNAPSHOT.jar同级目录中使用vi application.yml 命令生成yml文件
vi application.yml
接下来我们需要在jar包所在的目录下创建一个application.yml配置文件在配置文件中做如下配置 添加 namesrv的配置 主要是要指定nameserver的地址。
rocketmq: config: namesrvAddrs: - 192.168.200.7:9876 接下来就可以通过java指令执行这个jar包启动管理控制台服务。
java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar 这里启动失败出了问题有报错 Dashboard 可能会使用 Spring Boot 的默认版本该版本可能是与 Dashboard 兼容的版本。但由于遇到了 java.lang.NoSuchMethodError 的问题可能是由于不同版本之间的冲突引起的。
尝试在 pom.xml 文件中显式添加 SnakeYAML 的依赖项并指定一个版本。例如
dependencygroupIdorg.yaml/groupIdartifactIdsnakeyaml/artifactIdversion1.27/version !-- 根据你实际使用的版本调整 --
/dependency
然后重新打包rocketmq-dashboard 源码成jar包将之前的jar包删除将这个刚打好的jar替换上去重新启动 该启动过程中又出现了一个问题端口8080被占用了查看占用8080端口的进程
sudo lsof -i :8080将该进程杀掉sudo kill -9 22731 重新启动成功了 成功访问 搭建集群
升级分布式集群
对三台机器进行命名进入编辑文件
sudo vi /etc/hosts在文件中添加以下这段配置ip映射域名
192.168.200.7 worker1
192.168.200.11 worker3
192.168.200.12 worker2 之前我们用一台Linux服务器快速搭建起了一整套RocketMQ的服务。但是很明显这样搭建的服务是无法放到生产环境上去用的。一旦nameserver服务或者broker服务出现了问题整个RocketMQ就无法正常工作。而且更严重的是如果服务器出现了问题比如磁盘坏了那么存储在磁盘上的数据就会丢失。这时RocketMQ暂存到磁盘上的消息也会跟着丢失这个问题就非常严重了。因此我们需要搭建一个分布式的RocketMQ服务集群来防止单点故障问题。
RocketMQ的分布式集群基于主从架构搭建。在多个服务器组成的集群中指定一部分节点作为Master节点负责响应客户端的请求。指令另一部分节点作为Slave节点负责备份Master节点上的数据这样当Master节点出现故障时在Slave节点上可以保留有数据备份至少保证数据不会丢失。
整个集群方案如下图所示 接下来我们准备三台相同的Linux服务器搭建一下RocketMQ的分布式集群。为了更清晰的描述这三台服务器上的操作我们给每个服务器指定一个机器名。
cat /etc/hosts
192.168.200.7 worker1
192.168.200.11 worker2
192.168.200.12 worker3 为了便于观察我们这次搭建一个2主2从的RocketMQ集群并将主节点和节点都分别部署在不同的服务器上。预备的集群规划情况如下
机器名nameServer服务部署broker服务部署worker1nameServerworker2nameServerbroker-a,broker-b-sworker3nameServerbroker-a-s,broker-b
第一步部署nameServer服务。
nameServer服务不需要做特别的配置按照之前的步骤在三台服务器上都分别部署nameServer服务即可。
第二步对Broker服务进行集群配置。
这里需要修改RocketMQ的配置文件对broker服务做一些集群相关的参数部署。这些配置文件并不需要我们手动进行创建在RocketMQ运行包的conf目录下提供了多种集群的部署配置文件模板。 2m-noslave: 2主无从的集群参考配置。这种集群存在单点故障。 2m-2s-async和2m-2s-sync: 2主2从的集群参考配置。其中async和sync表示主节点与从节点之间是同步同步还是异步同步。关于这两个概念会在后续章节详细介绍 dledger: 具备主从切换功能的高可用集群。集群中的节点会基于Raft协议随机选举出一个Leader其作用类似于Master节点。其他的节点都是follower其作用类似于Slave节点。
我们这次采用2m-2s-async的方式搭建集群需要在worker2和worker3上修改这个文件夹下的配置文件。