2013-12-16 3 views
14

감사 nodemanager에 연결하지 to http : // : 50070 2 노드가 실행 중임을 올바르게 확인할 수 있습니다.원사 ResourceManager에 어떤 도움</p> <p>내가 실행하고 다음 버전에 대해 사전에

문제는 내가 http : // : 8088에 갈 때 0 개의 노드가 실행 중임을 보여줍니다.

저는 이해합니다 : 8088은 resourcemanager를 반영하고 실행중인 노드 관리자의 수를 보여줍니다. 데몬이 모두 시작되지만 노드 관리자가 자원 관리자와 연결되어 있지 않은 것으로 보입니다.

로그 파일입니다

2013-12-16 20:55:48,648 INFO org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /127.0.0.1:8031 
2013-12-16 20:55:49,755 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
2013-12-16 20:55:50,756 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
2013-12-16 20:55:51,757 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
2013-12-16 20:55:52,758 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 3 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
2013-12-16 20:55:53,759 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 4 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 
2013-12-16 20:55:54,760 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 5 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS) 

내가 확인하고 8031 ​​포트가 열려 있습니다.

는 편집 : 앞으로이를 보는 사람들을 위해

, 나는 같이 내 실-site.xml 파일을 편집하는 데 필요한 다음

<property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
</property> 
<property> 
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
    <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.scheduler.address</name> 
    <value>master-1:8030</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.address</name> 
    <value>master-1:8032</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.webapp.address</name> 
    <value>master-1:8088</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.resource-tracker.address</name> 
    <value>master-1:8031</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.admin.address</name> 
    <value>master-1:8033</value> 
</property> 
+1

yarn.resourcemanager.resource-tracker.address가 자원 관리자의 호스트 이름을 가리 킵니까? – facha

+0

호스트 이름 만 필요합니까? 아니면 호스트 이름과 포트? 그리고 이것은 노드 관리자의 노드 또는 모든 노드에 있습니까? 나는 이것을 시험해 보았지만 아무 것도 바뀌지 않았다. 내가 틀린 포트가있을 수있다. 사용할 포트를 어디에서 확인할 지 확신 할 수 없다. –

+1

hostname : port를 지정해야합니다. 예, ResourceManager 노드뿐만 아니라 모든 노드에 설정되어야합니다 (모든 노드에 동일한 hadoop의 conf 디렉토리를 복사하면됩니다). 시작하려면 몇 가지 최소 작업 구성이 필요하면 여기를보십시오. http://toster.ru/q/57046#answer_208326 – facha

답변

7

당신은 지정해야합니다

호스트 이름 : 포트

예, 모든 고개를 끄덕에 설정해야합니다 es, ResourceManager 노드뿐만 아니라 (모든 노드에 동일한 hadoop의 conf 디렉토리를 복사하면됩니다.) 당신이 최소한의 작업 CONFIGS가 시작해야하는 경우, 여기 좀 봐 : toster.ru/q/57046#answer_208326

0

rsync 또는 scp 명령은 슬레이브 노드 마스터 노드에서 구성 파일을 복사하는 데 사용할 수 있습니다

for host in $HADOOP_CONF_DIR/slaves; do 
    rsync -rv $HADOOP_CONF_DIR/* $host:$HADOOP_CONF_DIR/ 
done 

참고, 여기 모든 노드에 동일한 hadoop 디렉토리 레이아웃이 있다고 가정합니다.

8

나는 매우 비슷한 문제가있어서 ResourceManager 호스트 이름을 지정함으로써 해결되었습니다. 서비스 당 정확한 주소를 말할 필요가 없습니다.

<property> 
    <name>yarn.resourcemanager.hostname</name> 
    <value>master-1</value> 
</property> 
0

또한 동일한 문제가 있었지만 제 경우에는 하나의 노드 관리 만 리소스 관리자에 나열되었습니다. yarn-site.xml에 속성 아래에 배치했으며 RM에 나열된 노드를 볼 수있었습니다.

<property> 
    <name>yarn.resourcemanager.hostname</name> 
    <value><master-1></value> 
</property> 
-2
  1. 체크 원사 HA 사용 또는 사용되지 않는 이유는 무엇입니까?
  2. yarn-site.xml yarn.resourcemanager.ha.rm-ids (예 : rm1, rm2) 에서 언급 한 각 리소스 관리자에 대해 resourcemanager 서비스를 실행하면 해당 리소스 관리자가 실행됩니다.
0

nodemanager가 리소스 관리자에 연결하지 않았지만 매우 비슷한 증상으로 인해 문제가 발생했습니다. 문제는 yarn-site.xml에서 "yarn.nodemanager.hostname"이라는 속성이 있거나 존재할 수 있다는 것입니다. 이 설정은 실수로 HDFS "namenode"의 호스트 이름으로 채워졌지만 노드 당 YARN "nodemanager"의 호스트 이름을 포함하고 있습니다. 다른 속성에 대해 입력 한 내용에 따라 "연결 다시 시도", "연결 거부 됨"또는 자원 할당 오류와 같은 다양한 오류가 발생했습니다. 이것을 "0.0.0.0"(기본값)으로 설정하면 문제가 해결됩니다.