如果未启用Hadoop安全性,则无法使用SASL

时间:2017-08-26 19:33:38

标签: java hadoop kerberos sasl accumulo

我正在尝试使用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

1 个答案:

答案 0 :(得分:0)

这是预期的。 Accumulo提供SASL身份验证以支持Kerberos,这是在安全的Hadoop安装上实现的。请参阅the documentation here