I would like to use the etcd driver to run Bookie servers in a production Kubernetes environment, using the cluster's built in etcd service, instead of running an extra Zookeeper cluster. However, it appears the driver implementation is incomplete, there is no implementation provided for LedgerUnderreplicationManager and LedgerAuditorManager. Furthermore, the MetadataClientDriver didn't implement setSessionStateListener(SessionStateListener sessionStateListener), which appears should be a no-op because the etcd client is stateless?
in EtcdLedgerManagerFactory
@Override
public LedgerUnderreplicationManager newLedgerUnderreplicationManager()
throws KeeperException, InterruptedException, CompatibilityException {
throw new UnsupportedOperationException();
}
@Override
public LedgerAuditorManager newLedgerAuditorManager() throws IOException, InterruptedException {
throw new UnsupportedOperationException();
}
Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have).
Are you currently using any workarounds to address this issue?
This issue is a blocker to being able to use Bookkeeper in Kubernetes environment without having to deploy a Zookeeper cluster.
Provide any additional detail on your proposed use case for this feature.
We are trying to reduce the complexity and number of moving parts in our server application architecture, and it seems most logical to utilize the etcd cluster for metadata instead of running and maintaining a standalone cluster of Zookeeper.
There was an old project that is a proxy service which translates the Zookeeper API to etcd calls, but it appears this project is stale/abandoned https://github.com/etcd-io/zetcd
FEATURE REQUEST
I would like to use the etcd driver to run Bookie servers in a production Kubernetes environment, using the cluster's built in etcd service, instead of running an extra Zookeeper cluster. However, it appears the driver implementation is incomplete, there is no implementation provided for
LedgerUnderreplicationManager
andLedgerAuditorManager
. Furthermore, theMetadataClientDriver
didn't implementsetSessionStateListener(SessionStateListener sessionStateListener)
, which appears should be a no-op because the etcd client is stateless?in
EtcdLedgerManagerFactory
This issue is a blocker to being able to use Bookkeeper in Kubernetes environment without having to deploy a Zookeeper cluster.
We are trying to reduce the complexity and number of moving parts in our server application architecture, and it seems most logical to utilize the etcd cluster for metadata instead of running and maintaining a standalone cluster of Zookeeper.
There was an old project that is a proxy service which translates the Zookeeper API to etcd calls, but it appears this project is stale/abandoned https://github.com/etcd-io/zetcd