关于Zookeeper的一些疑问

老师,经过学习zookeeper,我的理解是通过zookeeper client 获取znode节点数据时,是将节点数据一次性的全部写入byte字节数组,是这样吗?如果是这样,是不是就意味着zookeeper节点存储的数据信息不易过大,否则内存无法装载,将会导致内存溢出呢?

IT_Angel

赞同来自: wangxiaolei

谢谢,看来我的理解是对的,如果在不修改默认配置的情况下,zookeeper单节点最大可存储数据大小为1M!

wangxiaolei

赞同来自:

zookeeper当然不会像hdfs那样存储数据, 它类似集群工作的协调者 又可以作为最为集群中存放“全局”变量的角色(不适应存放大量) 比如: Hadoop,使用Zookeeper的事件处理确保整个集群只有一个NameNode,存储配置信息等. HBase,使用Zookeeper的事件处理确保整个集群只有一个HMaster,察觉HRegionServer联机和宕机,存储访问控制列表等 Kafka,使用Zookeeper来维护broker的信息。 训练营有道作业题,是让大家熟悉zookeeper的主要操作: 1、创建节点 2、读节点数据 3、更新节点数据 4、删除节点 5、监控节点变化 以及节点的四种类型: PERSISTENT:持久化目录节点,这个目录节点存储的数据不会丢失; PERSISTENT_SEQUENTIAL:顺序自动编号的目录节点,这种目录节点会根据当前已近存在的节点数自动加 1,然后返回给客户端已经成功创建的目录节点名; EPHEMERAL:临时目录节点,一旦创建这个节点的客户端与服务器端口也就是 session 超时,这种节点会被自动删除; EPHEMERAL_SEQUENTIAL:临时自动编号节点。 监控节点变化时,可以监控一个节点的变化,也可以监控一个节点所有子节点的变化。

wangxiaolei

赞同来自:

若关心获取byte的大小,应该看下setData方法写入时的大小。 查阅下zookeeper官方api文档说明 有如下描述:
1479613146704.png
连接是: http://zookeeper.apache.org/do ... .html

要回复问题请先登录注册