일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spring
- 레디스
- 젠킨스
- Mac
- vue
- Docker
- ec2
- 간단
- fastcampus
- java
- EMR
- Zeppelin
- hive
- 설정
- Kafka
- login
- aws
- Redis
- 자바
- 클러스터
- config
- Jenkins
- 머신러닝
- redash
- 자동
- 로그인
- 예제
- Cluster
- SpringBoot
- gradle
- Today
- Total
코알못
[Zeppelin] 노트 저장 경로 local > S3 로 변경 본문
EMR zeppelin에서 노트 실행시 기본으로 저장되는 경로는 아래와 같다.
- '/etc/zeppelin/conf/zeppelin-env.sh' 파일의 'ZEPPELIN_NOTEBOOK_DIR' 설정값
설정값이 '/var/lib/zeppelin/notebook'이며 마스터 노드의 로컬 해당 경로에 저장 된다.
EMR 의 경우 일시정지가 없어 재기동시 모든 데이터가 날라가 아래 AWS 공식 문서와 같이 S3로 직접 백업해야 했다.
# AWS 가이드
https://docs.aws.amazon.com/whitepapers/latest/teaching-big-data-skills-with-amazon-emr/back-up-zeppelin-notebook-notes.html
불편하므로 zeppelin 설정을 통해 저장소를 local > S3 로 변경 하도록 하자!
우선 저장할 디렉토리를 미리 생성한다.
저자의 경우 'A' 버킷의 'B' 디렉토리에 저장하도록 하며 아래와 같이 미리 만들어둔다.
- 생성할 경로 : S3://A/B/notebook
그리고 '/etc/zeppelin/conf/zeppelin-site.xml' 파일의 설정을 추가/변경한다.
<property>
<name>zeppelin.notebook.storage</name>
<value>org.apache.zeppelin.notebook.repo.S3NotebookRepo</value>
<description>notebook persistence layer implementation</description>
</property>
<property>
<name>zeppelin.notebook.s3.bucket</name>
<value>A</value>
<description>bucket name for notebook storage</description>
</property>
<property>
<name>zeppelin.notebook.s3.user</name>
<value>B</value>
<description>user name for s3 folder structure</description>
</property>
<property>
<name>zeppelin.notebook.s3.endpoint</name>
<value>s3.ap-northeast-2.amazonaws.com</value>
<description>endpoint for s3 bucket</description>
</property>
<property>
<name>zeppelin.notebook.s3.timeout</name>
<value>120000</value>
<description>s3 bucket endpoint request timeout in msec.</description>
</property>
zeppelin 재기동을 진행하면
$ sudo systemctl restart zeppelin
정상적으로 S3 에 저장 된 것을 볼 수 있다.
디렉토리 경로의 경우 하위에 여러 디렉토리가 있어도 되며 예를 들어 'A' 버킷의 'B/C' 디렉토리 안에 저장하기를 원한다면 아래와 같이 경로를 미리 생성하며
- 생성할 경로 : S3://A/B/C/notebook
아래와 같이 설정하면 된다.
<property>
<name>zeppelin.notebook.storage</name>
<value>org.apache.zeppelin.notebook.repo.S3NotebookRepo</value>
<description>notebook persistence layer implementation</description>
</property>
<property>
<name>zeppelin.notebook.s3.bucket</name>
<value>A</value>
<description>bucket name for notebook storage</description>
</property>
<property>
<name>zeppelin.notebook.s3.user</name>
<value>B/C</value>
<description>user name for s3 folder structure</description>
</property>
<property>
<name>zeppelin.notebook.s3.endpoint</name>
<value>s3.ap-northeast-2.amazonaws.com</value>
<description>endpoint for s3 bucket</description>
</property>
<property>
<name>zeppelin.notebook.s3.timeout</name>
<value>120000</value>
<description>s3 bucket endpoint request timeout in msec.</description>
</property>
위 옵션은 아래와 같이 JsonConfig 를 주어 EMR 기동시점에 적용 되도록 할 수 있다.
{
"Classification": "zeppelin-site",
"Properties": {
"zeppelin.notebook.storage":"org.apache.zeppelin.notebook.repo.S3NotebookRepo",
"zeppelin.notebook.s3.bucket": "A",
"zeppelin.notebook.s3.user": "B/C",
"zeppelin.notebook.s3.endpoint": "s3.ap-northeast-2.amazonaws.com",
"zeppelin.notebook.s3.timeout": "120000"
}
}
# zeppelin 가이드
https://zeppelin.apache.org/docs/0.5.5-incubating/storage/storage.html
끝!!
'ETC' 카테고리의 다른 글
[kubernetes] 쿠버네티스란? (0) | 2023.04.23 |
---|---|
[Docker] Nexus - docker image repository 이용 실습 (0) | 2023.04.03 |
[EKS] 알아보자! (0) | 2023.03.29 |
[Docker] Nexus - meven proxy로 활용하여 빠른 빌드 실습 (0) | 2023.03.25 |
[Docker] 이미지 취약점 분석을 위한 Clair 설치 및 이용 방법 (0) | 2023.03.22 |