Exhibitor是管理ZooKeeper服务实例的主管服务。由Netflix开发和开放源码,对于ZooKeeper的实例监控、备份/恢复、清理和可视化非常有用。

Note
Netflix Exhibitor主页位于 https://github.com/Netflix/exhibitor

管理ZooKeeper集群需要大量的人力,这可能会导致人为错误,并在应用程序中产生非预期的问题。 ZooKeeper集合是静态配置的,每个单独实例的配置由一个配置文件组成。 该文件在每个ZooKeeper实例上必须相同。 集成的重新配置需要更新此配置文件以及重新启动服务器进程。 正确的配置对于ZooKeeper的正确运行至关重要。 除了正确的配置需求外,ZooKeeper还可能需要定期备份事务日志,清理日志等等。

Exhibitor提供了ZooKeeper的所有管理需求以及许多其他功能,具体如下:

  • 监控:Exhibitor监控ZooKeeper服务器。 如果由于某些原因ZooKeeper服务器进程崩溃或未运行,Exhibitor将重写配置文件并重新启动服务器进程。
  • 日志清理:Exhibitor可以定期清理ZooKeeper日志。 但是,在3.4.x之后的版本中,ZooKeeper提供了一个自动清除日志文件的选项。
  • 备份/恢复:Exhibitor可以用来备份ZooKeeper事务日志文件。 它还允许对这些日志进行索引,通过这些日志可以搜索任何指定的事务并用于将给定的znode恢复到ZooKeeper实例。
  • 群集范围配置:Exhibitor通过展示单个系统视图,可以将配置更改应用到整个ZooKeeper系统。
  • 滚动配置更新:Exhibitor允许配置的热更新;这使得即使在ZooKeeper ensemble运行时也可以进行配置更新,而无需停机。
  • REST API:Exhibitor公开了一个REST API,允许开发人员编写程序来执行ZooKeeper管理任务。
  • 可视化:Exhibitor展示了ZooKeeper树的图形可视化。
  • Exhibitor整合:Exhibitor和Curator可以配置一起工作。 它允许Curator实例更新对ZooKeeper ensemble所做的任何更改。

Tips
关于集成的更多细节可以在 http://curator.apache.org/exhibitor.html找到

Exhibitor的二进制文件可以从Maven Central仓库获得。 有两个版本:

  • Standalone:此版本提供了一个预配置的,自包含的基于Jetty的应用程序。 有关运行独立应用程序的详细信息,请访问 https://github.com/Netflix/exhibitor/wiki/Running-Exhibitor
  • Core:这个版本允许我们通过整合现有的应用程序来扩展Exhibitor。

16. 使用Exhibitor管理ZooKeeper的更多相关文章

  1. 【精华】部署与管理ZooKeeper(转)

    部署与管理ZooKeeper(转) 本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin. ...

  2. 部署与管理ZooKeeper(转)

    本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要 ...

  3. 15. 使用Apache Curator管理ZooKeeper

    Apache ZooKeeper是为了帮助解决复杂问题的软件工具,它可以帮助用户从复杂的实现中解救出来. 然而,ZooKeeper只暴露了原语,这取决于用户如何使用这些原语来解决应用程序中的协调问题. ...

  4. 部署与管理ZooKeeper(版本有点老,3.4.3)

    本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要 ...

  5. Exhibitor(zookeeper监控工具)

    具体看github上的文档,很详细https://github.com/soabase/exhibitor/wiki/Running-Exhibitor 一. 这个是Netflix出品的一个监控工具, ...

  6. ZooKeeper管理员指南——部署与管理ZooKeeper

    1.部署 本章节主要讲述如何部署ZooKeeper,包括以下三部分的内容: 系统环境 集群模式的配置 单机模式的配置 系统环境和集群模式配置这两节内容大体讲述了如何部署一个能够用于生产环境的ZK集群. ...

  7. 分布式服务管理zookeeper的java api

    zookeeper是一个分布式服务管理工具,本身具备高可用性,很多知名分布式系统入hadoop.Hbase等都采用zk管理. 常见的两个应用场景:1.服务的注册与发现 2.集群统一配置 下面看一下使用 ...

  8. 使用Apache Curator管理ZooKeeper(转)

    Apache ZooKeeper是为了帮助解决复杂问题的软件工具,它可以帮助用户从复杂的实现中解救出来. 然而,ZooKeeper只暴露了原语,这取决于用户如何使用这些原语来解决应用程序中的协调问题. ...

  9. 第16章 调色板管理器_16.4 一个DIB位图库的实现(2)

    //接上一篇 //DibPal.h /*----------------------------------------------------------------- DIBPAL.H heade ...

随机推荐

  1. LeetCode 54. Spiral Matrix(螺旋矩阵)

    Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...

  2. 通过 ODBC 访问数据库获取数据集

    Step1:(window 中完成): 控制面板/管理工具/ODBC 数据源/用户 Step2:(window 中完成): 添加/SQL Server Step3:(window 中完成): 自己定义 ...

  3. 纯js实现DIV拖拽

    写代码的时候遇到需要对绝对布局的div进行拖拽的功能,起初为了省事直接在网上扒拉了一番,看到大神张鑫旭的一篇文章<JavaScript实现最简单的拖拽效果>,便直接拿来使用(膜拜大神).但 ...

  4. python 进程池(multiprocessing.Pool)和线程池(threadpool.ThreadPool)的区别与实例

    一般我们是通过动态创建子进程(或子线程)来实现并发服务器的,但是会存在这样一些缺点: 1.动态创建进程(或线程)比较耗费时间,这将导致较慢的服务器响应.  2.动态创建的子进程通常只用来为一个客户服务 ...

  5. hbase的HQuorumPeer和QuorumPeerMain

    hbase是列式数据库,既可以单机也可以以集群的方式搭建,以集群的方式搭建一般建立在hdfs之上. 分布式的hbase如何启动? 首先启动hadoop,然后就来问题了:zookeeper和hbase的 ...

  6. jquery的img的动态title换行

    因业务需要,需要在图片悬浮的时候显示动态加载的title,如果图片的title为固定的可以使用以下方式换行: <img src="1.jpg" title="第一行 ...

  7. python3 xpath数据获取案例

    import requestsfrom retrying import retryfrom lxml import etreeimport json class DaCheng(object): de ...

  8. 【LuaJIT版】从零开始在 macOS 上配置 Lua 开发环境

    前言 这篇文章针对的是基于 LuaJIT 的环境配置.借助于 LuaJIT,Lua 的执行效率可以进一步提升几十倍.如果你不是很清楚自己是需要 Lua 还是 LuaJIT,那么建议你从 LuaJIT ...

  9. C++雾中风景2:struct还是class?

    之前因为都在忙着毕业的开题答辩与投稿论文的事宜,一直没有时间更新这个系列的文章.师弟看了上一篇雾中风景的文章,希望我继续把这个系列的文章写下去.坦白说,C++的特性很多,这也不是教学指南的文章,我会选 ...

  10. 异步获取CMD命令行输出内容

    当控制台命令使用process.Start(); 后可以直接显示输出内容,当然它是异步显示的不用等程序结束.代码如下: using System;using System.Collections.Ge ...