YARN 로그를 활용한 우주선 운영

HadoopBeginner
지금 연습하기

소개

머나먼 은하계, 안드로메다 우주 정거장은 은하 간 탐험과 연구의 중심지 역할을 합니다. 숙련된 우주선 조종사로서, 당신의 임무는 광활한 우주 공간을 항해하며 다양한 천체에서 데이터를 수집하고 분석하는 것입니다. 하지만 당신의 여정은 순탄치만은 않습니다. Hadoop 으로 구동되는 우주선의 온보드 컴퓨터 시스템은 Yarn Commands log 를 사용하여 리소스를 효율적으로 관리하고 모니터링하는 기술을 숙달할 것을 요구합니다.

당신의 목표는 Hadoop 생태계 내 강력한 도구인 Yarn Commands log 에 대한 포괄적인 이해를 통해 탐험 중 원활한 운영을 보장하는 것입니다. 이 도구를 마스터함으로써 리소스 사용량을 모니터링하고, 작업 진행 상황을 추적하며, 발생할 수 있는 모든 문제를 해결하여 궁극적으로 임무의 성공을 보장할 수 있습니다.

Yarn Commands 로그에 익숙해지기

이 단계에서는 Hadoop 생태계 내에서 리소스를 관리하는 데 있어 Yarn Commands log 의 기본 개념과 역할에 대해 배우게 됩니다.

먼저, 사용자를 hadoop으로 변경한 다음 hadoop 사용자의 홈 디렉토리로 전환합니다.

su - hadoop

그런 다음 사용 가능한 Yarn Commands 목록을 봅니다.

yarn --help

yarn --help 명령은 사용 가능한 하위 명령과 해당 설명을 표시합니다. 이러한 하위 명령 중에는 yarn logs, yarn top, yarn node와 같이 로그와 관련된 여러 명령이 있습니다.

다음은 표시될 수 있는 출력의 예입니다.

Usage: yarn [--help] [COMMAND]
where COMMAND is one of:
  node           Prints information about a specific node
  logs           Fetch and view logs for a specific container
  top            View cluster information
  ...

각 하위 명령의 목적과 사용법을 이해하려면 하위 명령 이름과 함께 -help 플래그를 사용할 수 있습니다. 예를 들어:

yarn logs -help

이렇게 하면 yarn logs 하위 명령에 대한 자세한 정보 (구문, 옵션 및 예제 포함) 가 제공됩니다.

컨테이너 로그 보기

이 단계에서는 yarn logs 명령을 사용하여 특정 컨테이너의 로그를 검색하고 보는 방법을 배우게 됩니다.

먼저, 몇 가지 로그를 생성하기 위해 샘플 작업을 제출해 보겠습니다.

Hadoop 예제 디렉토리로 이동합니다.

cd /home/hadoop/hadoop/share/hadoop/mapreduce

WordCount 예제를 실행합니다.

yarn jar hadoop-mapreduce-examples-3.3.6.jar wordcount /home/hadoop/input /home/hadoop/output

작업이 실행 중이거나 완료되면 yarn logs 명령을 사용하여 로그를 가져올 수 있습니다.

작업 출력에서 애플리케이션 ID 를 가져옵니다.

appId="application_1234567890123_0001"

지정된 애플리케이션의 로그를 봅니다.

yarn logs -applicationId $appId

application_1234567890123_0001을 작업 출력의 실제 애플리케이션 ID 로 바꿉니다.

yarn logs 명령은 지정된 애플리케이션과 관련된 모든 컨테이너의 결합된 로그를 표시합니다. -containerId 옵션을 사용하여 특정 컨테이너의 로그를 볼 수도 있습니다.

containerId="container_1234567890123_0001_01_000001"
yarn logs -applicationId $appId -containerId $containerId

container_1234567890123_0001_01_000001을 검사하려는 실제 컨테이너 ID 로 바꿉니다.

클러스터 리소스 모니터링

yarn top 명령은 실행 중인 애플리케이션, 노드 매니저 (Node Manager), 리소스 할당에 대한 정보를 포함하여 클러스터의 리소스 사용률을 실시간으로 보여줍니다.

yarn top

출력에는 총 사용 가능한 리소스, 할당된 리소스 및 보류 중인 리소스를 포함한 클러스터 리소스 사용량 요약이 표시됩니다. 또한 실행 중인 애플리케이션, 진행 상황 및 소비하는 리소스가 나열됩니다.

노드 정보 확인

yarn node 명령을 사용하면 Hadoop 클러스터 내의 특정 노드 매니저 (Node Manager) 또는 리소스 매니저 (Resource Manager) 에 대한 자세한 정보를 검사할 수 있습니다.

클러스터의 모든 노드에 대한 정보를 나열합니다.

yarn node -list

iZj6c7ur7j3az0k9shzn2kZ:38115를 노드 매니저 ID 로 바꿉니다.

nodeId="iZj6c7ur7j3az0k9shzn2kZ:38115"

노드 매니저에 대한 정보를 보려면:

yarn node -status $nodeId

출력에는 노드 매니저의 주소, 노드 상태, 사용 가능한 리소스 및 노드에서 실행 중인 컨테이너 목록과 같은 정보가 표시됩니다.

요약

이 랩에서는 Yarn Commands 로그를 통해 Hadoop 의 광대한 리소스 관리 영역을 탐색하는 방법을 배웠습니다. 이러한 명령을 숙달함으로써 리소스 사용량을 모니터링하고, 작업 진행 상황을 추적하며, Hadoop 생태계 내의 문제를 해결하는 능력을 얻었습니다. 이 지식은 효율적인 운영과 천체로부터의 성공적인 데이터 수집을 보장하면서, 은하계 임무를 시작할 때 매우 중요할 것입니다. 숙련된 우주선 조종사가 되기 위한 여정이 중요한 발걸음을 내디뎠으며, 이제 심우주에서 앞으로 닥칠 도전에 더 잘 대처할 수 있게 되었습니다.