我正在尝试使用kerberos访问accumulo,这是我的代码段:
Instance inst = new ZooKeeperInstance(instanceName,zooServers);
KerberosToken kt = new KerberosToken(principal,f1,false);
连接器conn = inst.getConnector(principal,kt);
我得到的异常如下:
org.apache.accumulo.core.client.AccumuloException:java.lang.RuntimeException:如果未启用Hadoop安全性,则无法使用SASL
at org.apache.accumulo.core.client.impl.ServerClient.execute(ServerClient.java:67)
at org.apache.accumulo.core.client.impl.ConnectorImpl.<init>(ConnectorImpl.java:67)
at org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(ZooKeeperInstance.java:248)
at demo.prg1.AccumuloConnection.main(AccumuloConnection.java:49)
引起:java.lang.RuntimeException:如果未启用Hadoop安全性,则无法使用SASL
答案 0 :(得分:0)
这是预期的。 Accumulo提供SASL身份验证以支持Kerberos,这是在安全的Hadoop安装上实现的。请参阅the documentation here。