Hello Bankim Bhavsar,

I'd like you to do a code review. Please visit

    http://gerrit.cloudera.org:8080/17738

to review the following change.


Change subject: [docker] KUDU-3307: allow using multiple directories
......................................................................

[docker] KUDU-3307: allow using multiple directories

Previously, the Docker entrypoint would by default use a single root
directory, suffixed with either 'master' or 'tserver'. This makes it a
poor fit for production systems that may want to use Docker, since most
reasonable deployments use multple data directories, and don't colocate
WALs and data.

This patch adds a couple of environment variables to the entrypoint,
FS_WAL_DIR and FS_DATA_DIRS, that map directly to the --fs_wal_dir and
--fs_data_dirs gflags that Kudu masters and tservers know and love.

To maintain compatibility with existing guides, the existing single-root
DATA_DIR remains, but the new environment variables, if set, take
precedence.

I also updated the /helm implementation to use this, and updated the
README with steps I used to test the changes: I verified that I could
update the number of directories in kudu/values.yaml, confirming that
the servers used multiple directories. Below is a snippet of the logs
from one tserver with multiple directories. Previously, even with the
number of storage devices set to 3 per server, each server would use a
single directory /var/lib/kudu for storage.

$ kubectl logs kudu-tserver-1
I0730 00:36:07.404302     1 tablet_server_runner.cc:78] Tablet server 
non-default flags:
--use_hybrid_clock=false
--fs_data_dirs=/mnt/disk1,/mnt/disk2,/mnt/disk3,/mnt/disk4
--fs_wal_dir=/mnt/disk0
--webserver_doc_root=/opt/kudu/www
--tserver_master_addrs=kudu-master-0.kudu-masters.default.svc.cluster.local,kudu-master-1.kudu-masters.default.svc.cluster.local,kudu-master-2.kudu-masters.default.svc.cluster.local
--heap_profile_path=/tmp/kudu.1
--stderrthreshold=0

Tablet server version:
kudu 1.16.0-SNAPSHOT
revision 2ceec7749
build type RELEASE
...

A rendered README can be found here:
https://github.com/andrwng/kudu/blob/helm_multidir/kubernetes/helm/README.adoc

Change-Id: I20e5f75c1f1f8280dca60de75255a4a948e44be1
---
M docker/kudu-entrypoint.sh
M kubernetes/helm/README.adoc
M kubernetes/helm/kudu/templates/_helmutils.tpl
M kubernetes/helm/kudu/templates/kudu-service.yaml
M kubernetes/helm/kudu/values.yaml
5 files changed, 144 insertions(+), 30 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/38/17738/1
--
To view, visit http://gerrit.cloudera.org:8080/17738
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I20e5f75c1f1f8280dca60de75255a4a948e44be1
Gerrit-Change-Number: 17738
Gerrit-PatchSet: 1
Gerrit-Owner: Andrew Wong <[email protected]>
Gerrit-Reviewer: Bankim Bhavsar <[email protected]>

Reply via email to