본문 바로가기

AWS/EMR14

[EMR] EMR 생성시 설정 변경 AWS EMR은 클러스터 생성 시점에 하둡 클러스터의 설정을 변경할 수 있습니다. hdfs-site.xml, core-site.xml의 설정을 json 형태로 전달하여 클러스터 생성 시점에 설정을 변경할 수 있습니다. https://docs.aws.amazon.com/ko_kr/emr/latest/ReleaseGuide/emr-configure-apps.html 애플리케이션 구성 - Amazon EMR Amazon EMR API 설명 및 나열 작업은 Amazon EMR 작업 흐름의 일부로 사용되는 사용자 지정 및 구성 가능한 설정을 내보내며 이 설정은 일반 텍스트로 표시됩니다. 이러한 설정에 암호와 같은 민감한 정 docs.aws.amazon.com 설정 변경 방법 클러스터 생성 시점에 "고급 옵션"으로.. 2021. 12. 1.
[EMR] EMR 장기간 운영시 HDFS의 edits 파일 확인 및 삭제 EMR을 장기간 운영하면 HDFS edits 파일이 로컬에 계속 쌓이게 됩니다. EMR은 기본적으로 세컨더리 네임노드를 실행하지 않기 때문에 HDFS를 빈번하게 사용하면 무시할 수 없는 속도로 파일이 생성됩니다. 운영중에 세컨더리네임노드를 실행하면 edits 파일을 복사해서 정리하기 때문에 10G의 edits 파일을 로컬에 복사하여 20G가 되게 되고 로컬 디스크에 용량이 충분하지 않다면 정리를 할 수 없습니다. 네임노드를 재 실행할 때 복구를 하지 않고, 신규로 생성할 것이라면 로컬의 edits 파일을 삭제 하면 됩니다. 삭제 명령은 다음과 같습니다. # 수정일자 확인후 6일전 파일은 삭제 sudo find /mnt/namenode/current/ -type f -name "edits_0*" -mtim.. 2020. 5. 22.
[EMR] EMR 하둡 클러스터에서 실행중인 세 가지 히스토리 서버 EMR의 마스터 노드에서 실행되는 여러 가지 서비스 중에서 작업 실행 정보를 확인할 수 있는 히스토리 서버 3가지에 대해서 알아보겠습니다. 얀 타임라인 서버 맵리듀스 히스토리 서버 스파크 히스토리 서버 얀 타임라인 서버(YARN Timeline Server) 얀 타임라인 서버는 하둡 클러스터를 통해 작업된 애플리케이션의 기록을 저장하고 조회할 수 있습니다. 실행 중인 애플리케이션, 작업 완료된 애플리케이션의 큐 정보, 사용자 정보, 작업 상태를 확인할 수 있습니다. 사용 방법 curl -s http://$(hostname -f):8188/ws/v1/timeline curl -s http://$(hostname -f):8188/ws/v1/timeline/DS_APP_ATTEMPT curl -s http:/.. 2020. 3. 6.
[EMR] EMR 하둡 클러스터의 기본 포트 및 사용법 EMR 하둡 클러스터에서 사용되는 포트와 기본적인 사용 방법은 다음과 같습니다. 타입 프로세스 포트 사용법 hdfs hdfs 8020 hadoop fs -ls hdfs://$(hostname -f):8020/ webhdfs 50070 curl -s http://$(hostname -f):50070/webhdfs/v1/?op=GETFILESTATUS | jq webhdfs-proxy 14000 curl -s "http:///$(hostname -f):14000/webhdfs/v1?op=GETFILESTATUS&user.name=hadoop" yarn resourcemanager 8032 resourcemanager web UI 8088 lynx http://$(hostname -f):8088 timelin.. 2020. 3. 5.
[EMR] AWS EMR의 클러스터 정보확인 위치 EMR 클러스터의 노드에는 클러스터의 인스턴스 개수나 클러스터 ID, 인스턴스 그룹 ID와 같은 정보를 확인하기 위한 json 파일이 있습니다. 이 정보를 확인하면 접속한 EMR의 정보를 알 수 있습니다. . $ cat /mnt/var/lib/info/job-flow.json { "jobFlowId": "j-xxxx", "instanceCount": 50, "masterInstanceId": "i-xxxx", "masterInstanceType": "r2.xlarge", "slaveInstanceType": "r4.2xlarge", "instanceGroups": [ ] } 2020. 1. 13.
[EMR] S3 503 Slow Down 오류 발생시 해결방법 EMR에서 하둡, 하이브 작업시 S3에 동시에 많은 요청이 들어가면 503 Slow Down 오류가 발생합니다. S3의 스펙상으로 동시에 5500개 이상의 요청이 들어가면 오류가 발생합니다. AmazonS3Exception: Internal Error (Service: Amazon S3; Status Code: 500; Error Code: 500 Internal Error; Request ID: A4DBBEXAMPLE2C4D) AmazonS3Exception: Slow Down (Service: Amazon S3; Status Code: 503; Error Code: 503 Slow Down; Request ID: A4DBBEXAMPLE2C4D) https://aws.amazon.com/ko/premi.. 2019. 12. 16.
[EMR] CORE 노드 레이블에 맞는 클러스터 활용 설정 EMR 5.19.0 버전부터 적용된 노드 레이블 설정에 따라서 YARN에 작업을 전달해도 클러스터를 100% 사용하지 못하는 경우가 발생할 수 있습니다. 클러스터의 구성이 CORE 10대 TASK 40대로 구성된 경우 노드레이블은 CORE, DEFAULT 로 구성되며 CORE는 CORE레이블, TASK는 DEFAULT 레이블로 구성됩니다. 이때 AM(Application Master)하나에 컨테이너 하나를 필요로 하는 작업을 실행하면 기본설정(yarn.node-labels.am.default-node-label-expression)에서 CORE 레이블에 AM이 실행되게 설정되어 클러스터의 자원에 여유가 있어도 작업을 실행하지 않고 대기하게 됩니다. 아래와 같이 AM Partition = CORE 인 상태.. 2019. 11. 19.
[EMR] AWS EMR의 hive cli에서 tez.queue.name가 설정되지 않는 문제 해결 방법 EMR 5.24로 변경후 hive cli에서 set tez.queue.name을 실행하여도 큐가 설정되지 않는 문제가 발생하였습니다. 상황 YARN의 큐 설정을 변경 기존 default큐를 제거하고, dynamic, batch로 큐를 설정 hive CLI에서 큐를 설정하고 작업을 실행하면 오류발생 Caused by: java.util.concurrent.ExecutionException: org.apache.tez.dag.api.TezException: org.apache.hadoop.yarn.exceptions.YarnException: Failed to submit application_111122223333_0034 to YARN : Application application_111122223333.. 2019. 11. 4.
[EMR] AWS EMR의 버전 선택 AWS EMR의 버전을 선택할 때는 버전에 따른 hadoop, hive, hue, spark 등의 버전을 확인해서 기존에 사용하는 애플리케이션과의 정합성을 확인해야 합니다. 다음 사이트에서 버전별 차이를 확인할 수 있습니다. 각 버전에 알려진 버그에 대해서도 기록되어 있기 때문에 이를 확인하고 작업하는 것이 좋습니다. 내용을 보면 5.20 버전에는 Hue와 하이브 TEZ의 작업에 문제가 있는 것을 확인할 수 있습니다. https://docs.aws.amazon.com/ko_kr/emr/latest/ReleaseGuide/emr-whatsnew-history.html Amazon EMR 새로운 소식 기록 - Amazon EMR Amazon EMR 새로운 소식 기록 모든 Amazon EMR 릴리스 버전의 릴.. 2019. 11. 1.
[AWS-EMR] EMR의 하이브메타스토어 재시작 AWS EMR의 하이브메타스토어를 재시작하는 방법은 다음과 같습니다. * 하이브메타스토어는 hive-hcatalog-server 라는 이름으로 서비스되고 있습니다. # 운영 중지 sudo stop hive-hcatalog-server # 운영 시작 sudo start hive-hcatalog-server 2019. 10. 10.
[AWS-EMR] EMR 일관성 보기 설정 EMR에서 S3에 데이터를 저장할 때 S3가 데이터 일관성을 지원하지 않기 때문에 같은 위치에 동시에 데이터를 쓰게 되면 데이터가 유실될 위험이 있습니다. 예를 들어 s3://[bucket]/a/b/c 위치에 한번에 100개 정도의 파일을 쓰게 되면 100개의 파일이 생성되지 않고, 파일이 유실되어 99개의 파일이 생성될 수 있습니다. Amazon S3 데이터 일관성 모델 참고 Amazon S3 소개 - Amazon Simple Storage Service Amazon S3 소개 본 Amazon Simple Storage Service(Amazon S3) 소개는 이 웹 서비스에 대한 세부 요약 정보를 제공합니다. 이 단원을 읽으면 이 제품의 혜택과 사업에의 적용 방법을 이해하게 됩니다. Amazon S3.. 2019. 8. 6.
[AWS-EMR] EMR에서 ResourceManager 같은 서비스 목록 확인, 시작 및 종료 AWS-EMR은 여러가지 기본적으로 실행되는 서비스 프로그램들이 있습니다. 이 서비스 목록을 확인하는 방법은 다음과 같습니다. AWS EMR의 주요 서비스의 경우 ps -e f 명령으로 프로세스 아이디를 찾아서 kill 명령으로 강제로 죽여도 EMR 내부적으로 서비스를 감시하는 프로세스가 자동으로 다시 실행합니다. https://aws.amazon.com/ko/premiumsupport/knowledge-center/restart-service-emr/ Amazon EMR에서 서비스 다시 시작 3. 몇 초 기다린 후 다음과 비슷한 명령을 실행하여 서비스를 시작합니다. aws.amazon.com 2019. 7. 18.
[AWS] EMR에서 S3의 데이터를 확인하는 경우 AWS 커맨드 추천 EMR 에서 S3 에 올려져 있는 파일을 확인하는 명령어는 - hadoop fs -ls s3://버켓/- aws s3 ls s3://버켓이사의 두개의 커맨드가 존재한다. 이중에서 aws 커맨드를 사용할 것을 추천한다. 이유는 aws 커맨드를 사용하는 것이 더 경량이기 때문이다. hadoop 커맨드는 java, aws 커맨드는 파이썬으로 구성되어 있어서hadoop 커맨드를 실행할때는 로드되는 커맨드가 많기 때문에 무겁고, 메모리도 많이 먹게 된다. 꼭 hadoop 커맨드를 사용해야 할 경우가 아니라면 aws 커맨드를 사용할 것을 추천한다. 2016. 8. 12.
[AWS/EMR] AMI v4.x 대의 포트 변경 AWS의 EMR 서비스의 AMI 버전이 4.x 대로 변경되면서 하둡의 기본 포트가 변경되었다. 기존과 같이 사용하면 오류가 발생하므로 수정해야 한다. Service Ports In Amazon EMR AMI versions 2.x and 3.x, some services used custom ports. emr-4.0.0 hosts these services on open source community defaults in most cases. Changes in Port Settings Setting AMI Version 3.x Release Label emr-4.x fs.default.name hdfs://emrDeterminedIP:9000 default (hdfs://emrDeterminedIP:.. 2015. 8. 13.