| 환경 | 방식 |
|---|---|
| CDP Private Cloud Base 7.1.x · 7.3.x | Cloudera Manager 의 Add Service 로 설치 |
| CDP Public Cloud (Data Hub) | 클러스터 템플릿에 포함돼 자동 배포 |
| CDH 5 · 6 | 공식 지원 없음. Apache Livy 바이너리 수동 설치 |
| 순수 Spark | Apache Livy 바이너리 수동 설치 |
Livy 는 Spark 위에서 동작하므로 Spark 3(CDS3) 가 먼저 있어야 한다. CDP 7.1.8 이상은 Spark3 · Livy3 CSD 가 Cloudera Manager 에 내장돼 있어 별도 다운로드가 필요 없고, 그 이전 버전은 CSD 파일을 /opt/cloudera/csd/ 에 넣고 서버를 재시작해야 목록에 나타난다.
systemctl restart cloudera-scm-server
절차는 Parcels 에서 CDS 를 Download → Distribute → Activate 한 뒤, Add Service 로 Spark 3 를 올리고, 다시 Add Service 로 Livy for Spark 3 를 올리는 순이다.
Hue 노트북에서 Spark · PySpark · Spark SQL 을 돌릴 때 백엔드가 Livy 다. 연동은 Livy URL 을 알려주는 것, 노트북 인터프리터를 등록하는 것, 그리고 impersonation 권한을 주는 것 세 가지로 끝난다.
먼저 Livy 가 살아 있고 Hue 호스트에서 8998 이 열리는지 확인한다.
curl -s http://<livy-host>:8998/sessions
Hue 가 사용자 권한으로 작업을 제출하려면 HDFS proxyuser 가 필요하다. Cloudera Manager → HDFS → Configuration 에서 core-site.xml safety valve 를 검색해 Cluster-wide Advanced Configuration Snippet 에 넣는다.
<property>
<name>hadoop.proxyuser.hue.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hue.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.livy.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.livy.hosts</name>
<value>*</value>
</property>
Hue 쪽은 hue_safety_valve.ini 에 Livy 주소와 노트북 인터프리터를 등록한다.
[spark]
livy_server_url=http://<livy-host>:8998
[notebook]
[[interpreters]]
[[[pyspark]]]
name=PySpark
interface=livy
[[[sparksql]]]
name=SparkSql
interface=livy
Kerberos 환경이면 Hue · Livy · Spark · HDFS 의 principal 과 keytab 이 모두 정상이어야 하고, 그 뒤에 HDFS 와 Hue 를 재시작한다.