MapReduce 명령 가이드

MapReduce 명령 가이드

모든 mapreduce 명령은 bin/mapred 스크립트로 호출돼요. 인수 없이 mapred 스크립트를 실행하면 모든 명령에 대한 설명이 출력돼요.

출처: 문서

본문

개요 (Overview)

모든 mapreduce 명령은 bin/mapred 스크립트로 호출돼요. 인수 없이 mapred 스크립트를 실행하면 모든 명령의 설명이 출력돼요.

사용법:

mapred [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]

Hadoop은 제네릭 옵션 구문 분석과 클래스 실행을 모두 사용하는 옵션 파싱 프레임워크를 갖고 있어요.

COMMAND_OPTIONS Description
SHELL_OPTIONS 공통 셸 옵션 집합. Hadoop Commands Reference 페이지에 문서화되어 있어요.
GENERIC_OPTIONS 여러 명령이 지원하는 공통 옵션 집합. Hadoop Commands Reference를 참고하세요.
COMMAND_OPTIONS 다양한 명령과 그 옵션은 다음 섹션에서 설명돼요. 명령은 User Commands와 Administration Commands로 그룹화됐어요.

사용자 명령 (User Commands)

Hadoop 클러스터 사용자에게 유용한 명령들.

archive

Hadoop archive를 만들어요. 더 많은 정보는 Hadoop Archives Guide 에서 확인할 수 있어요.

archive-logs

YARN 집계 로그를 Hadoop archives로 결합해 HDFS의 파일 수를 줄이는 도구예요. 더 많은 정보는 Hadoop Archive Logs Guide 에서 확인할 수 있어요.

classpath

사용법:

yarn classpath [--glob |--jar <path> |-h |--help]
COMMAND_OPTION Description
--glob 와일드카드 확장
--jar path path라는 이름의 jar에 매니페스트로 클래스패스 작성
-h, --help 도움말 출력

Hadoop jar와 필수 라이브러리를 얻는 데 필요한 클래스 경로를 출력해요. 인수 없이 호출하면 명령 스크립트가 설정한 클래스패스를 출력하며, 여기에는 클래스패스 엔트리에 와일드카드가 포함되어 있을 가능성이 높아요. 추가 옵션은 와일드카드 확장 후 클래스패스를 출력하거나, 클래스패스를 jar 파일의 매니페스트에 작성해요. 후자는 와일드카드를 사용할 수 없고 확장된 클래스패스가 지원되는 최대 명령줄 길이를 초과하는 환경에서 유용해요.

distcp

파일이나 디렉터리를 재귀적으로 복사해요. 더 많은 정보는 Hadoop DistCp Guide 에서 확인할 수 있어요.

job

Map Reduce 작업과 상호작용하는 명령이에요.

사용법:

mapred job | [GENERIC_OPTIONS] | [-submit <job-file>] | [-status <job-id>] | [-counter <job-id> <group-name> <counter-name>] | [-kill <job-id>] | [-events <job-id> <from-event-#> <#-of-events>] | [-history [all] <jobHistoryFile|jobId> [-outfile <file>] [-format <human|json>]] | [-list [all]] | [-kill-task <task-id>] | [-fail-task <task-id>] | [-set-priority <job-id> <priority>] | [-list-active-trackers] | [-list-blacklisted-trackers] | [-list-attempt-ids <job-id> <task-type> <task-state>] [-logs <job-id> <task-attempt-id>] [-config <job-id> <file>]
COMMAND_OPTION Description
-submit job-file 작업을 제출해요.
-status job-id map과 reduce 완료 비율과 모든 작업 카운터를 출력해요.
-counter job-id group-name counter-name 카운터 값을 출력해요.
-kill job-id 작업을 종료해요.
-events job-id from-event-# #-of-events 주어진 범위의 이벤트를 출력해요.
`-history [all] <jobHistoryFile jobId>`
-list [all] all 옵션과 함께 사용하면 모든 작업을 표시해요.
-kill-task <task-id> 태스크를 종료해요. 이 태스크는 실행된 결과를 내지 않아요.
-fail-task <task-id> 작업을 실패로 표시하고 결과를 무효화해요.
-set-priority <job-id> <priority> 작업 우선순위를 변경해요.
-list-active-trackers 활성 트래커 목록을 표시해요.
-list-blacklisted-trackers 블랙리스트된 트래커 목록을 표시해요.
-list-attempt-ids <job-id> <task-type> <task-state> 시도 ID 목록을 표시해요.
-logs <job-id> <task-attempt-id> 태스크 시도의 로그를 가져와요.
-config <job-id> <file> 파일에서 지속되도록 구성 값을 다시 로드해요.

pipes

Pipes 실행기를 실행해요 (MRv1 관련, 현재 버전에서는 사용되지 않음).

queue

큐 정보를 출력하고 관리할 수 있는 커맨드 (MRv1 관련).

version

버전 정보를 출력해요.

envvars

환경 변수를 출력해요.

관리 명령 (Administration Commands)

Hadoop 클러스터 관리자에게 유용한 명령들.

historyserver

JobHistoryServer를 시작해요.

사용법:

mapred historyserver

hsadmin

JobHistoryServer 관리 명령을 실행하기 위한 MapReduce hsadmin 클라이언트예요.

사용법:

mapred hsadmin [-refreshUserToGroupsMappings] | [-refreshSuperUserGroupsConfiguration] | [-refreshAdminAcls] | [-refreshLoadedJobCache] | [-refreshLogRetentionSettings] | [-refreshJobRetentionSettings] | [-getGroups [username]] | [-help [cmd]]
COMMAND_OPTION Description
-refreshUserToGroupsMappings 사용자-그룹 매핑을 새로 고침
-refreshSuperUserGroupsConfiguration 슈퍼유저 프록시 그룹 매핑을 새로 고침
-refreshAdminAcls Job history server 관리용 ACL을 새로 고침
-refreshLoadedJobCache Job history server의 로드된 작업 캐시를 새로 고침
-refreshJobRetentionSettings 작업 기록 기간, 작업 클리너 설정을 새로 고침
-refreshLogRetentionSettings 로그 보존 기간과 로그 보존 검사 간격을 새로 고침
-getGroups [username] 주어진 사용자가 속한 그룹을 가져옴
-help [cmd] 주어진 명령 또는 아무 것도 지정되지 않으면 모든 명령의 도움말 표시

frameworkuploader

프레임워크 jar를 수집해 tarball로 HDFS에 업로드해요.

사용법:

mapred frameworkuploader -target <target> [-fs <filesystem>] [-input <classpath>] [-blacklist <list>] [-whitelist <list>] [-initialReplication <num>] [-acceptableReplication <num>] [-finalReplication <num>] [-timeout <seconds>] [-nosymlink]
COMMAND_OPTION Description
-input classpath tarball에 포함할 jar 파일을 찾기 위해 검색하는 입력 클래스패스
-fs filesystem 타깃 파일시스템. fs.defaultFS가 설정하는 기본 파일시스템으로 기본값이 정해져요.
-target target 프레임워크 tarball의 타깃 위치. 선택적으로 # 뒤에 로컬화된 별칭이 올 수 있어요. 예: /usr/lib/framework.tar#framework. 클러스터 보안을 보호하기 위해 타깃 디렉터리는 모든 사용자가 읽을 수 있지만 관리자 외에는 쓸 수 없도록 해야 해요.
-blacklist 제외할 jar의 쉼표로 구분된 목록
-whitelist 포함할 jar의 쉼표로 구분된 목록
-initialReplication <num> tarball의 초기 복제 계수
-acceptableReplication <num> 허용 가능한 복제 계수
-finalReplication <num> 최종 복제 계수
-timeout <seconds> 프레임워크 업로더의 타임아웃 (초)
-nosymlink 심링크 사용 안 함

더 알아보기 (Learn more)