rocketmq4.5.1双主双从异步复制环境搭建(代码片段)

lua123 lua123     2022-12-13     349

关键词:

基础环境

操作系统:CentOS7

实例:192.168.63.129,192.168.63.130,192.168.63.131,192.168.63.132

Java:jdk-8u191-linux-x64.tar.gz

安装JDK

先把系统里面自带的卸载掉

技术图片

 

[[email protected] soft]# rpm -qa|grep java
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
tzdata-java-2018e-3.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
[[email protected] soft]# rpm -e java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 --nodeps
[[email protected] soft]# rpm -e java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64 --nodeps
[[email protected] soft]# 

进入你JDK安装包所在的目录,然后安装JDK

# 创建一个目录存放
[[email protected] soft]# mkdir /usr/local/java
# 解压缩到这个目录
[[email protected] soft]# tar -xvf jdk-8u191-linux-x64.tar.gz -C /usr/local/java/

 

解压之后进入该目录可以看到

技术图片

下面配置环境变量

[[email protected] java]# vim /etc/profile

加入以下内容

# java
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export JRE_HOME=/usr/local/java/jdk1.8.0_191/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

 如下所示

技术图片

刷新并验证

[[email protected] java]# source /etc/profile
[[email protected] java]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
[[email protected] java]# 

 

安装RocketMQ

技术图片

 

首先上传到服务器,我上传到 /soft文件夹下面。然后解压

# 解压
[[email protected] soft]# unzip rocketmq-all-4.5.1-bin-release.zip -d /usr/local/
# 进入解压目录
[[email protected] soft]# cd /usr/local/
[[email protected] local]# ll
total 0
drwxr-xr-x. 2 root root   6 Apr 11  2018 bin
drwxr-xr-x. 2 root root   6 Apr 11  2018 etc
drwxr-xr-x. 2 root root   6 Apr 11  2018 games
drwxr-xr-x. 2 root root   6 Apr 11  2018 include
drwxr-xr-x. 3 root root  26 May 26 18:39 java
drwxr-xr-x. 2 root root   6 Apr 11  2018 lib
drwxr-xr-x. 2 root root   6 Apr 11  2018 lib64
drwxr-xr-x. 2 root root   6 Apr 11  2018 libexec
drwx------. 6 root root 103 Mar 29 17:37 rocketmq-all-4.5.0-bin-release
drwxr-xr-x. 2 root root   6 Apr 11  2018 sbin
drwxr-xr-x. 5 root root  49 May 10 07:44 share
drwxr-xr-x. 2 root root   6 Apr 11  2018 src
# 改个名字 [[email protected] local]#
mv rocketmq-all-4.5.1-bin-release/ rocketmq [[email protected] local]# ll total 0 drwxr-xr-x. 2 root root 6 Apr 11 2018 bin drwxr-xr-x. 2 root root 6 Apr 11 2018 etc drwxr-xr-x. 2 root root 6 Apr 11 2018 games drwxr-xr-x. 2 root root 6 Apr 11 2018 include drwxr-xr-x. 3 root root 26 May 26 18:39 java drwxr-xr-x. 2 root root 6 Apr 11 2018 lib drwxr-xr-x. 2 root root 6 Apr 11 2018 lib64 drwxr-xr-x. 2 root root 6 Apr 11 2018 libexec drwx------. 6 root root 103 Mar 29 17:37 rocketmq drwxr-xr-x. 2 root root 6 Apr 11 2018 sbin drwxr-xr-x. 5 root root 49 May 10 07:44 share drwxr-xr-x. 2 root root 6 Apr 11 2018 src

 

进入配置文件目录,修改配置文件(四台机器修改的配置文件不一样,注意名称)

[[email protected] local]# cd rocketmq/conf/2m-2s-async/
# 129节点
[[email protected] 2m-2s-async]# vim broker-a.properties
# 130节点
[[email protected] 2m-2s-async]# vim broker-a-s.properties
# 131节点
[[email protected] 2m-2s-async]# vim broker-b.properties
# 132节点
[[email protected] 2m-2s-async]# vim broker-b-s.properties

加入如下内容(四台机器加入内容一样,但是修改的文件不一样)

listenPort=10911
namesrvAddr=192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876
mapedFileSizeCommitLog=1073741824
storePathRootDir=/usr/local/rocketmq/store
storePathCommitLog=/usr/local/rocketmq/store/commitlog
storePathConsumerQueue=/usr/local/rocketmq/store/consumequeue
storePathIndex=/usr/local/rocketmq/store/index

 

如图:

技术图片

然后新建store相关目录(四台机器一样)

[[email protected] 2m-2s-async]# mkdir /usr/local/rocketmq/store
[[email protected] 2m-2s-async]# mkdir /usr/local/rocketmq/store/commitlog
[[email protected] 2m-2s-async]# mkdir /usr/local/rocketmq/store/consumequeue
[[email protected] 2m-2s-async]# mkdir /usr/local/rocketmq/store/index

 

开启防火墙端口

[[email protected] 2m-2s-async]# firewall-cmd --zone=public --add-port=10911/tcp --permanent
success
[[email protected] 2m-2s-async]# firewall-cmd --zone=public --add-port=9876/tcp --permanent
success
[[email protected] 2m-2s-async]# systemctl restart firewalld

 

进入bin目录,准备启动nameserver,启动成功。

[[email protected] 2m-2s-async]# cd /usr/local/rocketmq/bin/
[[email protected] bin]# ./mqnamesrv &
[1] 59673
[[email protected] bin]# Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON

[[email protected] bin]# 

 

下面启动broker

[[email protected] bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a.properties &
[2] 59731
[[email protected] bin]# Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error=Cannot allocate memory (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/rocketmq/bin/hs_err_pid59738.log

[2]+  Exit 1                  ./mqbroker

 

 报错了,内存不足。毕竟测试搭建,只有1G内存。修改runbroker.sh

[[email protected] bin]# vim runbroker.sh

修改这里

技术图片

改为 -Xms256m -Xmx256m -Xmn128m

保存关闭,重启。

 技术图片

# 129
[[email protected] bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a.properties &
[3] 61454
[2]   Exit 143                ./mqbroker
[[email protected] bin]# The broker[broker-a, 192.168.63.129:10911] boot success. serializeType=JSON and name server is 192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876

# 130
[[email protected] bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-a-s.properties &
[3] 60359
[2]   Exit 143                ./mqbroker
[[email protected] bin]# The broker[broker-a, 192.168.63.130:10911] boot success. serializeType=JSON and name server is 192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876

# 131
[[email protected] bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-b.properties &
[3] 60224
[2]   Exit 143                ./mqbroker
[[email protected] bin]# The broker[broker-b, 192.168.63.131:10911] boot success. serializeType=JSON and name server is 192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876

# 132
[[email protected] bin]# ./mqbroker -c /usr/local/rocketmq/conf/2m-2s-async/broker-b-s.properties &
[3] 60310
[2]   Exit 143                ./mqbroker
[[email protected] bin]# The broker[broker-b, 192.168.63.132:10911] boot success. serializeType=JSON and name server is 192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876

 

全部启动成功后,安装个管控台。

管控台

这里需要四台服务器开启10909端口。

[[email protected] bin]# firewall-cmd --zone=public --add-port=10909/tcp --permanent
success
[[email protected] bin]# systemctl restart firewalld

=====

https://github.com/apache/rocketmq-externals

下载好后,进入rocketmq-console目录执行打包命令

mvn clean package -Dmaven.test.skip=true

 

技术图片

 

进入target目录,执行命令启动。

java -jar rocketmq-console-ng-1.0.1.jar --rocketmq.config.namesrvAddr=192.168.63.129:9876;192.168.63.130:9876;192.168.63.131:9876;192.168.63.132:9876

 

访问http://localhost:8080/#/cluster

 技术图片

 

关闭NameServer和Broker

[[email protected] bin]# ./mqshutdown namesrv
The mqnamesrv(59705) is running...
Send shutdown request to mqnamesrv(59705) OK
[[email protected] bin]# ./mqshutdown broker
The mqbroker(60366) is running...
Send shutdown request to mqbroker(60366) OK
[1]-  Exit 143                ./mqnamesrv

 

17rocketmq集群双主双从同步搭建(代码片段)

...面一主一从同步搭建我们企业级开发,一般采用的是双主双从同步,以及异步刷盘;同步消息保证消息不丢失,异步刷盘提高吞吐量;我们VM里再克隆两台机器;192.168.0.110机器作为m1主节点192.168.0.103机器作... 查看详情

17rocketmq集群双主双从同步搭建(代码片段)

...面一主一从同步搭建我们企业级开发,一般采用的是双主双从同步,以及异步刷盘;同步消息保证消息不丢失,异步刷盘提高吞吐量;我们VM里再克隆两台机器;192.168.0.110机器作为m1主节点192.168.0.103机器作... 查看详情

rocketmq-双主双从集群+dashborad搭建(云服务器)(代码片段)

文章目录一、理论垫基础1.NameServer集群2.Producer集群3.Consumer集群4.Broker集群4.1节点间数据同步以及消息的持久化4.2Broker的集群模式4.2.1、单Master模式4.2.2、多Master模式4.2.3、多Master多Slave模式-异步复制4.2.4、多Master多Slave模式-同步双... 查看详情

mysql主从复制搭建之一主一从双主双从搭建(代码片段)

1.MySQL主从复制原理1.1为什么要做主从复制?在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写&#x... 查看详情

安装部署rocketmq集群(双主双从)

...器的Nameserver然后分别启动4个Broker进程:就这样,RocketMQ双主双从的集群就已经搭建 查看详情

4读写分离---双主双从(mycat)(代码片段)

双主双从一个主机m1用于处理所有写请求,它的从机s1和另一台主机m2还有它的从机s2负责所有读请求。当m1主机宕机后,m2主机负责写请求,m1、m2互为备机。  角色        地址master1  &nbs... 查看详情

rocketmq双主双从同步写安装部署

1,机器ip软件版本jdk-8u131-linux-x64.tar.gzrocketmq-all-4.2.0-bin-release.ziprocketmq-console-ng-1.0.0.jar10.15.10.238HNVM015238nameserver1rocketmq-masterarocketmq-slaveb10.15.10.239HNVM015239nameserver2rock 查看详情

keepalived双主双从配置(代码片段)

双主双从配置:(机器ip地址为自己本身机器的ip请勿使用博主的IP)配置过程时间有点长,代码比较多,配置的时候请看清加油,打工人配置环境:keepalived1:192.66.66.101keepalived2:192.66.66.102web1&#... 查看详情

rocketmq集群搭建2(代码片段)

1.修改配置配件本次搭的集群是双主双从的同步模式  双主双从的配置文件再上图所示的里面服务器:192.168.100.128内需配置(下图中的:broker-a.properties和broker-b-s.properties)   broker-a.properties中的配置文件如下#所... 查看详情

部署:单主部署一主一从部署双主双从部署代码测试(代码片段)

一.RocketMQ单机部署Hosts添加信息我们首先进入/etc/hosts来添加信息vim/etc/hosts添加信息如下: 上传解压安装包 通过XFTP工具将apache-rocketmq.tar.gz传到/usr/local/software,然后添加/usr/local/apache-rocketmq目录,再将apache-rocketmq.ta 查看详情

mycat学习第二天之性能监控,读写分离,集群搭建(代码片段)

...制原理2.2MySQL一主一从搭建2.3MyCat一主一从读写分离2.4MySQL双主双从搭建2.5MyCat双主双从读写分离3.Mycat集群搭建 查看详情

rocketmq4.5.1单机环境搭建以及生产消费测试(代码片段)

为了学习和方便测试,总是要启动一个单机版的。下载 http://rocketmq.apache.org/dowloading/releases/1.要先配置环境变量ROCKETMQ_HOMEE:\\rocketmq-all-4.5.1-bin-release2.然后进入bin目录启动NameServer3.启动Broker启动E:\\rocketmq-all-4.5.1-bin-rele 查看详情

rocketmq单台,各种集群,可视化安装步骤(代码片段)

...打包项目运行启动管理界面访问管理界面RocketMQ集群方案双主双从同步-和-异步复制方案搭建同步方案broker-a,a主服务器配置broker-aslave,a从服务器配置broker-b& 查看详情

keepalive单主双主模型的配置(代码片段)

keepalive单主模式的配置一环境:关闭防火墙,iptables-AOUTPUT-d224.100.120.18-jREJECT或添加a记录关闭selinux,同步时间timedatectlset-timezoneAsia/Shanghai间timedatectlset-timezoneAsia/Shanghai二步骤:1yuminstallkeepalived#安装高可用软件2cd/etc/ 查看详情

思科hsrp和vrrp双主双备

??????????思科HSRP和VRRP双主双备??????R1#conftR1(config)#intfa0/1R1(config-if)#ipadd13.0.0.1255.255.255.0R1(config-if)#noshutR1(config-if)#exitR1(config)#*Mar?100:02:10.087:%LINK-3-UPDOWN:InterfaceFastEthern 查看详情

003.mmm双主-双从读写分离部署(代码片段)

...署》。提示:除去monitor节点外所有节点均需要部署。三双主复制部署3.1master01my.cf配置1[[email protected]~]#vi/etc/my.cnf2[mysqld]3……4server-id=1 #设置主服务器master的id5log-bin=mysql- 查看详情

rocket详细教程(代码片段)

...例​编辑    3.2、四种模式概览 4、主从集群环境构建(双主双从)三、RocketMQ-生产者核心1、配置参数解析2、主从同步机制3、同步/异步消息发送解析4、延迟消息(Level可修改& 查看详情

mmm双主-双从读写分离部署(代码片段)

...表1.4整体架构1.4hosts修改1.5NTP配置二部署MySQL2.1安装MySQL三双主复制部署3.1master01my.cf配置3.2Master02my.cf配置3.4Master02创建账号3.5启动双主复制3.3启动Master02的slave功能四其他节点配置4.1所有Slave节点配置配置4.2所有Slave节点创建账号4.2... 查看详情