From e5452b053a2b403357f241d32dedf0a9f4f11d06 Mon Sep 17 00:00:00 2001 From: Yang Yuan Date: Tue, 5 Mar 2019 16:22:52 +0800 Subject: [PATCH] make zookeeper transaction log dir configurable. Data in /var/vcap/sys/log directory will be lost if VM were failed and recreated. Specifying dataLogDir as /var/vcap/sys/log may cause zookeeper transaction log lost when VM fail. --- jobs/zookeeper/spec | 3 +++ jobs/zookeeper/templates/zoo.cfg.erb | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/jobs/zookeeper/spec b/jobs/zookeeper/spec index 6fe987c..9d53355 100755 --- a/jobs/zookeeper/spec +++ b/jobs/zookeeper/spec @@ -52,6 +52,9 @@ properties: cnx_timeout: description: "Sets the timeout value for opening connections for leader election notifications" default: 5 + trans_log_dir: + description: "The location of transaction log. If not set, transaction log will be stored under /var/vcap/sys/log/zookeeper" + default: "/var/vcap/sys/log/zookeeper" election_algorim: description: "Election implementation to use" default: 3 diff --git a/jobs/zookeeper/templates/zoo.cfg.erb b/jobs/zookeeper/templates/zoo.cfg.erb index e66f9b3..3a1557e 100755 --- a/jobs/zookeeper/templates/zoo.cfg.erb +++ b/jobs/zookeeper/templates/zoo.cfg.erb @@ -10,7 +10,7 @@ clientPort=<%= peers.p('client_port') %> clientPortAddress=<%= p('listen_address') %> cnxTimeout=<%= p('cnx_timeout') %> dataDir=/var/vcap/store/zookeeper -dataLogDir=/var/vcap/sys/log/zookeeper +dataLogDir=<%= p('trans_log_dir') %> electionAlg=<%= p('election_algorim') %> fsync.warningthresholdms=<%= p('warning_threshold_ms') %> globalOutstandingLimit=<%= p('global_outstanding_limit') %>