Невозможно использовать SASL, если безопасность Hadoop не включена

Я пытаюсь получить доступ к accumulo, защищенному с помощью kerberos, это мой фрагмент кода:

Экземпляр inst = новый ZooKeeperInstance (instanceName, zooServers);

KerberosToken kt = новый KerberosToken (основной, f1, ложь);

Соединитель conn = inst.getConnector (основной, kt);

Я получаю исключение следующим образом:

org.apache.accumulo.core.client.AccumuloException: java.lang.RuntimeException: нельзя использовать SASL, если безопасность Hadoop не включена

в 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: нельзя использовать SASL, если безопасность Hadoop не включена.


person Vrushabh Thosar    schedule 26.08.2017    source источник


Ответы (1)


Это ожидаемо. Accumulo обеспечивает аутентификацию SASL для поддержки Kerberos, реализованную в безопасной установке Hadoop. См. документацию здесь.

person Christopher    schedule 28.08.2017
comment
Я уже выполнил все шаги из документации, но все равно получаю ту же ошибку. - person Vrushabh Thosar; 29.08.2017
comment
Возможно, я неправильно понял ваш вопрос. Звучало так, как будто вы говорили, что получили это сообщение об ошибке, потому что безопасность Hadoop была отключена. Вы говорите, что безопасность Hadoop на самом деле включена, но вы все еще получаете сообщение об ошибке? Вы убедились, что ваша конфигурация Hadoop находится на пути к классу вашего клиентского кода? - person Christopher; 30.08.2017
comment
Хорошо, я понял проблему, все дело в конфигурации Hadoop. Спасибо - person Vrushabh Thosar; 01.09.2017