У нас есть один локальный ambari HDP кластер 2.6.0.0, в котором включен Kerberos, а также Ranger, Kafka также установлен в качестве компонента.
Мы использовали этот локальный Ambari Infra SolrCloud в качестве Range Audit.
Вначале журнал аудита рейнджера отображается правильно, но через некоторое время мы получили ошибку, подобную приведенной ниже:
Ошибка при запуске запроса solr, пожалуйста, проверьте конфиги solr.Не удалось найти исправный узел для обработки запроса.
Теперь, по предложению Google, я узнал, что необходимо удалить коллекцию ranger_audits и перезапустить Ranger.
Поскольку мы включили kerberos в этом кластере Ambari, теперь перейдите по ссылке ниже, чтобы попытаться удалить коллекцию:
https://community.hortonworks.com/articles/96618/how-to-clean-up-recreate-collections-on-ambari-inf.html
, но после успешного завершения Kinit и запустите приведенный ниже CURL.чтобы попытаться удалить коллекцию:
curl -i -v --negotiate -u : "http://<My_Host_FQDN>:8886/solr/admin/collections?action=DELETE&name=ranger_audits"
Я получил следующее исключение:
<response>
<lst name="responseHeader"><int name="status">500</int><int name="QTime">0</int></lst><lst name="error"><str name="msg">KeeperErrorCode = AuthFailed for /overseer/collection-queue-work/qnr-</str><str name="trace">org.apache.zookeeper.KeeperException$AuthFailedException: KeeperErrorCode = AuthFailed for /overseer/collection-queue-work/qnr-
at org.apache.zookeeper.KeeperException.create(KeeperException.java:123)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783)
at org.apache.solr.common.cloud.SolrZkClient$9.execute(SolrZkClient.java:380)
at org.apache.solr.common.cloud.SolrZkClient$9.execute(SolrZkClient.java:377)
at org.apache.solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:60)
at org.apache.solr.common.cloud.SolrZkClient.create(SolrZkClient.java:377)
at org.apache.solr.cloud.OverseerTaskQueue.createData(OverseerTaskQueue.java:168)
at org.apache.solr.cloud.OverseerTaskQueue.offer(OverseerTaskQueue.java:189)
at org.apache.solr.handler.admin.CollectionsHandler.handleResponse(CollectionsHandler.java:255)
at org.apache.solr.handler.admin.CollectionsHandler.handleRequestBody(CollectionsHandler.java:195)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:155)
at org.apache.solr.servlet.HttpSolrCall.handleAdminRequest(HttpSolrCall.java:660)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:441)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:499)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745)
</str><int name="code">500</int></lst>
</response>
Кажется, авторизация Zookeeper не удалась?
Вот что я получил:
[zk: <ZK_HOST>:2181(CONNECTED) 5] getAcl /infra-solr/overseer
'sasl,'infra-solr
: cdrwa
'world,'anyone
: r
Но я думаю, что кажется, что мы НЕ можем получить авторизацию с помощью /etc/security/keytabs/ambari-infra-solr.service.keytab
& Zookeeper keytab одновременно?
Тогда Как я могу получить авторизацию для удаления этой коллекции?
Спасибо.