반응형
Recent Posts
Recent Comments
관리 메뉴

개발잡부

[hadoop] Hadoop 명령어 본문

Data

[hadoop] Hadoop 명령어

닉의네임 2022. 7. 27. 09:14
반응형

HDFS 커맨드 


사용자 커맨드, 운영자 커맨드, 디버그 커맨드로 구분

 

 

사용자 커맨드


hdfs, hadoop 쉘을 이용할 수 있습니다. 일부 커맨드는 hdfs 쉘을 이용해야 함

# dfs 커맨드는 둘다 동일한 결과를 출력 
$ hdfs dfs -ls
$ hadoop fs -ls 

# fsck 커맨드도 동일한 결과 출력 
$ hdfs fsck /
$ hadoop fsck /

# fs.defaultFS 설정값 확인 
$ hdfs getconf -confKey fs.defaultFS
hdfs://127.0.0.1:8020

# 명령어를 인식하지 못함 
$ hadoop getconf
Error: Could not find or load main class getconf

사용자 커맨드 목록

커맨드 기능
classpath Hadoop jar 파일에 필요한 클래스 패스 출력
dfs 파일 시스템 쉘 명령어
fetchdt 네임노드의 델리게이션 토큰 확인
fsck 파일 시스템 상태 체크
getconf 설정된 Config 정보 확인
groups 사용자에 설정된 그룹 정보 확인
lsSnapshottableDir 스냅샷이 가능한 디렉토리 목록 확인
jmxget JMX 인포메이션 확인
oev Offline Edits Viewr, Edits 파일의 상태 확인
oiv Offline Image Viewr, 이미지 파일의 상태 확인(2.4 이상)
oiv_legacy oiv 2.4 미만의 상태 확인
snapshotDiff HDFS 스냅샷의 상태 확인
version 버전 확인

 

 

dfs 커맨드


dfs 커맨드는 파일시스템 쉘을 실행하는 명령어 입니다.

dfs는 hdfs dfs, hadoop fs, hadoop dfs 세가지 형태로 실행이 가능합니다.

 

$ hdfs dfs -ls
Found 17 items
drwxr-xr-x   - hadoop hadoop          0 2018-11-30 06:15 datas

$ hadoop fs -ls
Found 17 items
drwxr-xr-x   - hadoop hadoop          0 2018-11-30 06:15 datas

dfs 커맨드 명령어

커맨드 기능
cat 파일의 내용을 확인
text 텍스트 형식으로 파일을 읽음, 압축 파일도 텍스트 형식으로 확인
appendToFile 지정한 파일에 내용을 추가(append)
checksum 파일의 체크섬 확인
chgrp 파일의 그룹 변경
chmod 파일의 모드 변경
chown 파일의 소유권 변경
count 지정한 경로의 디렉토리 개수, 파일개수, 파일 사이즈 확인
df 파일시스템의 용량 확인(복제본을 포함한 용량)
du 지정한 경로의 용량 확인(단일 파일의 용량)
dus 지정한 경로의 하위 폴더를 포함한 용량 확인
expunge 휴지통을 비움. 파일을 영구히 삭제.
getfacl 디렉토리, 파일의 ACL(Access Control List) 확인
setfacl 디렉토리, 파일의 ACL(Access Control List) 설정
getfattr 디렉토리, 파일의 추가적인 속성 확인
setfattr 디렉토리, 파일의 추가적인 속성 설정
getmerge 주어진 경로의 파일들을 로컬의 파일로 머지
find 주어진 표현에 맞는 파일을 조회
ls 디렉토리의 파일 조회
lsr 디렉토리 하위의 파일을 포함하여 조회
mkdir 디렉토리 생성
copyFromLocal 로컬의 파일을 HDFS로 복사
copyToLocal HDFS의 파일을 로컬로 복사
cp 주어진 경로로 파일을 복사
moveFromLocal 로컬의 파일을 HDFS로 이동
moveToLocal HDFS의 파일을 로컬로 이동
mv 주어진 경로의 파일을 이동, 파일이름 변경에도 이용
get copyToLocal 명령과 비슷
put copyFromLocal 명령과 비슷
createSnapshot 스냅샷 생성
deleteSnapshot 스냅샷 삭제
renameSnapshot 스냅샷 이름 변경
rm 파일 삭제
rmdir 디렉토리 삭제
rmr 주어진 경로의 하위 경로까지 삭제
setrep 레플리케이션 팩터 설정
stat 주어진 옵션에 따라 파일의 정보를 확인
tail 파일의 마지막 1kbyte를 출력
test 주어진 옵션에 따라 파일, 디렉토리의 존재 여부 확인
touchz 0byte 파일 생성
truncate 주어진 패턴에 따라 파일 삭제
usage 주어진 명령어 사용법 확인
help 명령어 사용법 확인
  • df는 복제개수를 포함한 전체의 용량을 표현하고, du 단일 파일 또는 경로의 용량입니다. 1M파일의 용량을 du로 확인하면 1M으로 나오지만, df로 파일 시스템의 용량을 확인하면 복제개수가 3일때 3M으로 표현됩니다.

 

fsck 커맨드


fsck 커맨드는 HDFS 파일시스템의 상태를 체크하는 명령어

 

 

fsck 커맨드는 우선 를 지정해야 합니다. 파일 시스템의 상태를 체크할 경로를 지정하고 필요한 명령어를 입력하면 됩니다. fsck 커맨드로 파일 시스템의 상태를 확인하고, -delete 커맨드로 오류가 난 파일을 삭제할 수 있습니다.

$ hdfs fsck <path> [-list-corruptfileblocks 
                     [-move | -delete | -openforwrite] 
                     [-files [-blocks [-locations | -racks]]]] 
                     [-includeSnapshots] [-storagepolicies] [-blockId <blk_Id>]
$ hdfs fsck /
$ hdfs fsck /user/hadoop/
$ hdfs fsck /user -list-corruptfileblocks
$ hdfs fsck /user -delete
$ hdfs fsck /user -files
$ hdfs fsck /user -files -blocks

$ hdfs fsck /
Status: HEALTHY
 Total size:    7683823089 B
 Total dirs:    3534
 Total files:   14454
 Total symlinks:        0
 Total blocks (validated):  14334 (avg. block size 536055 B)
 Minimally replicated blocks:   14334 (100.0 %)
 Over-replicated blocks:    0 (0.0 %)
 Under-replicated blocks:   14334 (100.0 %)
 Mis-replicated blocks:     0 (0.0 %)
 Default replication factor:    2
 Average block replication: 1.0
 Corrupt blocks:        0
 Missing replicas:      31288 (68.58095 %)
 Number of data-nodes:      1
 Number of racks:       1
FSCK ended at Fri Dec 28 04:07:32 UTC 2018 in 172 milliseconds

fsck 커맨드 명령어

커맨드비고

path 체크를 위한 경로
-list-corruptfileblocks 커럽트 상태의 블록을 출력
-delete 커럽트 파일 삭제
-move 커럽트 블록을 /lost+found 폴더로 이동
-files 체크한 파일 출력
-files -blocks 블록 리포트 출력
-files -blocks -locations 블록의 위치를 출력
-files -blocks -racks 블록의 랙정보 출력
-files -blocks -replicaDetails 복제 개수 정보 출력
-files -blocks -upgradedomains 블록의 도메인을 갱신
-includeSnapshots 스냅샷을 포함해서 체크
-openforwrite 쓰기 작업을 위해 열린 파일 출력
-storagepolicies 블록의 저장 정책 출력
-maintenance 블록의 관리 정보 출력
-blockId 블록 ID 출력

 

운영자 커맨드


운영자 커맨드도 hdfs, hadoop 쉘을 이용할 수 있습니다. 

 

# 둘다 balancer를 실행 
$ hdfs balancer
$ hadoop balancer

운영자 커맨드 목록

운영자 커맨드는 주로 실행, 설정 관련 명령어가 많습니다.

 

커맨드 기능
namenode 네임노드 실행
datanode 데이터 노드 실행
secondarynamenode 세컨더리 네임노드 실행
balancer HDFS 밸렁싱 처리
cacheadmin 자주 읽는 데이터에 대한 캐쉬 처리
crypto 암호화 처리
dfsadmin HDFS 관리를 위한 Admin 유틸리티 명령
dfsrouter HDFS 연합 라우팅 실행
dfsrouteradmin 데이터 노드 라우팅 설정
haadmin HA 실행 명령어(QJM 또는 NFS)
journalnode QJM을 이용한 HA, 저널노드용 명령어
mover 데이터 마이그레이션용 유틸리티 명령어
nfs3 NFS3 게이트웨이 명령어
portmap NFS3 게이트웨이 포트맵 명령어
storagepolicies HDFS 저장정책 설정 명령어
zkfc 주키퍼 FailOver 컨트롤러 실행
반응형

'Data' 카테고리의 다른 글

[data] Parquet (파케이)  (1) 2022.12.13
[hadoop] hadoop install for mac os  (0) 2022.08.03
[hadoop] hadoop 명령어 2  (0) 2022.07.27
[hadoop] mac OS 하둡설치  (0) 2022.07.27
Comments