如何使用curator处理setData()的返回值

时间:2014-08-13 07:56:47

标签: apache-zookeeper apache-curator

如果我想用

更新Zookeeper中的数据
  

client.setData()。forPath(“/ demo / path”,“other data”.getBytes())

如果

,它会成功吗?
  1. ZooKeeper很好
  2. 客户很好
  3. 路径存在
  4. 你有正确的
  5. 为此我读了一篇文章,它说只有NN服务器的2N + 1服务器认为更新操作成功,然后它成功,如果少于N个服务器认为它没问题,它会返回FAIL,并且我该如何处理这些情况

    http://blog.cloudera.com/blog/2009/12/observers-making-zookeeper-scale-even-further/

1 个答案:

答案 0 :(得分:-1)

使用" client.setData()。forPath(“/ demo / path”,“other data”.getBytes())"设置数据时.......如果数据写入成功,它将返回一个统计结构。

  1. 如果节点没有退出,则会抛出异常。所以它是 总是建议检查" client.Exits()"在设置数据之前。
  2. 当客户端没有ACL权限时,将在其中提及     统计结构。
  3. 内部第一个数据被写入主设备,然后写入其他从设备。 如果你有一个2N + 1服务器的集合..你需要至少N个服务器运行该集合才能运行。

    希望这能解决您的问题