- 인쇄
- PDF
Data Forest CLI 사용
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
Data Forest는 CLI(Command Line Interface, 명령줄 인터페이스)를 제공합니다. 사용자는 Data Forest CLI 이용 시 GPU를 동적으로 할당받아 원하는 딥러닝 솔루션과 프로그램을 실행시킬 수 있습니다. 이 가이드에서는 이용 시나리오에 기반한 Data Forest CLI 사용 방법을 설명합니다.
사전 작업
Data Forest의 계정 및 노트북 생성 및 클러스터 환경 구성 작업이 필요합니다.
- 네이버 클라우드 플랫폼의 콘솔에 접속해 주십시오.
- Services > Big Data & Analytics > Data Forest > Accounts 메뉴에서 [계정 생성] 버튼을 클릭해 주십시오.
- Data Forest 앱을 제출할 계정을 생성해 주십시오.
- Services > Big Data & Analytics > Data Forest > Notebooks > [노트북 생성] 버튼을 클릭하고 노트북을 생성해 주십시오.
- Data Forest 클러스터에 접속할 수 있도록 환경 구성 작업을 진행해 주십시오.
- 환경 구성 방법은 Data Forest 시작을 참조해 주십시오.
Data Forest CLI 사용
Step1. 노트북 정보 확인
노트북 상세 정보를 확인하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼의 콘솔에서 Services > Big Data & Analytics > Data Forest 메뉴를 차례대로 클릭해 주십시오.
- 좌측의 Notebooks 메뉴를 클릭해 주십시오. 사용자가 생성한 노트북의 목록을 볼 수 있습니다.
이름 설명 노트북 이름 생성된 노트북 이름 계정 노트북을 소유한 계정 노트북 타입 생성한 노트북 타입. 현재 Jupyterlab 타입만 제공 상태 노트북 노드의 상태 서버 스펙 노트북 노드의 서버 스펙 VPC 노트북이 생성된 VPC Subnet 노트북 노드에 적용된 Subnet 생성 시간 노트북이 생성된 날짜와 시간 - 노트북 목록 끝에 있는 [버튼] 을 클릭한 후 노트북의 상세 정보를 확인해 주십시오.
항목 설명 계정 이름 노트북을 소유한 계정 노트북 타입 생성한 노트북 타입. 현재 Jupyterlab 타입만 제공 노트북 이름 생성된 노트북 이름 노트북 아이디 노트북의 고유한 아이디 서버 사양 노트북 노드의 서버 스펙 VPC 노트북이 생성된 VPC Subnet 노트북 노드에 적용된 Subnet ACG 노트북 노드에 적용된 ACG 추가 스토리지 추가 스토리지 정보 도메인 공인 IP에 할당된 도메인 인증키 이름 노트북에 적용된 인증키 이름 SSH 접속 계정 노트북 노드에 SSH로 직접 접속하기 위한 OS 계정명 사용자 설정 노트북에 적용된 사용자 설정 정보 Bucket Object Storage Bucket 정보
노트북 웹 페이지 접속
노트북의 웹 페이지에 접속하는 방법은 다음과 같습니다.
- 사전 작업으로 웹 페이지에 접속할 Notebook의 ACG에 JupyterLab의 허용포트 80을 추가해 주십시오.
- Notebooks 메뉴에서 해당 노트북의 상세정보 화면에서 도메인 바로가기를 클릭해 주십시오.
- Public Subnet에 생성된 노트북 노드는 공인 IP 기반으로 별도의 터널링 설정없이 웹 페이지 접속이 가능합니다.
- JupyterLab 웹 페이지의 로그인 화면이 나오면 패스워드 입력 후 접속해 주십시오.
- 패스워드는 노트북 생성시 사용자 설정 화면에서 Access Password 항목에 설정한 패스워드입니다.
- 패스워드를 분실하거나 변경이 필요하면 해당 노트북의 상세보기 화면에서 사용자 설정 [상세보기/초기화] 버튼을 클릭해 패스워드 초기화가 가능합니다.
Step2. Data Forest CLI 다운로드
노트북 내에서 터미널에 접속해 주십시오.
Data Forest CLI 실행 파일을 다운로드해 주십시오.
$ wget http://dist.kr.df.naverncp.com/repos/df/notebook/static/dfctl
$ chmod +x dfctl
Step3. 인증 및 접근 승인 진행
- 노트북 상세정보 확인 페이지에서 확인한 [노트북 아이디]를 통해 로그인 요청을 하십시오.
$ ./dfctl login -i {노트북 아이디}
- 인증 요청 정보를 확인하십시오.
항목 | 설명 |
---|---|
deviceCode | 현재 승인하려는 CLI의 임시코드 |
userCode | 요청자 확인을 위한 코드 |
verificationUri | 인증 진행을 위한 임시 URL |
verificationUri로 접속한 후 CLI에서 확인한 deviceCode 정보를 확인하고 userCode를 입력하십시오.
해당 페이지에서 NCP SSO 인증을 진행하십시오.
브라우저 쿠키에 최근 접속 기록이 있을 경우 로그인 단계는 생략될 수 있습니다.
장치 접근 승인 하면에서 [접근 승인] 버튼을 클릭하십시오.
접근이 승인되면 CLI에서 access allowed가 출력된 것을 확인하실 수 있습니다.
Data Forest CLI
Data Forest CLI에서 사용할 수 있는 명령어는 다음과 같습니다.
Usage:
$ ./dfctl [Command] [SubCommand]...
Commands:
hdfs
Data Forest CLI: hdfs
chmod
Usage:
$ ./dfctl hdfs chmod [FLAGS] FILE
Flags:
-R, --recursive
: 디렉토리와 그 안에 존재하는 서브디렉토리까지 모두 적용합니다.
Output:
- 시스템 파일 또는 객체의 액세스 권한을 변경하거나 수정합니다.
<예시>
[forest@2e11777d04cf ~][edge-df_beta]$ ./dfctl hdfs chmod 777 /user/test-df/dst_file
chown
Usage:
$ ./dfctl hdfs chown [FLAGS] FILE
Flags:
-r, --recursive
: 디렉토리와 그 안에 존재하는 서브디렉토리까지 모두 적용합니다.
Output:
- 파일이나 디렉터리의 소유권을 변경합니다.
<예시>
[forest@2e11000d04cf ~][edge-df_beta]$ ./dfctl hdfs chown -r forest /user/test-df
get
Usage:
$ ./dfctl hdfs get [REMOTE_FILE] [LOCAL_FILE]
Flags:
- N/A
Output:
- 파일을 원격에서 로컬로 복사합니다.
<예시>
[forest@2e11000d04cf ~][edge-df_beta]$ ./dfctl hdfs get /test/df /test/local
ls
Usage:
$ ./dfctl hdfs chmod [FLAGS] FILE
Flags:
-a, --all
: 숨겨진 파일이나 디렉터리도 보여줍니다.-H, --human-readable-a, --all
: K, M, G 단위를 사용하여 파일 크기를 가독성이 좋게 표시합니다.-l, --long
: 자세한 내용을 출력합니다.-R, --recursive
: 디렉토리와 그 안에 존재하는 서브디렉토리까지 모두 적용합니다.
Output:
- 현재 디렉터리의 파일 목록을 표시합니다.
<예시>
[forest@2e11777d04cf ~][edge-df_beta]$ ./dfctl hdfs ls
default user dir: /user/test-df
dst_file
src_file
test
mkdir
Usage:
$ ./dfctl hdfs mkdir [FLAGS] DIR
Flags:
-p, --parents
: 상위 경로도 함께 생성합니다.
Output:
- 새로운 디렉터리를 생성합니다.
<예시>
[forest@2e11000d04cf ~][edge-df_beta]$ ./dfctl hdfs mkdir /user/test-df/test
mv
Usage:
$ ./dfctl hdfs mv [FLAGS] [SRC_FILE] [DST_FILE]
Flags:
-n, --no-clobber
: 이동 될 파일이 이름이 이미 존재 할 경우, 덮어쓰기를 하지 않습니다.-T, --no-target-directory
: 이동 될 파일을 일반 파일로 취급합니다.
Output:
- 파일이나 디렉터리의 이름을 변경하거나 다른 디렉터리로 옮깁니다.
<예시>
[forest@2e11777d04cf ~][edge-df_beta]$ ./dfctl hdfs mv /user/test-df/src_file /user/test-df/dst_file2
[forest@2e11777d04cf ~][edge-df_beta]$ ./dfctl hdfs ls /user/test-df
dst_file2
put
Usage:
$ ./dfctl hdfs put [LOCAL_FILE] [REMOTE_FILE]
Flags:
- N/A
Output:
- 파일을 로컬에서 원격으로 복사합니다.
<예시>
[forest@2e11000d04cf ~][edge-df_beta]$ ./dfctl hdfs put /test/local /test/df
rm
Usage:
$ ./dfctl hdfs rm [FLAGS] FILE
Flags:
-R, --recursive
: 디렉토리와 그 안에 존재하는 서브디렉토리까지 모두 적용합니다.-f, --force
: 존재하지 않는 파일의 경우 무시합니다.
Output:
- 해당 파일을 삭제합니다.
<예시>
[forest@2e11000d04cf ~][edge-df_beta]$ ./dfctl hdfs rm /user/test-df/a
touch
Usage:
$ ./dfctl hdfs touch [FLAGS] FILE
Flags:
-c, --no-create
: 파일의 시간을 변경하고, 파일은 생성하지 않습니다.
Output:
- 유효한 빈 파일을 작성합니다.
<예시>
[forest@2e11000d04cf ~][edge-df_beta]$ ./dfctl hdfs touch /user/test-df/a