JobTracker Higth Availability

なぜかJobTracker Recoveryページへのアクセスが多いので、JobTracker HA(高可用性JobTracker)についても再度触れておきます。
以前書いたように、CDH4.2以降では JobTrackerを高可用性にすることができるようになっています。これにより、JobTrackerに障害が生じた場合のダウンタイムを減らすことができます。※残念ながらApacheの1.0系には取り込まれていません。

JobTrackerの構成

jobtracker_ha

構成図

高可用性JobTracker HAは、高可用性NameNodeと同様に、アクティブとスタンバイの2台構成になります。
自動フェイルオーバーが有効になっている場合は、ZKFC(Zookeeper Failover Controller)とZooKeeperにより障害を検知し、フェンシングした後にフェイルオーバー(状態の遷移)が行われます。

[root@station212 ~]# sudo -u mapred hadoop mrhaadmin -getServiceState jobtracker1
DEPRECATED: Use of this script to execute mapred command is deprecated.
Instead use the mapred command for it.
standby
[root@station212 ~]# sudo -u mapred hadoop mrhaadmin -getServiceState jobtracker2
DEPRECATED: Use of this script to execute mapred command is deprecated.
Instead use the mapred command for it.
active
[root@station212 ~]# sudo -u mapred hadoop mrhaadmin -failover jobtracker2 jobtracker1
DEPRECATED: Use of this script to execute mapred command is deprecated.
Instead use the mapred command for it.
Failover to JobTrackerHAServiceTarget at station211.example.com/192.168.127.211:8023 successful
[root@station212 ~]#

設定方法

設定方法については、CDH4 High Availability Guideをご覧下さい。

WebUI

JobTrackerのWebUIは何も変わっていません。スタンバイのJobTrackerに接続すると、アクティブにリダイレクトされてしまうようです。
station211 Hadoop Map_Reduce Administration - 2013-11-26_17.13.51

注意点

JobTrackerがファイルオーバーした後、全てのジョブは新しいJobTrackerで「リスタート」されます。つまり、タスク単位でリスタートされるわけではありませんので、そういう意味では JobTracker Recoveryに近い挙動になりますね。タスク単位でのリカバリが必要な方は頑張って実装して下さい。

その他

なお、MRv2でのResource Managerの高可用性については、Configuring High Availability for Resource Managerが役立つと思います!また、 @oza-x86さんのツイートなどをウォッチされると最新情報が得られること間違いなし。
関連するJIRAのチケットはYARN-149、YARN-128など。

コメント