You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by zh...@apache.org on 2017/09/18 23:23:34 UTC
[bookkeeper] branch master updated: ISSUE #515: Run bookies using
hostIP instead of containerIP in k8s
This is an automated email from the ASF dual-hosted git repository.
zhaijia pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new eba4d6e ISSUE #515: Run bookies using hostIP instead of containerIP in k8s
eba4d6e is described below
commit eba4d6e5d7eab8beab699c6dba8ac41e5ceec3db
Author: Sijie Guo <si...@apache.org>
AuthorDate: Tue Sep 19 07:23:24 2017 +0800
ISSUE #515: Run bookies using hostIP instead of containerIP in k8s
Descriptions of the changes in this PR:
- use `status.hostIP` rather than `status.containerIP`. so the identifier (ip) of a bookie pod will not be changed after it is restarted.
- use `adverstiseAddress` to advertise hostip as the ip of a bookie pod
- change it to use `hierarchical` ledger manager
Author: Sijie Guo <si...@apache.org>
Reviewers: Jia Zhai <None>, Matteo Merli <mm...@apache.org>
This closes #516 from sijie/run_bookie_using_hostport_bk, closes #515
---
bookkeeper-server/conf/bk_server.conf | 3 +++
deploy/kubernetes/gke/bookkeeper.yaml | 21 ++++++++++++++++-----
2 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/bookkeeper-server/conf/bk_server.conf b/bookkeeper-server/conf/bk_server.conf
index d3667b2..1bf3754 100755
--- a/bookkeeper-server/conf/bk_server.conf
+++ b/bookkeeper-server/conf/bk_server.conf
@@ -380,6 +380,9 @@ ledgerDirectories=/tmp/bk-data
# Ledger Manager Class
# What kind of ledger manager is used to manage how ledgers are stored, managed
# and garbage collected. Try to read 'BookKeeper Internals' for detail info.
+ledgerManagerFactoryClass=org.apache.bookkeeper.meta.HierarchicalLedgerManagerFactory
+
+# @Drepcated - `ledgerManagerType` is deprecated in favor of using `ledgerManagerFactoryClass`.
# ledgerManagerType=flat
# Root Zookeeper path to store ledger metadata
diff --git a/deploy/kubernetes/gke/bookkeeper.yaml b/deploy/kubernetes/gke/bookkeeper.yaml
index e001740..4f36266 100644
--- a/deploy/kubernetes/gke/bookkeeper.yaml
+++ b/deploy/kubernetes/gke/bookkeeper.yaml
@@ -26,10 +26,12 @@ metadata:
data:
BK_BOOKIE_EXTRA_OPTS: "\"-Xms1g -Xmx1g -XX:MaxDirectMemorySize=1g -XX:+UseG1GC -XX:MaxGCPauseMillis=10 -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+AggressiveOpts -XX:+DoEscapeAnalysis -XX:ParallelGCThreads=32 -XX:ConcGCThreads=32 -XX:G1NewSizePercent=50 -XX:+DisableExplicitGC -XX:-ResizePLAB\""
BK_bookiePort: "3181"
- BK_journalDirectory: "/data/bookkeeper/journal"
+ BK_journalDirectory: "/bookkeeper/data/journal"
BK_ledgerDirectories: "/bookkeeper/data/ledgers"
BK_indexDirectories: "/bookkeeper/data/ledgers"
- BK_zkServers: zk-0.zookeeper,zk-1.zookeeper,zk-2.zookeeper
+ BK_zkServers: zookeeper
+ # the default manager is flat, which is not good for supporting large number of ledgers
+ BK_ledgerManagerType: "hierarchical"
# TODO: Issue 458: https://github.com/apache/bookkeeper/issues/458
#BK_statsProviderClass: org.apache.bookkeeper.stats.PrometheusMetricsProvider
---
@@ -72,11 +74,20 @@ spec:
command: [ "/bin/bash", "/opt/bookkeeper/entrypoint.sh" ]
args: ["/opt/bookkeeper/bin/bookkeeper", "bookie"]
ports:
- - containerPort: 3181
- name: client
+ - name: client
+ containerPort: 3181
+ # we are using `status.hostIP` for the bookie's advertised address. export 3181 as the hostPort,
+ # so that the containers are able to access the host port
+ hostPort: 3181
envFrom:
- configMapRef:
name: bookie-config
+ env:
+ - name: BK_advertisedAddress
+ valueFrom:
+ fieldRef:
+ fieldPath: status.hostIP
+
volumeMounts:
- name: journal-disk
@@ -141,4 +152,4 @@ spec:
args: ["/opt/bookkeeper/bin/bookkeeper", "autorecovery"]
envFrom:
- configMapRef:
- name: bookie-config
\ No newline at end of file
+ name: bookie-config
--
To stop receiving notification emails like this one, please contact
['"commits@bookkeeper.apache.org" <co...@bookkeeper.apache.org>'].