なぜかJobTracker Recoveryページへのアクセスが多いので、JobTracker HA(高可用性JobTracker)についても再度触れておきます。
以前書いたように、CDH4.2以降では JobTrackerを高可用性にすることができるようになっています。これにより、JobTrackerに障害が生じた場合のダウンタイムを減らすことができます。※残念ながらApacheの1.0系には取り込まれていません。
JobTrackerの構成
構成図
高可用性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に接続すると、アクティブにリダイレクトされてしまうようです。

注意点
JobTrackerがファイルオーバーした後、全てのジョブは新しいJobTrackerで「リスタート」されます。つまり、タスク単位でリスタートされるわけではありませんので、そういう意味では JobTracker Recoveryに近い挙動になりますね。タスク単位でのリカバリが必要な方は頑張って実装して下さい。
その他
なお、MRv2でのResource Managerの高可用性については、Configuring High Availability for Resource Managerが役立つと思います!また、 @oza-x86さんのツイートなどをウォッチされると最新情報が得られること間違いなし。
関連するJIRAのチケットはYARN-149、YARN-128など。


コメント