하둡 커맨드 가이드

하둡 커맨드 가이드 (Hadoop Commands Guide)

하둡은 프로젝트마다 셸 명령을 제공하고, 모든 명령이 공통된 기본 구조를 따라요. 이 문서는 하둡 공통(common) 서브프로젝트의 사용자·관리 명령과 셸/일반 옵션을 정리한 참고서예요. HDFS·YARN 명령은 각각 별도 문서에서 다뤄져요.

출처: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/CommandsManual.html

모든 하둡 명령은 Usage: shellcommand [SHELL_OPTIONS] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS] 구조예요. shellcommand는 호출되는 프로젝트의 명령으로, 하둡 공통은 hadoop, HDFS는 hdfs, YARN은 yarn을 사용해요. SHELL_OPTIONS는 자바 실행 전에 셸이 처리하는 옵션이고, COMMAND는 수행할 동작, GENERIC_OPTIONS는 여러 명령이 공유하는 옵션, COMMAND_OPTIONS는 각 명령 고유 옵션이에요.

셸 옵션 중 자주 쓰는 것들을 볼게요. --config confdir은 기본 설정 디렉터리(기본 $HADOOP_HOME/etc/hadoop)를 덮어쓰고, --daemon mode는 데몬화를 지원하는 명령(예: hdfs namenode)에 대해 start·stop·status 모드를 지정해요. --loglevel loglevel은 로그 레벨을 정하는데 유효한 값은 FATAL, ERROR, WARN, INFO, DEBUG, TRACE이고 기본은 INFO예요. --workersworkers 파일의 모든 호스트에서 명령을 실행해요.

일반 옵션(GENERIC_OPTIONS)도 있어요. -fs <file:///> or <hdfs://namenode:port>는 기본 파일시스템 URL을 지정해 fs.defaultFS 속성을 덮어써요. -D <property>=<value>는 지정 속성에 값을 주고, -conf <configuration file>은 설정 파일을 지정해요. -files, -archives, -libjars는 잡에 파일·아카이브·jar를 복사하는 옵션이에요.

사용자 명령 중에서는 hadoop jar가 하둡 잡을 실행하는 대표 명령이에요. hadoop classpath는 하둡 jar와 필요한 라이브러리를 얻는 클래스패스를 출력하며, --glob으로 와일드카드를 확장하거나 --jar <path>로 클래스패스를 매니페스트에 담을 수 있어요. hadoop checknative는 네이티브 코드 가용성을 확인하고 기본적으로 libhadoop만 검사해요. hadoop version은 버전을 출력하고 hadoop envvars는 계산된 환경변수를 보여줘요.

자격증명·암호화 관련 명령도 있답니다. hadoop credential은 자격증명 공급자(CredentialProvider) 안의 비밀번호·시크릿을 관리해요. 하위 명령으로 create *alias*, delete *alias*, list, check *alias*가 있고, 공급자 위치는 core-site.xml의 hadoop.security.credential.provider.path-provider 옵션으로 지정해요. hadoop key는 KeyProvider로 키를 관리하고 hadoop kms는 Key Management Server를 실행해요. hadoop distcp는 파일·디렉터리를 재귀적으로 복사하는 유명한 배치 도구예요.

관리 명령으로 hadoop daemonlog가 있어요. -getlevel <host:port> <classname>으로 로그 레벨을 조회하고 -setlevel <host:port> <classname> <level>로 설정하는데, 기본 HTTP 요청을 보내며 -protocol https로 HTTPS를 쓸 수 있어요. 이 설정은 데몬 재시작 시 초기화되므로 주의하세요. 설정 파일로는 전역 설정 etc/hadoop/hadoop-env.sh, 고급 사용자용 etc/hadoop/hadoop-user-functions.sh, 개인 환경 ~/.hadooprc가 있어요.

더 알아보기

  • HDFS 명령은 HDFS Commands Guide에서, YARN 명령은 YARN Commands Reference에서 확인
  • DistCp Guide로 대규모 복사 작업 자동화하기