Confulent-Zookeeper
适配:Rainbond
累计购买

6

销售积分:

0

版      本:

v3.4.13

购买企业:
应用详情
<h1><a id="Zookeeper_0"></a>什么是Zookeeper</h1> <p>ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件,也为Kafka集群提供元数据存储。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。<br /> 当前的Zookeeper是基于Confulent Platform的产品制作的,Confluent Platform是一个企业级的管理Kafka集群的流处理平台。提供了完整的Kafka部署方案。</p> <h1><a id="Zookeeper_3"></a>Zookeeper特性</h1> <ul> <li> <p>顺序一致性,从同一个客户端发起的事务请求,最终将会严格地按照其发起顺序被应用到Zookeeper中去。</p> </li> <li> <p>原子性,所有事务请求的处理结果在整个集群中所有机器上的应用情况是一致的,即整个集群要么都成功应用了某个事务,要么都没有应用。</p> </li> <li> <p>单一视图,无论客户端连接的是哪个 Zookeeper 服务器,其看到的服务端数据模型都是一致的。</p> </li> <li> <p>可靠性,一旦服务端成功地应用了一个事务,并完成对客户端的响应,那么该事务所引起的服务端状态变更将会一直被保留,除非有另一个事务对其进行了变更。</p> </li> <li> <p>实时性,Zookeeper 保证在一定的时间段内,客户端最终一定能够从服务端上读取到最新的数据状态。</p> </li> </ul> <h1><a id="_13"></a>配置方式</h1> <p>该Zookeeper应用实现了基于环境变量的配置,常用配置如下:</p> <table> <thead> <tr> <th>环境变量</th> <th>配置说明</th> <th>默认值</th> </tr> </thead> <tbody> <tr> <td>ZOOKEEPER_TICK_TIME</td> <td>ZooKeeper的时间单位转换为毫秒。这将控制所有ZooKeeper与时间有关的操作。特别是用于心跳和超时。请注意,最小会话超时将是两个刻度。</td> <td>2000</td> </tr> <tr> <td>ZOOKEEPER_GLOBAL_OUTSTANDING_LIMIT</td> <td>客户端可以比ZooKeeper更快地提交请求,尤其是在有很多客户端的情况下。为了防止ZooKeeper由于队列中的请求而耗尽内存,ZooKeeper将限制客户端,以便系统中的未完成请求不超过这个值。</td> <td>1000</td> </tr> <tr> <td>ZOOKEEPER_PRE_ALLOC_SIZE</td> <td>为了避免查找,ZooKeeper在事务日志文件中以preAllocSize千字节块的形式分配空间。如果频繁拍摄快照,该值应减小。</td> <td>64M</td> </tr> <tr> <td>ZOOKEEPER_SNAP_COUNT</td> <td>ZooKeeper将事务记录到事务日志中。将snapCount事务写入日志文件后,将启动快照并创建一个新的事务日志文件。</td> <td>100,000</td> </tr> <tr> <td>ZOOKEEPER_MAX_CLIENT_CNXNS</td> <td>限制单个客户端(由IP地址标识)可以与ZooKeeper集成的单个成员建立的并发连接数(在套接字级别),这是为0取消并发限制。</td> <td>60</td> </tr> <tr> <td>ZOOKEEPER_MIN_SESSION_TIMEOUT</td> <td>服务器允许客户端进行协商的最小会话超时,以毫秒为单位。</td> <td>默认为<strong>tickTime的</strong> 2倍</td> </tr> <tr> <td>ZOOKEEPER_MAX_SESSION_TIMEOUT</td> <td>服务器允许客户端进行协商的最大会话超时,以毫秒为单位。</td> <td>默认为<strong>tickTime的</strong> 20倍</td> </tr> <tr> <td>ZOOKEEPER_FSYNC_WARNING_THRESHOLDMS</td> <td>每当事务日志(WAL)中的fsync花费的时间超过此值时,就会向该日志输出警告消息。</td> <td>1000</td> </tr> <tr> <td>ZOOKEEPER_AUTOPURGE_SNAP_RETAIN_COUNT</td> <td>启用后,ZooKeeper自动清除功能会将该值定义数量的最新快照和相应的事务日志分别保留在 <strong>dataDir</strong>和**dataLogDir中,**并删除其余部分。</td> <td>默认值为3。最小值为3</td> </tr> <tr> <td>ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL</td> <td>必须触发清除任务的时间间隔,以小时为单位。</td> <td>设置为正整数(1或更大)以启用自动清除。默认为0</td> </tr> <tr> <td>ZOOKEEPER_SYNC_ENABLED</td> <td>默认情况下,观察者像参与者一样,记录事务并将快照写入磁盘。这减少了重新启动时观察者的恢复时间。</td> <td>true</td> </tr> <tr> <td>ZOOKEEPER_INIT_LIMIT</td> <td>允许followers连接并与leader同步的时间。如果ZooKeeper管理的数据量很大,请根据需要增加此值。</td> <td>以<strong>tickTime</strong>为单位</td> </tr> <tr> <td>ZOOKEEPER_LEADER_SERVES</td> <td>Leader接受客户端连接。leader服务器用于协调更新。为了获得更高的更新吞吐量,而稍稍牺牲读取吞吐量,可以将leader配置为不接受客户端并专注于协调。</td> <td>true</td> </tr> <tr> <td>ZOOKEEPER_SYNC_LIMIT</td> <td>允许followers与ZooKeeper同步的时间。</td> <td>以<strong>tickTime</strong>为单位</td> </tr> </tbody> </table> <h1><a id="_32"></a>可视化</h1> <p>一同发布的ZK-UI组件,是一个简单的可视化操作Zookeeper的服务,可以在web页面中对Zookeeper进行增删改查等操作(需要登陆为admin用户)。<br /> 使用方式很简单,在首个界面中输入zookeeper的连接地址:<code>127.0.0.1:2181</code>即可连接到Zookeeper。<br /> 使用如下凭证登陆,既可以开始操作:</p> <pre><code class="lang-">admin password </code></pre>