activitimq集群搭建_activitmq+keepalived+nfs 非zk的高可用集群构建

nfs

192.168.10.32

maast

192.168.10.4

savel

192.168.10.31

应对这个需求既要高可用又要消息延迟,只能使用变态方式实现

nfs部署

#yum install nfs-utils rpcbind

#vim /etc/exports

/data/activemq 192.168.10.31(rw,sync,no_root_squash,no_all_squash)

/data/activemq 192.168.10.4(rw,sync,no_root_squash,no_all_squash)

#systemctl stop firewalld.service

#setenforce 0

#mkdir /data/activemq -p

#systemctl start nfs

客户端挂载

#yum -y install nfs-utils.x86_64

# systemctl start rpcbind

# showmount -e 192.168.10.32

Export list for 192.168.10.32:

/data/activemq 192.168.10.4,192.168.10.31

# mkdir /data

# mount -t nfs 192.168.10.32:/data/activemq /data

# df -h

文件系统 容量 已用 可用 已用% 挂载点

/dev/mapper/centos-root 17G 4.8G 13G 28% /

devtmpfs 476M 0 476M 0% /dev

tmpfs 488M 0 488M 0% /dev/shm

tmpfs 488M 1.6M 486M 1% /run

tmpfs 488M 0 488M 0% /sys/fs/cgroup

/dev/sda1 1014M 130M 885M 13% /boot

tmpfs 98M 0 98M 0% /run/user/0

192.168.10.32:/data/activemq 17G 2.0G 16G 12% /data

使用yum安装keepalived

# yum -y install epel-release-7-11.noarch

# yum -y install keepalived

安装activemq部署

# tar xf apache-activemq-5.15.8-bin.tar.gz -C /usr/local/

# cd /usr/local/apache-activemq-5.15.8/conf

# vim activemq.xml 改成这样的两个节点都一样

40

81

82

83

# ./activemq start 启动

# ss -lntp | grep 61616

LISTEN 0 128 :::61616 :::* users:(("java",pid=21705,fd=137))

查另一个节点的端口

# ss -lntp | grep 61616

注意

1、共享文件的主从配置,是通过文件共享锁来实现的。先拿到文件锁的服务就是master,其它为slave服务,slave服务默认每10秒试图拿一次文件锁,可以查看activeMq的控制台。

2、只有master的控制台(如http://192.168.10.4:8161/admin)能够访问,slave的控制台不能访问,原因就是slave没有拿到文件锁,不能访问文件。

配置keepalived的文件

备节点的配置

[root@localhost conf]# cd /etc/keepalived/

[root@localhost keepalived]# cat keepalived.conf

global_defs {

notification_email {

root@localhost

}

notification_email_from ka2@localhost

smtp_server 127.0.0.1

smtp_connect_timeout 30

vrrp_mcast_group4 224.111.111.111

}

vrrp_script chk_mq {

script "ss -lntp | grep 61616" #检查端口是否存在,这里不能查进程

interval 2

weight -10

fall 2

rise 2

}

vrrp_instance External_1 {

state BACKUP

interface ens33

virtual_router_id 171

priority 95

advert_int 1

authentication {

auth_type PASS

auth_pass 1402b1b5

}

virtual_ipaddress {

192.168.10.5/24

}

track_script {

chk_mq

}

}

主节点的配置

# cat /etc/keepalived/keepalived.conf

global_defs {

notification_email {

root@localhost

}

notification_email_from ka1@localhost

smtp_server 127.0.0.1

smtp_connect_timeout 30

vrrp_mcast_group4 224.111.111.111

}

vrrp_script chk_mq {

script "ss -lntp | grep 61616"

interval 2

weight -10

fall 2

rise 2

}

vrrp_instance External_1 {

state MASTER

interface ens33

virtual_router_id 171

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1402b1b5

}

virtual_ipaddress {

192.168.10.5/24

}

track_script {

chk_mq

}

}

验证

[root@jiagoushi bin]# ss -lntp | grep 61616

LISTEN 0 128 :::61616 :::* users:(("java",pid=21705,fd=137))

[root@jiagoushi bin]# ip a

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:6a:6e:da brd ff:ff:ff:ff:ff:ff

inet 192.168.10.4/24 brd 192.168.10.255 scope global noprefixroute ens33

valid_lft forever preferred_lft forever

inet 192.168.10.5/24 scope global secondary ens33

valid_lft forever preferred_lft forever

inet6 fe80::13ba:653e:ffc4:7305/64 scope link noprefixroute

valid_lft forever preferred_lft forever

重启activemq查看vip切换效果,注意谁先起谁就是主节点,主节点挂了释放文件锁后,从节点端口才能启动

[root@jiagoushi bin]# ./activemq restart

INFO: Loading '/usr/local/apache-activemq-5.15.8//bin/env'

INFO: Using java '/usr/bin/java'

INFO: Loading '/usr/local/apache-activemq-5.15.8//bin/env'

INFO: Using java '/usr/bin/java'

INFO: Waiting at least 30 seconds for regular process termination of pid '21705' :

Java Runtime: Oracle Corporation 1.8.0_181 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre

Heap sizes: current=62976k free=61991k max=932352k

JVM args: -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/usr/local/apache-activemq-5.15.8//conf/login.config -Dactivemq.classpath=/us

r/local/apache-activemq-5.15.8//conf:/usr/local/apache-activemq-5.15.8//../lib/: -Dactivemq.home=/usr/local/apache-activemq-5.15.8/ -Dactivemq.base=/usr/local/apache-activemq-5.15.8/ -Dactivemq.conf=/usr/local/apache-activemq-5.15.8//conf -Dactivemq.data=/usr/local/apache-activemq-5.15.8//dataExtensions classpath:

[/usr/local/apache-activemq-5.15.8/lib,/usr/local/apache-activemq-5.15.8/lib/camel,/usr/local/apache-activemq-5.15.8/lib/optional,/usr/local/apache-activemq-5.15.8/lib/web,/usr/local/apache

-activemq-5.15.8/lib/extra]ACTIVEMQ_HOME: /usr/local/apache-activemq-5.15.8

ACTIVEMQ_BASE: /usr/local/apache-activemq-5.15.8

ACTIVEMQ_CONF: /usr/local/apache-activemq-5.15.8/conf

ACTIVEMQ_DATA: /usr/local/apache-activemq-5.15.8/data

Connecting to pid: 21705

INFO: failed to resolve jmxUrl for pid:21705, using default JMX url

Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

.....INFO: Broker not available at: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

..........................

INFO: Regular shutdown not successful, sending SIGKILL to process

INFO: sending SIGKILL to pid '21705'

INFO: Loading '/usr/local/apache-activemq-5.15.8//bin/env'

INFO: Using java '/usr/bin/java'

INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details

INFO: pidfile created : '/usr/local/apache-activemq-5.15.8//data/activemq.pid' (pid '40627')

INFO: Loading '/usr/local/apache-activemq-5.15.8//bin/env'

INFO: Using java '/usr/bin/java'

ActiveMQ is running (pid '40627')

[root@jiagoushi bin]# ip a

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:6a:6e:da brd ff:ff:ff:ff:ff:ff

inet 192.168.10.4/24 brd 192.168.10.255 scope global noprefixroute ens33

valid_lft forever preferred_lft forever

inet6 fe80::13ba:653e:ffc4:7305/64 scope link noprefixroute

valid_lft forever preferred_lft forever

[root@jiagoushi conf]# ss -lntp | grep 61616

另一节点查看

[root@localhost keepalived]# ip a

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens33: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:60:f4:68 brd ff:ff:ff:ff:ff:ff

inet 192.168.10.31/24 brd 192.168.10.255 scope global noprefixroute ens33

valid_lft forever preferred_lft forever

inet 192.168.10.5/24 scope global secondary ens33

valid_lft forever preferred_lft forever

inet6 fe80::2dbd:f06e:6abd:907/64 scope link noprefixroute

valid_lft forever preferred_lft forever

[root@localhost keepalived]# ss -lntp | grep 61616

LISTEN 0 128 :::61616 :::* users:(("java",pid=22702,fd=137))

参考文章:https://cn.aliyun.com/jiaocheng/312402.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java50车架适合身高,【经验分享】身高与车架的选择

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼车架的长度:骑在车上,在正常握把时,眼睛、把立前端和前轮花鼓三点一线则说明车架长度正好,否则可通过更换不同长度的把立来调整长度。在Airborne网站上看到了度量身体个部位长度和计算…

Java应用程序的简单令牌认证

“我喜欢编写身份验证和授权代码。” 〜从来没有Web开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 JSON Web令牌已Swift成为保护Web应用程序安全的标准,并取代了Cookie和会话…

element手机验证格式_基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)...

前言开发过程中遇到了一个需求,根据用户选择的联系方式,动态改变输入框的检验条件,并且整个表单是可以增加的在线访问:动态表单校验github(欢迎star): https://github.com/Mrblackant. ..思考几个问题1.整个表单是可新增的,所以要…

matlab中rb代表什么意思,你知道“川藏线上”女游客举着“求RB”的牌子是啥意思吗?暗语啊!...

现在穷游好像一种旅行圈的时髦,很多人都想着穷游能够锻炼人的意志,能够促进人与人的交流与合作,能够在路上遇到不一样的精彩,能够发现人性与真善美。现在穷游的人不在少数,尤其是在川藏线上,想要穷游入藏的…

vscode 智能打印_vscode智能提示

vscode智能提示官方版支持部分的语法高亮,现在官方C插件更新比较快, Visual Studio for C / C代码的扩展增加了C / C在Visual Studio语言支持。vscode智能提示功能介绍语言服务代码格式(铛格式)自动完成(实验)符号搜索转到定义/声明查看定义/声明类/方法…

重节点差商matlab,数值分析佳习题(含答案).doc

数值分析佳习题(含答案)2008信息与计算科学专业计算方法习题参考解答 江世宏编PAGEPAGE 25第一章 绪论姓名 学号 班级习题主要考察点:有效数字的计算、计算方法的比较选择、误差和误差限的计算。1 若误差限为,那么近似数0.003400有几位有效数字?(有效数字…

matlab 柴油机仿真,用MATLAB/SIMULINK实现柴油机及其控制系统的动态仿真

第 16卷(1998)第 3期 内 燃 机 学 报 Transaetions of CSICE VDl_16(1998)No.3 ④ f 用 MATLAB/SIMULINK 实现 柴油机 及其控制系统的动态仿真 980045 细描 述 了空气流量 率、燃 空 比、指 示热 效率、摩擦损 失、平均指 示 压力输 出、发 动 机 动力 学…

华为主题锁屏壁纸换不掉_华为手机总多出莫名的照片?那是因为这3个设置没关闭,赶紧自查...

随着华为在科技、5G以及数码领域的表现越来越好,使用华为手机的人也越来越多。不知道你在使用华为手机的过程中,有没有这样的感觉,华为手机总是多出莫名其妙的照片,即使删除了下次还会出现。如果有这样的情况,可能是手…

tomcat 正常关闭_Tomcat的带有守护程序和关闭钩子的正常关闭

tomcat 正常关闭我的最后两个博客讨论了长时间轮询和Spring的DeferredResult技术,并且为了展示这些概念,我将我的Producer Consumer项目中的代码添加到了Web应用程序中。 尽管该代码演示了博客所提出的观点,但其逻辑上确实包含大量漏洞。 除了…

php nginx 域名重定向,Nginx默认虚拟主机、用户认证、域名重定向

Nginx默认虚拟主机定义默认虚拟主机配置文件,在http下面加入include vhost/*.conf在/usr/local/nginx/conf/下创建目录#mkdir vhost/ //创建vhost目录#cd vhost/ //进入目录#vim aaa.com.conf //编辑文件server{listen 80 default_server; // 有这个标记的就是默认虚拟主机serv…

Java:使用SingletonStream获得性能

仅具有一个元素的Java流有时会在应用程序中造成不必要的开销。 了解如何使用SingletonStream对象并为其中某些此类流获得十倍的性能,并了解如何同时简化代码。 背景 Java 8中的Stream库是有史以来Java语言最强大的功能之一。 一旦您开始了解它的多功能性和所产生的…

多元线性回归分析spss结果解读_多元线性回归分析理论详解及SPSS结果分析

当影响因变量的因素是多个时候,这种一个变量同时与多个变量的回归问题就是多元回归,分为:多元线性回归和多元非线性回归。这里直说多元线性回归。对比一元线性回归:1.1多元回归模型:1.2多元回归方程1.3估计的多元回归方…

gilab无法解析php文件,gitlab重新设置域名后就无法访问了。

gitlab-ctl status ,查看是nignx启动不成功。查看gitlab-ctl tail日志&#xff0c;一直报这个错误 &#xff1a;> /var/log/gitlab/nginx/current <2020-01-06_09:12:15.16681 /opt/gitlab/embedded/sbin/nginx: error while loading shared libraries: libutility_mini_…

nginx请求转发被拒绝_nginx反向代理(请求转发-URL匹配规则)

反向代理适用于很多场合&#xff0c;负载均衡是最普遍的用法。nginx 作为目前最流行的web服务器之一&#xff0c;可以很方便地实现反向代理。当在一台主机上部署了多个不同的web服务器&#xff0c;并且需要能在80端口同时访问这些web服务器时&#xff0c;可以使用 nginx 的反向…

php调用pdf2html,php html2pdf

*安装composer运行html2pdf时&#xff0c;readme里面建议按照composer-setup.exe安装过程中出现openssl的问题&#xff0c;在php.ini中开启相应extension即可&#xff0c;路径写绝对路径&#xff0c;否则按默认路径找不到在html2pdf的文件路径下&#xff0c;cmd运行composer in…

electron 打开调试_Electron 应用调试指南

Electron 是一个基于 Node.js 和 Chromium 的开源框架&#xff0c;用于构建桌面应用&#xff0c;开发者可以使用 web 技术(HTML&#xff0c;JavaScript 和 CSS)完成整个应用的开发。许多知名桌面应用基于 Electron 实现&#xff0c;如 VSCode&#xff0c;Slack 和 GitHub Deskt…

java中方法的命名_Java方法中的参数太多,第5部分:方法命名

java中方法的命名在上一篇文章 &#xff08;有关处理Java方法中过多参数的系列文章的 第4部分 &#xff09;中&#xff0c;我将方法重载视为一种向客户提供需要较少参数的版本的方法或构造函数的方法。 我描述了该方法的一些缺点&#xff0c;并建议从方法重载中摆脱出来以使用不…

oracle lms进程 内存,Oracle RAC 内存融合(Cache Fusion)

原标题&#xff1a;Oracle RAC 内存融合(Cache Fusion)内存融合核心进程LMS(Global Cache Service Process)&#xff1a;这个进程负责完成GCS的大部分工作&#xff0c;它会维护GRD中数据块资源的信息&#xff0c;完成数据块在实例之间的传递工作&#xff0c;相关消息的发送和接…

sougou ubuntu 优麒麟_搜狗输入法 Linux – V2.3 版发布,完美适配优麒麟 19.10

搜狗输入法 Linux – V2.3 版发布&#xff0c;完美适配优麒麟 19.10fenshezhuiyi2 2019年10月19日 暂无评论 阅读 4,346 次昨天已发布优麒麟操作系统 19.10 版本&#xff0c;该版本集成了全新的控制面板和软件商店&#xff0c;不知道大家是否已下载体验。今天小编要为大家介绍一…

oracle多条sql语句常量,如何在Oracle中一次执行多条sql语句

有时我们需要一次性执行多条sql语句&#xff0c;而用来更新的sql是根据实际情况用代码拼出来的解决方案是把sql拼成下面这种形式&#xff1a;beginupdate TB_VG set seq 1, vessel_id Jin14, vessel_type TRACK where batch_number 20837 and train_id 0233086;update TB_…