HDFS 명령어

young·2021년 9월 26일
0

*hadoop/bin 폴더에서 명령어 실행 (hdfs 쉘 사용)


디스크 공간 조회

  • h 옵션: 사람이 읽기 쉽게 표현
$ ./hdfs dfs -df [-h] {path}

디렉토리 사용량 조회

  • h 옵션: 사람이 읽기 쉽게 표현
  • s 옵션: 자식을 포함한 디렉토리 자체의 사용량 확인
$ ./hdfs dfs -du [-h] [-s] {directory_path}

디렉토리 파일 리스트 조회

  • R 옵션: 하위 디렉토리를 포함한 전체 파일 리스트 조회
$ ./hdfs dfs -ls [-R] {directory_path}

파일 내용 조회

$ ./hdfs dfs -cat {file_path}

hdfs 폴더 생성

  • p 옵션: 부모 경로 폴더까지 한 번에 생성
$ ./hdfs dfs -mkdir [-p] {folder_path}

hdfs 상에서 파일 복사

$ ./hdfs dfs -cp {source_path} {copy_path}

로컬 파일을 hdfs로 업로드

$ ./hdfs dfs -put {local_path} {source_path}
$ ./hdfs dfs -copyFromLocal {local_path} {source_path}

hdfs 파일을 로컬로 다운로드

$ ./hdfs dfs -get {source_path} {local_path}
$ ./hdfs dfs -copyToLocal {local_path} {source_path}

hdfs 파일 삭제

$ ./hdfs dfs -rm {file_path}

hdfs 디렉토리 삭제

  • 디렉토리 내 파일이 존재하더라도 삭제
$ ./hdfs dfs -rm -r {directory_path}
  • 디렉토리 내 파일/디렉토리가 있다면 삭제 X
$ ./hdfs dfs -rmdir {directory_path}

hdfs 상에서 파일 이동

$ ./hdfs dfs -mv {source_path} {destination_path}

hdfs 밸런싱

  • balancer를 이용해 클러스터 내 블록을 분산시켜 각 데이터 노드가 비슷한 비율로 데이터를 갖도록 조정
  • threshold 옵션: 각 데이터 노드의 디스크 분산 비율 조정
  • balancer 수행 전 대역폭을 조정해 클러스터에 큰 부담을 주지 않도록 해야 함 (byte 단위)
  • 밸런싱 작업을 종료 없이 백그라운드에서 수행하기 위해 nohup + &로 실행
$ ./hdfs dfsadmin -setBalancerBandwitdh 52428800 #50mb
$ nohup ./hdfs balancer -threshold 2 &

0개의 댓글