<< Click to Display Table of Contents >> Zookeeper环境要求 |
VooltDB部署支持单节点和集群部署两种方式,使用集群部署可以提高系统高可用能力。如果部署VooltDB集群,则需要提前部署一套可用的ZooKeeper集群,用于管理调度各VooltDB节点。
Zookeeper版本要求3.4.9及以上,单个Zookeeper安装目录建议预留空间100G以上,Zookeeper对硬件I/O要求较高,建议使用固态硬盘单独部署。ZooKeeper集群的规划和部署建议满足Zookeeper高可用,部署奇数台服务器。VooltDB需要使用一套独立的Zookeeper集群,为VooltDB提供服务,建议不要和其他的服务共用Zookeeper集群。
为了VooltDB集群稳定高效的运行,需要在Zookeeper的配置文件zoo.cfg中增加如下的配置项:
配置项 |
值 |
说明 |
autopurge.purgeInterval= |
1 |
设置多少小时清理一次交互日志 |
autopurge.snapRetainCount= |
10 |
zookeeper也会将内存中的数据作为snapshot保存下来,该配置可以设置保留多少个snapshot |
snapCount= |
3000000 |
每进行snapCount次事务日志输出后,触发一次快照(snapshot), 此时,ZK会生成一个snapshot.*文件,同时创建一个新的事务日志文件log.*。默认是100000 |
leaderServes= |
yes |
默认情况下,Leader是会接受客户端连接,并提供正常的读写服务。但是,如果你想让Leader专注于集群中机器的协调,那么可以将这个参数设置为no,这样一来,会大大提高写操作的性能。 |
standaloneEnabled= |
false |
Zookeeper使用集群模式 |
maxSessionTimeout= |
60000000 |
Session超时时间限制 |
preAllocSize= |
131072 |
预先开辟磁盘空间,用于后续写入事务日志。 |
tickTime= |
10000 |
ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。 |
syncLimit= |
10 |
在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。 |
initLimit= |
10 |
Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。 |