xcc的博客

记录技术方面的日常

Kafka学习之consumer配置(0.8.1版)

group.id 默认值:无 唯一的指明了consumer的group的名字,group名一样的进程属于同一个consumer group。   zookeeper.connect 默认值:无 指定了ZooKeeper的connect string,以hostname:port的形式,ho...

2015-01-04 16:19:30

阅读数 16661

评论数 0

Kafka学习之producer配置(0.8.1版)

metadata.broker.list 默认值:无,必填 格式为host1:port1,host2:port2,这是一个broker列表,用于获得元数据(topics,partitions和replicas),建立起来的socket连接用于发送实际数据,这个列表可以是broker的一个子集,或...

2015-01-04 16:19:24

阅读数 1667

评论数 0

ZooKeeper学习之client connect string的管理

如果我们要写一个ZooKeeper的client程序,那么有一个相关的配置:connect string,它通常以用逗号分隔的host:port对来表示。host可以用一个IP地址或hostname来表示。使用一个hostname提供了一个中间层将服务器标识与实际的IP隔离开来,这样即使管理员变动...

2015-01-04 16:19:12

阅读数 3578

评论数 1

ZooKeeper学习之配置【7】ensemble配置

quorum这个概念深深嵌入了ZooKeeper的设计中,尤其是当处理请求和在replicate模式中进行选举leader时尤为相关。如果ZooKeeper的各个server的quorum起来(up)时,ensemble才能继续(make progress)。 Majority Rules 当...

2015-01-04 16:19:06

阅读数 1474

评论数 0

ZooKeeper学习之Observer模式及其配置

除了leader和follow模式之外,还有第三种模式:observer模式。observer和follower在一些方面是一样的。详细点来讲,他们都向leader提交proposal。但与follower不同,observer不参与投票的过程。它简单的通过接收leader发过来的INFORM消息...

2015-01-04 16:19:00

阅读数 3147

评论数 0

ZooKeeper学习之配置【6】日志配置

ZooKeeper使用SLF4J(the Simple Logging Facade for Java)作为日志的抽象层,默认使用Log4J来做实际的日志工作。使用2层日志抽象看起来真是够呛,这里简要的说明如何来配置Log4J。尽管Log4J非常灵活且强大,但它也有一些复杂,可以用一整本书来描述它...

2015-01-04 16:18:54

阅读数 13654

评论数 0

ZooKeeper学习之配置【5】不安全的选项

下面这些选项也许会有用,但使用的时候一定要小心,他们只适用于一些特殊的场景,其中的大多数选项一般是不需要进行配置的。    forceSync 决定了写进去的数据是否应该sync到磁盘(zookeeper.forceSync),yes或者no。 默认值为yes,在数据被sync到磁盘之前,...

2015-01-04 16:18:48

阅读数 2687

评论数 0

ZooKeeper学习之配置【4】集群配置

当配置一个集群时,我们需要为每一个server配置好时间相关的参数,并指定一个server列表,这样server之间就能彼此连接并检测失败。这些配置必须在所有server中保持一致。   initLimit 此值的作用是一个follower初始化连接到leader的超时时间,单位是tickT...

2015-01-04 16:18:42

阅读数 1025

评论数 0

ZooKeeper学习之配置【3】网络配置

下面这些配置对client与server之间的连接和超时时间进行了限制。   globalOutstandingLimit 这个配置指定了等待处理的最大请求数量的限制(zookeeper.globalOutstandingLimit)。 client发送请求的速度可能会比server端处理...

2015-01-04 16:18:36

阅读数 2339

评论数 2

ZooKeeper学习之配置【2】存储配置

本文涵盖了更多的高级配置,包括了standalone模式和ensemble模式。不设置它们也能让ZooKeeper工作得很好,但是其中的一些应该需要好好配置一些(比如dataLogDir)。   preAllocSize 为每个事务日志文件预分配(preallocate)的大小,单位为kil...

2015-01-04 16:18:30

阅读数 1177

评论数 0

ZooKeeper学习之配置【1】基本配置

ZooKeeper的设计对开发人员来说很友好,但同时也对运维人员友好。当集群越来越大时,管理操作也便得复杂起来,稳妥的管理也变得重要起来。ZooKeeper应该是一个标准的分布式系统组件,一个运维团队可以轻松的学习并管理它。虽说ZooKeeper很容易跑起来,但对于一些配置选项必须牢记在心。你应该...

2015-01-04 16:18:23

阅读数 831

评论数 0

ZooKeeper学习之文件系统的布局和格式

本文来谈谈快照文件,事务日志文件在文件系统中是如何存放的。   写事务日志是事务处理的关键步骤,所以高度建议在一个独立的磁盘上存储。快照不需要在独立的磁盘存储,因为它们是由一个后台线程以懒汉式的(lazily)方式产生的。 存储快照的路径是由DataDir参数指定的,事务日志的路径则是由Da...

2015-01-04 16:18:18

阅读数 4277

评论数 0

ZooKeeper学习之本地存储(事务日志与快照)

在上一篇的server代码骨架中已提到,当处理proposal时,是由SyncRequestProcessor来处理的,下面就来对这其中的操作做更详细的分析。 日志和磁盘使用情况 server是使用事务日志来持久化事务的。在accept一个proposal请求之前,server(followe...

2015-01-04 16:18:12

阅读数 1674

评论数 0

ZooKeeper学习之server端实现的基本骨架

在ZK的源码中,leader,follower和observers的代码结构是高度统一的。在实现中主要的抽象就是request processor了。在处理消息的流水线(pipeline)中有很多不同的阶段,一个request processor代表其中的一个阶段,每一种server类型(无论le...

2015-01-04 16:18:06

阅读数 1150

评论数 0

ZooKeeper学习之运维工具zkweb

这是淘宝上的开源项目,地址:http://code.taobao.org/p/zkweb/wiki/index/   这是一个Java写的web应用程序,可以通过浏览器查看,管理ZooKeep上的数据,可以方便管理。 此外还有一些其他的类似程序,先不去看了,这个暂时能满足需求了。 简单起见...

2015-01-04 16:17:59

阅读数 15178

评论数 0

ZooKeeper学习之运维工具zktop

如果你喜欢命令行式交互型的监控,不妨使用这个小工具。   github地址:https://github.com/phunt/zktop   Summary This project provides a unix “top” like utility for ZooKeeper.提供...

2015-01-04 16:17:53

阅读数 1885

评论数 1

ZooKeeper学习之关于Client和序列化

关于client   在client library中有2个主要的类:ZooKeeper和ClientCnxn。ZooKeeper类实现了大部分API,写client应用程序时必须实例化这个对象来建立一个session。一旦建立起一个session,ZooKeeper使用一个ID来关连这个se...

2015-01-04 16:17:47

阅读数 1330

评论数 0

ZooKeeper学习之关于Servers和Sessions

Session是Zookeeper的一个重要的抽象。有序的保证,ephemeral znode,watch都与session紧紧关联。 session的跟踪机制也是很重要的一块。   ZooKeeper server的一个重要任务就是跟踪并维护这些session。运行于standalone模...

2015-01-04 16:17:41

阅读数 650

评论数 0

ZooKeeper学习之关于Servers和Watches

watch是由read operation设置的一次性触发器,由一个特定operation来触发。为了在server端管理watch,ZK的server端实现了watch manager。一个WatchManager类的实例负责管理当前已被注册的watch列表,并负责触发它们。所有类型的serve...

2015-01-04 16:17:35

阅读数 723

评论数 0

ZooKeeper学习之client connect string的管理

如果我们要写一个ZooKeeper的client程序,那么有一个相关的配置:connect string,它通常以用逗号分隔的host:port对来表示。host可以用一个IP地址或hostname来表示。使用一个hostname提供了一个中间层将服务器标识与实际的IP隔离开来,这样即使管理员...

2014-07-01 14:30:12

阅读数 34

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭