아마존 EMR 확장 가능한 데이터 파이프라인을 비용 효율적인 방식으로 구축하기 위해 AWS에서 Apache Spark 및 기타 오픈 소스 애플리케이션을 실행하기 위해 AWS에서 제공하는 빅 데이터 서비스입니다. EMR 클러스터에 배포된 작업에서 생성된 로그를 모니터링하는 것은 중요한 문제를 실시간으로 감지하고 근본 원인을 빠르게 식별하는 데 필수적입니다.
해당 로그를 아마존 클라우드 워치 서버를 프로비저닝하거나 소프트웨어를 관리할 필요 없이 로그에서 실행 가능한 인텔리전스를 중앙 집중화하고 구동하여 운영 문제를 해결할 수 있습니다. 집계, 필터 및 정규식을 사용하여 즉시 쿼리 작성을 시작할 수 있습니다. 또한 시계열 데이터를 시각화하고, 개별 로그 이벤트로 드릴다운하고, 쿼리 결과를 CloudWatch 대시보드로 내보낼 수 있습니다.
에 유지되는 로그를 수집하려면 아마존 엘라스틱 컴퓨트 클라우드 (Amazon EC2) EMR 클러스터의 인스턴스를 CloudWatch로, 다음을 사용할 수 있습니다. CloudWatch 에이전트. 이는 EC2 인스턴스에서 CloudWatch로 로그를 푸시하는 간단한 방법을 제공합니다.
CloudWatch 에이전트는 서버에서 자동으로 지속적으로 실행되는 소프트웨어 패키지입니다. EC2 인스턴스, 온프레미스 호스트 및 컨테이너화된 애플리케이션에서 시스템 및 애플리케이션 로그를 수집하도록 CloudWatch 에이전트를 설치 및 구성할 수 있습니다. CloudWatch는 CloudWatch 에이전트가 수집한 로그를 처리 및 저장하므로 인프라 및 애플리케이션의 성능 및 상태 모니터링에 도움이 됩니다.
이 게시물에서는 EMR 클러스터를 생성하고 CloudWatch에서 작업의 EMR 단계 로그를 중앙 집중화합니다. 이렇게 하면 EMR 클러스터를 더 쉽게 관리하고 문제를 해결하고 성능을 모니터링할 수 있습니다. 이 솔루션은 CloudWatch를 사용하여 실시간 로그, 지표 및 이벤트 데이터를 수집하고 시각화하여 인프라 및 애플리케이션 유지 관리를 간소화하려는 경우에 특히 유용합니다.
솔루션 개요
이 게시물에 제시된 솔루션은 EMR 단계 동시성 수준이 1로 설정된 특정 구성을 기반으로 합니다. 이는 클러스터에서 한 번에 하나의 단계만 실행됨을 의미합니다. EMR 단계 동시성 수준이 1보다 큰 값으로 설정되면 솔루션이 예상대로 작동하지 않을 수 있다는 점에 유의해야 합니다. 귀하의 EMR 단계 동시성 이 게시물에 제시된 솔루션을 구현하기 전에 구성.
다음 다이어그램은 솔루션 아키텍처를 보여줍니다.
워크 플로우에는 다음 단계가 포함됩니다.
- 사용자는 Apache Spark EMR 작업을 시작하여 EMR 클러스터에서 단계를 생성합니다. Apache Spark를 사용하면 워크로드가 EMR 클러스터의 여러 노드에 분산됩니다.
- 클러스터의 각 노드(EC2 인스턴스)에서 CloudWatch 에이전트는 서로 다른 로그 디렉터리를 감시하여 로그 파일의 새 항목을 캡처하고 CloudWatch로 푸시합니다.
- 사용자는 CloudWatch 콘솔에서 다른 로그 그룹에 액세스하는 단계 로그를 볼 수 있습니다. Amazon EMR에서 작성하는 단계 로그는 다음과 같습니다.
- 제어 장치 — 단계 처리에 대한 정보입니다. 로드하는 동안 단계가 실패하면 이 로그에서 스택 추적을 찾을 수 있습니다.
- 표준 오류 — 단계를 처리하는 동안 Spark의 표준 오류 채널입니다.
- 표준 출력 — 단계를 처리하는 동안 Spark의 표준 출력 채널입니다.
우리는 AWS 클라우드 포메이션 이 게시물의 템플릿을 일반 가이드로 사용하세요. 이 템플릿은 Spark 로그를 CloudWatch로 푸시하도록 Amazon EMR에서 CloudWatch 에이전트를 구성하는 방법을 보여줍니다. Amazon EMR 보안 구성을 포함하도록 필요에 따라 이를 검토하고 사용자 지정할 수 있습니다. 모범 사례로 템플릿에 Amazon EMR 보안 구성을 포함하여 다음을 수행하는 것이 좋습니다. 전송 중인 데이터 암호화.
또한 이 스택에 의해 배포된 일부 리소스는 계속 사용 중일 때 비용이 발생한다는 점을 알고 있어야 합니다.
다음 섹션에서는 다음 단계를 수행합니다.
- 부트스트랩 스크립트를 생성하고 아마존 단순 스토리지 서비스 (Amazon S3) 버킷.
- CloudFormation 템플릿을 사용하여 다음 리소스를 생성합니다.
- CloudWatch 콘솔에서 Spark 로그를 모니터링합니다.
사전 조건
이 게시물은 다음이 있다고 가정합니다.
S3 버킷에 부트스트랩 스크립트 생성 및 업로드
자세한 내용은 다음 링크를 참조하세요 개체 업로드 과 서버에 CloudWatch 에이전트 설치 및 실행.
부트스트랩 스크립트를 생성하고 업로드하려면 다음 단계를 완료하십시오.
- 이름이 지정된 로컬 파일 만들기
bootstrap_cloudwatch_agent.sh
다음 내용으로 - Amazon S3 콘솔에서 S3 버킷을 선택합니다.
- 에 사물 탭에서 가이드라가.
- 왼쪽 메뉴에서 파일을 추가합니다을 클릭한 다음 부트스트랩 스크립트를 선택합니다.
- 왼쪽 메뉴에서 가이드라가을 클릭한 다음 파일 이름을 선택합니다.
bootstrap_cloudwatch_agent.sh
. - 왼쪽 메뉴에서 S3 URI 복사. 이후 단계에서 이 값을 사용합니다.
CloudFormation 템플릿으로 리소스 프로비저닝
왼쪽 메뉴에서 발사 스택 계정에서 CloudFormation 스택을 시작하고 템플릿을 배포하려면:
이 템플릿은 IAM 역할, IAM 인스턴스 프로파일, Systems Manager 파라미터 및 EMR 클러스터를 생성합니다. 클러스터는 다음을 시작합니다. Spark PI 추정 예시 적용. 이 템플릿에서 스택을 생성하면 사용한 AWS 리소스에 대한 요금이 청구됩니다.
CloudFormation 마법사는 다음 매개변수를 수정하거나 제공하도록 요청합니다.
- 인스턴스 유형 - 인스턴스 유형 모든 인스턴스 그룹에 대해. 기본값은 m4.xlarge입니다.
- 인스턴스수코어 – 코어 인스턴스 그룹의 인스턴스 수. 기본값은 2입니다.
- EMR 릴리스 레이블 - Amazon EMR 릴리스 레이블 당신이 사용하고 싶습니다. 기본값은 emr-6.9.0입니다.
- 부트스트랩스크립트 경로 – 이전에 복사한 CloudWatch 에이전트 설치 부트스트랩 스크립트의 S3 경로입니다.
- 서브넷 – 클러스터가 시작되는 EC2 서브넷. 이 매개변수를 제공해야 합니다.
- EC2키쌍이름 – Session Manager 대신 클러스터 노드에 연결하기 위한 선택적 EC2 키 쌍.
로그 스트림 모니터링
CloudFormation 스택이 성공적으로 배포되면 CloudWatch 콘솔에서 다음을 선택합니다. 로그 그룹 탐색 창에서. 그런 다음 접두사로 로그 그룹을 필터링합니다. /aws/emr/master
.
로그 그룹의 ID는 EMR 기본 노드의 EC2 인스턴스 ID에 해당합니다. EMR 클러스터가 여러 개인 경우 이 ID를 사용하여 기본 노드 ID를 기반으로 특정 EMR 클러스터를 식별할 수 있습니다.
로그 그룹에서 세 가지 다른 로그 스트림을 찾을 수 있습니다.
로그 스트림에는 다음 정보가 포함됩니다.
- 단계 표준 출력 – 단계를 처리하는 동안 Spark의 표준 출력 채널입니다.
- 단계-stderr – 단계를 처리하는 동안 Spark의 표준 오류 채널입니다.
- 스텝 컨트롤러 – 단계 처리에 대한 정보. 로드하는 동안 단계가 실패하면 이 로그에서 스택 추적을 찾을 수 있습니다.
정리
계정에서 향후 비용이 청구되지 않도록 하려면 이 연습에서 생성한 리소스를 삭제하십시오. 클러스터가 활성 상태인 동안 EMR 클러스터에 요금이 부과되므로 완료되면 중지하십시오.
- CloudFormation 콘솔의 탐색 창에서 다음을 선택합니다. 스택.
- 시작한 스택을 선택합니다(
EMR-CloudWatch-Demo
)를 선택한 다음 .. - S3 버킷 비우기 당신은 만들었습니다.
- S3 버킷 삭제 당신은 만들었습니다.
결론
이제 이 연습의 단계를 완료했으므로 클러스터 호스트에서 CloudWatch 에이전트를 실행하고 EMR 단계 로그를 CloudWatch로 푸시하도록 구성했습니다. 이 기능을 사용하면 Amazon EMR에서 실행되는 Spark 작업의 상태와 성능을 효과적으로 모니터링하여 중요한 문제를 실시간으로 감지하고 근본 원인을 신속하게 식별할 수 있습니다.
IAM 인스턴스 프로필 역할, Systems Manager 파라미터 및 EMR 클러스터를 생성하는 이 예제 템플릿과 같은 CloudFormation 템플릿을 통해 이 솔루션을 패키징하고 배포할 수 있습니다.
더 자세히 알아보려면 CloudWatch 경보에서 이러한 로그를 사용하여 로그 그룹 메트릭 필터. 다른 알람으로 수집할 수 있습니다. 복합 경보 또는 보내기와 같은 알람 작업 구성 아마존 단순 알림 서비스 (Amazon SNS) 알림을 통해 다음과 같은 이벤트 기반 프로세스를 트리거합니다. AWS 람다 기능.
저자에 관하여
엔니오 파스토레 AWS Data Lab 팀의 선임 데이터 설계자입니다. 그는 비즈니스 및 일반 생계에 긍정적인 영향을 미치는 신기술과 관련된 모든 것을 좋아합니다. Ennio는 데이터 분석 분야에서 10년 이상의 경험을 가지고 있습니다. 그는 회사가 통신, 은행, 게임, 소매 및 보험과 같은 산업 전반에 걸쳐 데이터 플랫폼을 정의하고 구현하도록 돕습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- 플라토 블록체인. Web3 메타버스 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/big-data/push-amazon-emr-step-logs-from-amazon-ec2-instances-to-amazon-cloudwatch-logs/
- :이다
- 1
- 10
- 100
- 9
- a
- 소개
- 액세스
- 계정
- 가로질러
- 행위
- 활동적인
- 또한
- 주소
- 에이전트
- 경보
- 알림
- All
- 대안
- 아마존
- Amazon EC2
- 아마존 EMR
- 분석
- 과
- 아파치
- 아파치 스파크
- 어플리케이션
- 어플리케이션
- 아키텍처
- 있군요
- AS
- At
- 자율적으로
- AWS
- 은행
- 기반으로
- BE
- 전에
- 시작하다
- BEST
- 큰
- 빅 데이터
- 부트 스트랩
- 빌드
- 사업
- by
- CAN
- 캡처
- 원인
- 채널
- 요금
- 왼쪽 메뉴에서
- 클러스터
- 수집
- 기업
- 완전한
- 진행완료
- 계산
- 구성
- 연결
- 고려
- 콘솔에서
- 함유량
- 지속적으로
- 핵심
- 대응
- 비용 효율적인
- 비용
- 수
- 만들
- 만든
- 생성
- 만들기
- 임계
- 사용자 정의
- 데이터
- 데이터 분석
- 태만
- 보여줍니다
- 배포
- 배포
- 배치하다
- 다른
- 디렉토리
- 분산
- 아래 (down)
- 드라이브
- 마다
- 이전
- 쉽게
- 에코
- 효과적으로
- 수
- 매니아
- 오류
- 필수
- 에테르 (ETH)
- 이벤트
- 이벤트
- 모두
- 예
- 기대하는
- 경험
- 수출
- 표현
- 실패
- 특색
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 필터링
- 필터
- Find
- 수행원
- 다음
- 럭셔리
- 에
- 기능
- 추가
- 미래
- 노름
- 일반
- 생성
- Go
- 큰
- 그룹
- 여러 떼
- 안내
- 있다
- 건강
- 도움
- 도움이
- 도움이
- 고도로
- 호스트
- 방법
- How To
- HTML
- HTTP
- HTTPS
- IAM
- ID
- 확인
- 식별
- 영향
- 구현
- 구현
- 중대한
- in
- 포함
- 포함
- 포함
- 개인
- 산업
- 정보
- 인프라
- 설치
- 설치
- 예
- 보험
- 인텔리전스
- 문제
- IT
- 일
- 작업
- JPG
- JSON
- 실험실
- 시작
- 시작
- 시작
- 레벨
- 처럼
- 로드
- 지방의
- 긴
- 유지
- 확인
- 관리
- 매니저
- 태도
- 방법
- 통계
- 수정
- 모니터
- 모니터링
- 배우기
- 여러
- name
- 이름
- 카테고리
- 필요
- 필요
- 신제품
- 새로운 기술
- 다음 것
- 노드
- 노드
- 공고
- 알림
- 번호
- of
- 제공
- on
- ONE
- 오픈 소스
- 운영
- 기타
- 출력
- 꾸러미
- 빵
- 매개 변수
- 매개 변수
- 특별한
- 특별히
- 통로
- 성능
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 긍정적인
- 게시하다
- 연습
- 제시
- 일차
- 프로세스
- 처리
- 프로필
- 제공
- 제공
- 규정
- 푸시
- 미는
- 빨리
- 현실
- 실시간
- 권하다
- 정규병
- 관련
- 공개
- 남아
- 자료
- 결과
- 소매
- 리뷰
- 직위별
- 뿌리
- 달리기
- 달리는
- 확장성
- 섹션
- 보안
- 전송
- 연장자
- 연속
- 서비스
- 세션
- 세트
- 영상을
- 단순, 간단, 편리
- So
- 소프트웨어
- 해결책
- 일부
- 불꽃
- 구체적인
- 스택
- 표준
- 스타트
- 시작 중
- 시작
- 단계
- 단계
- 중지
- 저장
- 상점
- 능률화
- 스트림
- 서브넷
- 성공적으로
- 이러한
- 수도
- 체계
- 시스템은
- 받아
- 팀
- 기술
- 통신
- 이 템플릿
- 그
- XNUMXD덴탈의
- 그들
- Bowman의
- 세
- 을 통하여
- 시간
- 시계열
- 에
- 더듬다
- 트리거
- 사용
- 가치
- 확인하는
- 관측
- 연습
- 시계
- 방법..
- 어느
- 동안
- 의지
- 과
- 없이
- 작업
- 워크플로우
- 쓰기
- 쓴
- 얌
- 년
- 너의
- 제퍼 넷