Java访问Kudu报NoLeaderFoundException异常

通过Java API访问Kudu时报NoLeaderFoundException错误,是找不到master节点中的leader角色,一般应该将Kudu中所有的master节点都写进代码中,但若还是报这个错误的话,就是写的格式有问题。

KuduClient client = new KuduClient.KuduClientBuilder("192.168.1.10,192.168.1.11,192.168.1.12").build();
KuduSession session = client.newSession(SessionConfiguration.FlushMode.MANUAL_FLUSH);
session.setFlushMode(FKConf.mode);
session.setMutationBufferSpace(10000);
session.setFlushInterval(1000);

这个时候可以通过kudu命令行来查看一下,我这里使用是impala连接的Kudu,在命令行中使用show create table查看表的建表结构,从TBLPROPERTIES中可以查看到master地址,代码中的必须与TBLPROPERTIES一致,TBLPROPERTIES是主机名,代码中也必须是主机名,TBLPROPERTIES中是IP,代码中也必须是IP。

PARTITION BY HASH (id) PARTITIONS 3
STORED AS KUDU                     
TBLPROPERTIES ('kudu.master_addresses'='master01,master02,master03')

你可能感兴趣的:(Kudu)