Расширение одного из вопросов: Hadoop: не удалось подключиться к ResourceManager
Хадуп 2.6.1
У меня есть настроенный ResourceManager HA.
Когда я убиваю «локальный» ResourceManager (для проверки кластера), происходит отказоустойчивость, и ResourceManager на другом сервере становится активным. К сожалению, когда я пытаюсь запустить задание с помощью «локального» экземпляра nodemanager, он не «отрабатывает отказ» запроса на активный ResourceManager.
yarn@stg-hadoop106:~$ jps
26738 Jps
23463 DataNode
23943 DFSZKFailoverController
24297 NodeManager
25690 ResourceManager
23710 JournalNode
23310 NameNode
#kill and start ResourceManager, so the failover occur
yarn@stg-hadoop106:~$ kill -9 25690
~/hadoop/sbin/yarn-daemon.sh start resourcemanager
yarn@stg-hadoop106:~$ ~/hadoop/bin/yarn rmadmin -getServiceState rm1
standby
yarn@stg-hadoop106:~$ ~/hadoop/bin/yarn rmadmin -getServiceState rm2
active
#run my class:
14:56:51.476 [main] INFO o.apache.samza.job.yarn.ClientHelper - trying to connect to RM 0.0.0.0:8032
2015-10-29 14:56:51 RMProxy [INFO] Connecting to ResourceManager at /0.0.0.0:8032
14:56:51.572 [main] DEBUG o.a.h.s.a.util.KerberosName - Kerberos krb5 configuration not found, setting default realm to empty
2015-10-29 14:56:51 NativeCodeLoader [WARN] Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
14:56:51.575 [main] DEBUG o.a.hadoop.util.PerformanceAdvisory - Falling back to shell based
2015-10-29 14:56:52 Client [INFO] Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2015-10-29 14:56:53 Client [INFO] Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
пряжа-site.xml
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>clusterstaging</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2,rm3</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>stg-hadoop106</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>stg-hadoop107</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm3</name>
<value>stg-hadoop108</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>A:2181,B:2181,C:2181</value>
</property>
я не настраивал
<name>yarn.resourcemanager.hostname</name>
так как он должен работать "как есть" - поправьте меня, если я ошибаюсь :)
я пытался
<name>yarn.client.failover-proxy-provider</name>
но безуспешно
Любые идеи? Может быть, я ошибочно ожидаю, что клиент обнаружит активный узел RM?
Знаете ли вы, как переключать узел активным/резервным в опции «автоматического аварийного переключения»?
~/hadoop/bin/yarn rmadmin -failover rm1 rm2
Exception in thread "main" java.lang.UnsupportedOperationException: RMHAServiceTarget doesn't have a corresponding ZKFC address
~/hadoop/bin/yarn rmadmin -transitionToActive rm1 rm2
Automatic failover is enabled for org.apache.hadoop.yarn.client.RMHAServiceTarget@2b72cb8a
Refusing to manually manage HA state, since it may cause