[HADOOP] YarnException : 허가받지 않은 컨테이너 시작 요청
HADOOPYarnException : 허가받지 않은 컨테이너 시작 요청
나는 3 클러스터에 hadoop2.2.0을 설치했다. 모든 것이 잘되고 있습니다. NodeManager 및 Datanode는 각 클러스터에서 시작됩니다. 그러나 단어 수를 계산할 때 100 % 매핑이 발생하고 다음과 같은 예외가 발생합니다.
map 100% reduce 0%
13/11/28 09:57:15 INFO mapreduce.Job: Task Id : attempt_1385611768688_0001_r_000000_0, Status : FAILED
Container launch failed for container_1385611768688_0001_01_000003 : org.apache.hadoop.yarn.exceptions.
YarnException: Unauthorized request to start container.
This token is expired. current time is 1385612996018 found 1385612533275
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
나는 해결책을 찾기 위해 인터넷을 통해 갔다. 그러나 나는 알아낼 수 없었다. 도와주세요.
해결법
-
==============================
1.이 예외는 노드가 다른 시간 설정을 가지고있을 때 발생합니다. 3 개의 모든 노드가 동일한 시간대 n 시간대 설정을 가지고 있는지 확인한 다음 컴퓨터를 다시 시작하십시오.
이 예외는 노드가 다른 시간 설정을 가지고있을 때 발생합니다. 3 개의 모든 노드가 동일한 시간대 n 시간대 설정을 가지고 있는지 확인한 다음 컴퓨터를 다시 시작하십시오.
이것은 나를 위해 일했습니다. 희망뿐만 아니라 당신 에게이 도움 !!!!
-
==============================
2.옵션 중 하나는 컨테이너의 수명을 설정하는 것입니다.
옵션 중 하나는 컨테이너의 수명을 설정하는 것입니다.
yarn.resourcemanager.rm.container-allocation.expiry-interval-ms
기본값은 10 분입니다.
예 : 서비스 전체 / 고급 yarn-site.xml 용 YARN 서비스 구성 안전 밸브
<property> <name>yarn.resourcemanager.rm.container-allocation.expiry-interval-ms</name> <value>1000000</value> </property>
-
==============================
3.시간 설정뿐 아니라 노드가 NTP를 실행하는지 또는 시간 동기화가 잘되는지 확인하십시오. 동일한 문제가 발생하여 노드 중 하나에 잘못된 YEAR이 설정되었음을 발견했습니다. 서로의 시간을 초 안에 넣으면 오류가 사라집니다.
시간 설정뿐 아니라 노드가 NTP를 실행하는지 또는 시간 동기화가 잘되는지 확인하십시오. 동일한 문제가 발생하여 노드 중 하나에 잘못된 YEAR이 설정되었음을 발견했습니다. 서로의 시간을 초 안에 넣으면 오류가 사라집니다.
-
==============================
4.갑자기이 오류가 발생하면 가상 시스템의 시간 이동으로 인한 것일 수 있습니다.
갑자기이 오류가 발생하면 가상 시스템의 시간 이동으로 인한 것일 수 있습니다.
시스템 시간은 잘 알려진 시간 소스와 동기화되지 않으면 장시간 실행중인 클러스터에서 몇 분 동안 표류 할 수 있습니다. 따라서 자체 시스템 시간을 사용하는 모든 클러스터 노드는 시간이 지남에 따라 산발적으로 시간 이동할 수 있습니다.
드리프트가 눈에 띄지 않을 수 있으므로 Hadoop 작업이 처음에는 성공적으로 실행될 수 있습니다. 그러나 장시간 운영하는 클러스터에서 작업자 시간 중 하나가 너무 길어서 (마스터 시간과 비교할 때) 10 분 간격을 초과하면 작업자에게 예약 된 YARN 컨테이너가 EXPIRED로 표시되기 때문에 작업이 실패합니다. AM이 제출합니다.
핵심 부분은 다음과 같습니다.
YARN 컨테이너 할당에 대한 자세한 내용은 다음을 참조하십시오. http://hortonworks.com/blog/apache-hadoop-yarn-resourcemanager/
따라서 yarn-site.xml 구성 파일에서 yarn.resourcemanager.rm.container-allocation.expiry-interval-ms를 늘리면 작업이 작동합니다.
하지만 이는 일시적인 해결 방법입니다.
NTP는 글로벌 시간 서버 및 마스터 / 작업자 노드와의 시간 동기화를 담당합니다.
클러스터의 모든 노드에서 NTP 데몬이 실행되고 있는지 확인해야합니다. 또한 NTP는 클러스터의 전체 수명주기 동안 "동기화"(ntpstat) 상태를 유지해야합니다. NTP가 동기화되지 않을 수있는 몇 가지 명백한 문제
http://support.ntp.org/bin/view/Support/TroubleshootingNTP
from https://stackoverflow.com/questions/20257878/yarnexception-unauthorized-request-to-start-container by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] ambari hadoop 설치 중 권한 거부 (공개 키, gssapi-keyex, gssapi-with-mic, 비밀번호) (0) | 2019.06.27 |
---|---|
[HADOOP] 스파크 조인에서 테이블 주문은 돼지처럼 중요합니까? (0) | 2019.06.27 |
[HADOOP] "잘못된 FS ... 예상 : file : ///"Java에서 HDFS에서 파일을 읽으려고 할 때 (0) | 2019.06.27 |
[HADOOP] 하둡의 분산 캐시에 대한 혼란 (0) | 2019.06.27 |
[HADOOP] Apache Pig에서 SequenceFile에 데이터 저장 (0) | 2019.06.27 |