Как создать фильтр безопасности для пользовательского интерфейса Spark в Spark на YARN

Среда: AWS EMR, кластер пряжи.

Описание: я пытаюсь использовать java-фильтр для защиты доступа к интерфейсу spark, используя свойство spark.ui.filters; проблема в том, что когда искра работает в режиме пряжи, это свойство всегда переопределяется Hadoop с фильтром org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter:

spark.ui.filters: org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter

и эти два параметра автоматически передаются хаддупом

spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_HOSTS: ip-x-x-x-226.eu-west-1.compute.internal

spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_URI_BASES: http://ip-x-x-x-226.eu-west-1.compute.internal:20888/proxy/application_xxxxxxxxxxxxx_xxxx

Любое предложение о том, как добавить фильтр безопасности Java, чтобы Hadoop не переопределял его, или, может быть, как настроить безопасность со стороны Hadoop?

Спасибо.


person Fernando Castilla Ospina    schedule 09.01.2018    source источник


Ответы (1)


Это решается путем использования свойства hadoop.http.authentication.type для указания пользовательских объектов Java Handler, содержащих логику проверки подлинности. Этот класс должен только реализовать интерфейс org.apache.hadoop.security.authentication.server.AuthenticationHandler. Видеть:

https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/HttpAuthentication.html

person Jhon Anderson Cardenas Diaz    schedule 01.02.2018