当前位置: 首页 > news >正文

Zookeeper+ActiveMQ 集群实现

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

基础环境:

系统环境:centos6.7

软件包:zookeeper-3.4.10.tar.gz

主机ip消息端口通信端口
192.168.33.1721812888:3888
192.168.33.1821812888:3888
192.168.33.1921812888:3888
主机ip集群间的通信端口消息端口控制台端口
192.168.33.17

62621

61616

8161
192.168.33.18

62621

61616

8161
192.168.33.19

62621

61616

8161

zookeeper集群安装配置(需要在所有集群节点配置):

0.ZooKeeper依赖于Java,请先安装好java,并配置好环境变量。

1.配置ZooKeeper环境变量

# vim /etc/profile
export ZOOKEEPER=/usr/local/zookeeper-3.4.10
export PATH=$ZOOKEEPER/bin:$PATH

2.修改配置文件名

mv zoo_sample.cfg zoo.cfg

3. 修改配置文件

vim zoo.cfg

主要修改两个地方,如下:

(1)data文件目录默认不存在需要手动创建

dataDir=/usr/local/zookeeper-3.4.10/data

 

(2)配置文件最后增加集群服务器ip及端口信息

server.1=192.168.33.17:2888:3888
server.2=192.168.33.18:2888:3888
server.3=192.168.33.19:2888:3888

4.在Zookeeper主目录下创建data目录

mkdir data
cd data/

在data文件夹下建立myid(三个节点,0,1,2)

#vim myid

0

5.启动zookeeper

cd /usr/local/zookeeper-3.4.10/bin
./zkServer.sh start

6.查看ZooKeeper进程

[root@localhost bin]# jps
2406 QuorumPeerMain
2487 Jps

7.查看节点状态(可以看到该节点角色为master)

# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader

 

ActiveMQ集群配置:

1.vim usr/local/activemq5.15/conf/activemq.xml

(1)修改brokerName,三台机器的brokerName相同,都为"activemq-cluster"

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq-cluster" dataDirectory="${activemq.data}">

(2)修改数据库为replicatedLevelDB

注:hostname 填写本机的ip

<persistenceAdapter>
<!--
            <kahaDB directory="${activemq.data}/kahadb"/>
-->

        <replicatedLevelDB
                directory="${activemq.data}/leveldb"
                replicas="3"
                bind="tcp://0.0.0.0:62621"
                zkAddress="192.168.33.17:2181,192.168.33.18:2181,192.168.33.19:2181"
                hostname="192.168.33.19"
                zkPath="/activemq/leveldb-stores"
/>
        </persistenceAdapter>

2.三台mq机器分别启动mq服务

/usr/local/activemq5.15/bin/activemq start

3.集群测试

访问http://192.168.33.17:8161/

http://192.168.33.18:8161/

http://192.168.33.19:8161/

可以发现只有一台机器能够访问到,则集群配置成功

4.zookeeper client端,查看zookeeper集群信息

 zkCli.sh

[zk: localhost:2181(CONNECTED) 4]  ls /activemq/leveldb-stores
[00000000002, 00000000003, 00000000001]

可以看到有三个节点信息

5.通过idea,安装zookeeper插件,也可以查询到ActiveMq集群信息

120413_lmA5_1393804.png

01

{"id":"activemq-cluster","container":null,"address":"tcp://192.168.33.18:62621","position":-1,"weight":1,"elected":"0000000001"}

02

{"id":"activemq-cluster","container":null,"address":null,"position":-1,"weight":1,"elected":null}

03

{"id":"activemq-cluster","container":null,"address":null,"position":-1,"weight":1,"elected":null}

可以看到,192.68.33.18为目前active的机器。

 

转载于:https://my.oschina.net/CentralD/blog/1556386

相关文章:

  • Android 使用DDMS查看内存使用情况
  • 新品牌如何开展网络营销?
  • 什么是自动化运维 ? 自动化运维的设计思路以及实战
  • 1.3给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。...
  • html+css+JavaScript例题
  • 通过递归的方式将字符串逆置打印
  • Oracle osw监控工具的使用示例
  • ASP.NET 跨平台应用开发
  • linux负载查看
  • 【漫谈数据仓库】 如何优雅地设计数据分层
  • Last_SQL_Errno: 1366
  • 那些年困扰我们的委托(C#)
  • 解决发邮件出现“501 Domain address required: HELO”问题
  • eclipse的离线汉化
  • Java新版本的开发已正式进入轨道,版本号18.3
  • 分享的文章《人生如棋》
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • conda常用的命令
  • CSS3 变换
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • java取消线程实例
  • jquery cookie
  • LeetCode29.两数相除 JavaScript
  • leetcode46 Permutation 排列组合
  • oldjun 检测网站的经验
  • Promise面试题,控制异步流程
  • Quartz初级教程
  • yii2权限控制rbac之rule详细讲解
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 精彩代码 vue.js
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 如何进阶一名有竞争力的程序员?
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用common-codec进行md5加密
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 项目管理碎碎念系列之一:干系人管理
  • 写给高年级小学生看的《Bash 指南》
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • Python 之网络式编程
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​iOS实时查看App运行日志
  • ​MySQL主从复制一致性检测
  • ###C语言程序设计-----C语言学习(3)#
  • %check_box% in rails :coditions={:has_many , :through}
  • (145)光线追踪距离场柔和阴影
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (二)windows配置JDK环境
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (简单) HDU 2612 Find a way,BFS。
  • (十六)Flask之蓝图
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • ***php进行支付宝开发中return_url和notify_url的区别分析