commit | 092ebf2a7ec596db0357a072caf123b18a7f29e6 | [log] [tgz] |
---|---|---|
author | Ravi Sharda <ravi.sharda@emc.com> | Mon May 04 15:48:43 2020 +0530 |
committer | GitHub <noreply@github.com> | Mon May 04 12:18:43 2020 +0200 |
tree | 909fd9f969322c5938c0333450f5bb894b7d6b82 | |
parent | 94912a9fdca68391866baf598c36708e406728f8 [diff] |
Issue #2212: Fix issues in Bookkeeper Docker image that prevented containers from starting up Descriptions of the changes in this PR: ### Motivation This PR modifies the Apache Bookkeeper Docker image to fix issues that were causing errors upon container bootstrap. The containers would exit soon after they were launched. See issue #2212 for a description of such an error. Note that the problems that are fixed in this PR were observed: * when launching containers using both Docker Compose and Kubernetes. * when we were trying to upgrade the image to: `4.9.2`. It is highly likely that the issue is observed in other versions (except for `4.7.3`) too. * when launching both a standalone container as well as a cluster of three containers. ### Changes The major changes made in this PR are as follows: * Updates the `Dockerfile` to install `zk-shell`. * Update the `init_bookie.sh` file to: * Use `zk-shell` instead of `/opt/bookkeeper/bin/bookkeeper org.apache.zookeeper.ZooKeeperMain` command that doesn't work. * Use `opt/bookkeeper/bin/bookkeeper shell initnewcluster` for initializing the cluster instead of the previously used command that did not work. * Increase the time a container waits for an in-flight `initnewcluster` operation. * Make the comments more descriptive. * Modifies `bin/common.sh` to handle the condition when file `/proc/sys/net/ipv6/bindv6only` is missing in the system. This can prevent a container from starting up in some cases. We have seen this issue on some Kubernetes-based environments. * Fixes errors in `docker-compose.yml` file. *Note:* Some of the changes made in this PR are modeled after changes made by sijie for `v4.7.2` in PR #1666 . ### Master Issue #2212 Reviewers: Jia Zhai <zhaijia@apache.org>, Enrico Olivelli <eolivelli@gmail.com> This closes #2219 from ravisharda/startup-failure-docker-image, closes #2212
Apache BookKeeper is a scalable, fault tolerant and low latency storage service optimized for append-only workloads.
It is suitable for being used in following scenarios:
You can also read Turning Ledgers into Logs to learn how to turn ledgers into continuous log streams. If you are looking for a high level log stream API, you can checkout DistributedLog.
For filing bugs, suggesting improvements, or requesting new features, help us out by opening a Github issue or opening an Apache jira.
Subscribe or mail the user@bookkeeper.apache.org list - Ask questions, find answers, and also help other users.
Subscribe or mail the dev@bookkeeper.apache.org list - Join development discussions, propose new ideas and connect with contributors.
Join us on Slack - This is the most immediate way to connect with Apache BookKeeper committers and contributors.
We feel that a welcoming open community is important and welcome contributions.
See Developer Setup to get your local environment setup.
Take a look at our open issues: JIRA Issues Github Issues.
Review our coding style and follow our pull requests to learn about our conventions.
Make your changes according to our contribution guide.