góry dzięki za wszelką pomocYARN ResourceManager nie podłączenia do nodemanager
Używam następujących wersjach:
Hadoop 2.2 Heca 3.4.5 HBase 0,96 gałąź 0,12
Kiedy idę do http: //: 50070 Jestem w stanie poprawnie zobaczyć, że działają 2 węzły.
Problem występuje, gdy przejdę do http: //: 8088 pokazuje 0 węzłów działających.
Rozumiem, że: 8088 odzwierciedla wskaźnik resourcemanager i pokazuje liczbę działających nodemanagerów. Demony zaczynają się, ale wydaje się, że nodemaniatorzy nie łączą się z menedżerem resourcemanager.
Jest to plik dziennika:
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)
Sprawdziłem i port 8031 jest otwarty.
EDIT:
Dla osób oglądających to w przyszłości, musiałem edytować przędzy site.xml aby wyglądać następująco:
<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>
Czy wskazałeś nazwę hosta menedżera zasobów na adres yarn.resourcemanager.resource-tracker.address? – facha
Czy potrzebuję tylko nazwy hosta? Czy nazwa hosta i port? A czy jest to tylko w węźle nodemanager lub we wszystkich węzłach? Wypróbowałem to, ale nic nie zmieniło, mogło być tak, że źle zepsułem port - nie jestem pewien, gdzie sprawdzić, z którego portu korzystać. –
Będziesz potrzebował sprecyzować nazwę hosta: port. Tak, musi być ustawiony na wszystkich węzłach, a nie tylko na węźle ResourceManager (wszystko będzie dobrze, wystarczy skopiować ten sam kod confo do wszystkich węzłów). Jeśli potrzebujesz minimalnych roboczych konfiguracji, aby zacząć, zajrzyj tutaj: http://toster.ru/q/57046#answer_208326 – facha