비디오: 리눅스동영상강의 15장 파일 시스템과 볼륨1 2024
HDFS는 Hadoop 프레임 워크의 두 가지 주요 구성 요소 중 하나입니다. 다른 하나는 MapReduce로 알려진 계산 패러다임입니다. 분산 파일 시스템 은 네트워크로 연결된 여러 대의 시스템에서 저장소를 관리하는 파일 시스템입니다.
HDFS는 데이터를 블록 에 저장하며 기본 크기는 64MB입니다. HDFS에 저장하려는 파일은 클러스터 전체에 독립적으로 저장되는 블록 크기의 청크로 분할해야합니다. 다음과 같이 fsck 명령을 사용하여 HDFS의 각 파일을 구성하는 블록을 나열 할 수 있습니다.
hadoop 명령의 한 가지 형식을 실행하여 Hadoop 파일 시스템 쉘에 액세스합니다. 모든 hadoop 명령은 bin / hadoop 스크립트에 의해 호출됩니다. 모든 hadoop 명령에 대한 설명을 검색하려면 인수를 지정하지 않고 hadoop 스크립트를 실행하십시오. hadoop 명령은
hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]config confdir 옵션은 기본 구성 디렉토리 ($ HADOOP_HOME / conf)를 덮어 쓰므로 Hadoop 환경 구성을 쉽게 사용자 정의 할 수 있습니다. 일반 옵션 및 명령 옵션은 여러 명령에서 지원되는 공통 옵션 세트입니다.
URI
는 이름이나 웹 리소스를 식별하는 데 사용되는 문자열입니다.문자열은 스키마 이름 - 데이터 소스의 본질에 대한 한정어를 포함 할 수 있습니다. HDFS의 경우 구성표 이름은 hdfs이고 로컬 파일 시스템의 경우 구성표 이름은 file입니다. 체계 이름을 지정하지 않으면 구성 파일에 지정된 체계 이름이 기본값이됩니다.
hdfs: // namenodehost / parent / child 또는 구성 파일이 가리키는 경우 단순히 / parent / child가 될 수 있습니다 hdfs: // namenodehost에. hadoop hdfs dfs -
file_cmd이전 Hadoop 환경을 경험 한 독자는 "하지만 hadoop fs 명령에 대해?"fs 명령은 Hadoop 0.2 릴리스 시리즈에서 더 이상 사용되지 않지만 Hadoop 2에서는 여전히 작동합니다. 대신 hdfs dfs를 사용하십시오.
예상대로 Linux 또는 Unix 기반 운영 체제에서와 마찬가지로 mkdir 명령을 사용하여 HDFS에 디렉토리를 만듭니다. HDFS에는 / user / $ USER라는 기본 작업 디렉토리가 있지만
$ USER 는 로그인 사용자 이름이므로$ hadoop hdfs dfs -mkdir / user /
login_user_name 예를 들어 "joanna"라는 디렉토리를 만들려면 다음 mkdir 명령을 실행하십시오: $ hadoop hdfs dfs -mkdir / user / joanna
Hadoop put 명령을 사용하여 $ hadoop hdfs dfs -putfile_name
/ user /login_user_name
예를 들어 data라는 파일을 복사합니다. txt를이 새 디렉토리에 추가하려면 다음 put 명령을 실행하십시오.파일 모드
를 보여줍니다 (디렉토리의 경우 "d"이고 일반 파일의 경우 "-", 사용 권한이 뒤 따른다).read (r), write (w) 및 execute (x)의 세 가지 권한 유형은 Linux 및 Unix 기반 시스템에서와 동일합니다. HDFS에서 파일을 실행할 수 없으므로 파일에 대한 실행 권한은 무시됩니다. 사용 권한은 소유자, 그룹 및 공용 (다른 모든 사용자)별로 그룹화됩니다.
열 2는 파일의 복제 계수를 보여줍니다. 복제 개념은 디렉토리에는 적용되지 않습니다.HDFS에서 파일을 구성하는 블록이 복제되어 내결함성이 보장됩니다.
복제 요소, 또는 특정 파일에 대해 유지되는 복제본의 수는 구성 가능합니다. 응용 프로그램을 통해 파일을 만들거나 나중에 만들 때 복제 요소를 지정할 수 있습니다. 열 3과 4는 소유자
와 그룹 을 보여줍니다. 수퍼 그룹
는 수퍼 유저 그룹의 이름이고 수퍼 유저 는 NameNode 프로세스와 동일한 ID를 가진 사용자입니다. NameNode를 시작하면 지금은 수퍼 유저입니다. 이것은 특별한 그룹입니다. 일반 사용자는 Hadoop 관리자가 정의한 그룹 인 특별한 특성이없는 그룹에 속한 사용자 ID를 갖게됩니다. 열 5는 파일의 크기를 바이트 단위로 나타내거나 디렉토리 인 경우 0을 표시합니다. 열 6과 7은 마지막 수정 날짜와 시간을 각각 나타낸다. 열 8은 파일 또는 디렉토리의 규정되지 않은 이름 (스키마 이름이 지정되지 않음을 의미)을 보여줍니다. Hadoop get 명령을 사용하여 HDFS에서 로컬 파일 시스템으로 파일을 복사하십시오. $ hadoop hdfs dfs -get file_name
/ user /
login_user_name
Hadoop rm 명령을 사용하여 파일 또는 빈 디렉토리를 삭제하십시오.
$ hadoop hdfs dfs -rm
file_name / user / login_user_name hadoop hdfs dfs -help 명령을 사용하여 모든 선택권.