Невозможно записать журнал через Distibutedlog в бухгалтерскую книгу
У меня есть 3-х узловый кластер бухгалтера и зоопарка, и я пытаюсь использовать Distributedlog [Версия 0.3.51-RC1] поверх Bookeeper [Версия 4.6.1] и Zookeeper [Версия 3.4.10].
Я в состоянии записать журнал в бухгалтерскую книгу через Bookeeper и Zookeeper в обычном режиме, но я не могу записать в бухгалтерскую книгу через Distibutedlog... Что мне не хватает в коде?
Код:
public class test1 {
public static void main(String[] args) throws BKException, IOException {
URI myUri = URI.create("distributedlog://<ZK_serverIP>:2181/<Path>");
DistributedLogConfiguration conf = new DistributedLogConfiguration();
conf.setImmediateFlushEnabled(true);
conf.setOutputBufferSize(0);
conf.setPeriodicFlushFrequencyMilliSeconds(0);
conf.setLockTimeout(DistributedLogConstants.LOCK_IMMEDIATE);
DistributedLogNamespace namespace = DistributedLogNamespaceBuilder.newBuilder().conf(conf).uri(myUri)
.regionId(DistributedLogConstants.LOCAL_REGION_ID).clientId("console-writer").build();
DistributedLogManager dlm = namespace.openLog("basic-stream-1");
byte[] data ="Srivathsan".getBytes();
LogRecord record = new LogRecord(System.currentTimeMillis(), data);
AsyncLogWriter writer=null;
try {
writer = FutureUtils.result(dlm.openAsyncLogWriter());
}catch (Exception e) {
e.printStackTrace();
}
@SuppressWarnings("unchecked")
Future<DLSN> writeFuture = (Future<DLSN>) writer.write(record);
FutureUtils.result(writer.asyncClose());
}