13. ZooKeeper最佳实践

如下列举了运行和管理ZooKeeper ensemble的一些最佳实践:服务器

  1. ZooKeeper数据目录包含快照和事务日志文件。若是autopurge选项未启用,按期清理目录是一个好习惯。另外,管理员可能但愿保留这些文件的备份,具体取决于应用程序的须要。可是,因为ZooKeeper是一个复制服务,咱们只须要备份整个ensemble中一台服务器的数据便可。
  2. ZooKeeper使用Apache log4j做为其日志记录基础设施。随着日志文件的规模愈来愈大,建议使用内置的log4j特性来设置日志文件的auto-rollover功能。
  3. 客户端在其链接字符串中使用的ZooKeeper服务器列表必须与每一个ZooKeeper服务器所拥有的ZooKeeper服务器列表相匹配。若是列表不匹配,可能会出现奇怪的行为。
  4. 每一个Zookeeper服务器配置文件中的服务器列表应该与ensemble的其余成员一致。
  5. 如前所述,ZooKeeper事务日志必须在专用设备中进行配置。这对于从ZooKeeper得到最佳性能很是重要。
  6. 应该谨慎选择Java堆大小。在ZooKeeper服务器中不该该容许交换(swapping)。若是ZooKeeper服务器拥有至关高的内存(RAM),状况会更好。
  7. 系统监视工具(如vmstat)可用于监视虚拟内存统计信息,并根据应用程序的须要决定所需内存的最佳大小。不管如何,应该避免交换。
相关文章
相关标签/搜索