YARN queue ACL for Spark
YARN으로 강화하는 Spark 보안 대책
Spark 자체가 제공하는 보안 대책 외에 YARN의 Capacity Scheduler를 사용함으로써 RM에 대해 애플리케이션 등록 시 인증을 걸 수 있다. 조금 시간 끊어져 왔으므로, 자세한 것은 또 나중에 추기.
YARN 스케줄러가 가진 큐
YARN의 Capacity Scheduler와 Fair Scheduler는 애플리케이션 등록을 수락하는 큐를 가지고 있으며, 이들은 UNIX 사용자/그룹 기반 ACL을 곱할 수 있다. 이렇게하면 Spark 응용 프로그램을 실행하는 각 사용자에 대해 응용 프로그램 등록 여부를 제어 할 수 있습니다. Capacity Scheduler의 경우, 복수의 큐를 가질 수 있으므로, 큐 단위로의 유저의 이용 제한을 곱할 수도 있다.
다음은 Capacity Scheduler의 설정 예. default라는 큐에 대해 yuta라는 UNIX 사용자가 애플리케이션을 등록하거나 kill할 수 있도록 하려면 capacity-scheduler.xml에 다음과 같은 설정을 한다.
<property>
<name>yarn.scheduler.capacity.root.acl_administer_queue</name>
<value></value>
</property>
<property>
<name>yarn.scheduler.capacity.root.acl_submit_applications</name>
<value></value>
</property>
<property>
<name>yarn.scheduler.capacity.root.default.acl_administer_queue</name>
<value>yuta</value>
</property>
<property>
<name>yarn.scheduler.capacity.root.default.acl_submit_applications</name>
<value>yuta</value>
</property>
주의해야 할 점으로
yarn.scheduler.capacity.root.acl_administer_queue
와 yarn.scheduler.capacity.root.acl_submit_applications
보다 상위의 설정의 디폴트치가 *(全許可)
하지만 제한이 효과가 없다. 이 거동은 어때? 라고 하는 이야기는 Spark and YARN 로 논의되고 있지만, 우선 이대로 방치되는 모양.위와 같은 설정을 Ambari에서 실시한다면 이런 느낌이다.
왼쪽이 루트 설정, 오른쪽이 default 큐 설정
YARN-1941
Apache Ranger로 사용자/그룹 관리
사용자나 그룹의 관리는

Apache Ranger
멀티 테넌트 Spark 클러스터 운영
어제 포스트에서

이러한 환경에서는 capacity-scheduer.xml의 업데이트로 이용 사용자나 그룹을 관리하는 것은 운용의 번거로움이 걸린다. 이런 경우에는 전술한 Apache Ranger를 사용하여 아래와 같은 구성을 취하는 것이 베터라고 할 수 있다.
Spark는 YARN에서 움직여야합니까?
요약
YARN은 큐의 ACL을 가지고 있기 때문에, Spark에 대해 「누가 어플리케이션 등록할 수 있을까」라고 하는 유저/그룹 단위로의 제어를 제공해 준다. 또한 Apache Ranger와 조합하면 사용자/그룹 관리를 LDAP 등으로 외출 할 수 있습니다. 그래서 다수의 사용자가 이용하는 Spark의 클러스터에 매치한다.
그래서 Spark의 클러스터 매니저에 YARN을 선택하는 것의 하나의 장점으로 "멀티 테넌트 환경 관리가 쉽다"고 말할 수 있다.
Disclaimer
이것은 개인의 의견이며 내 고용주를 대표하지 않습니다.
Reference
이 문제에 관하여(YARN queue ACL for Spark), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/imaifactory/items/d9204e65c9df9600cf3f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)