CDH4 HDFSシンボリックリンクの現状

事の発端は、CDH4.1のリリースがされたのでテスト環境のCDH4.0をアップグレードしてみよう、というものでした。

  • 過去記事:How to upgrade from CDH4.0 to CDH4.1 for Debian

  • 本来はすんなり成功するものなのですが、前回のクラスタ起動から久々のNameNode再起動ということで、その間に隣の人がよからぬファイルを作成していたことが原因で、アップグレードが困難になりました、その記録になります。



    NameNodeのSafeMode ONが永久に終わらなかった件

    アップグレードが無事に終わったと思いきや、NameNodeのSafeMode ONが全然終わらずイライラしていました。NameNodeのログにも管理画面にも一切変化がないので、dfsadminでガスッとOFFにしてみたらOFFにはなったのですが、気持ち悪いのでちゃんと調べてみました。

    と、いうことで結果的にはそのシンボリックリンクを消したら、SafeMode ONの問題は解消し、いつも通り数十秒でOFFになってくれました。

    で、せっかくシンボリックリンクについて調べたので記録しておきます。


    シンボリックリンクの現状調査

    リンクの作り方

    hadoop fs
    [#HDFS-245] Create symbolic links in HDFS – ASF JIRA を見てると hadoop fs コマンドでシンボリックリンクが作成できそう!

    ・・・ないじゃねーか! 次!!

    HDFS Fuse

    怒られたじゃねーか! 次!!

    WebHDFS

    WebHDFS REST API – Create a Symbolic Link こんなものがあったのか! ということで実行してみる。

    できたくせー! WebHDFS最強伝説。


    リンクの確認


    hadoop fs

    リンクとして機能してねぇ・・・

    HDFS Fuse

    WebHDFS

    同じ方法で作ったものが見れないってどういう了見や。

    リンクの削除


    hadoop fs & HDFS Fuse

    当然の結果なので最後の手段へ・・・

    WebHDFS


    シンボリックリンクまとめ


    操作\手段hadoop fsFuseWebHDFS
    create××
    open ××
    delete××


    ちゃんとした手段はあるのかもしれないけど、私の思いつく一般的な方法では、シンボリックリンクとして機能しないどころか、リンクが存在するだけでNameNodeを再起動した時に SafeMode ON が終わらなくなる、ということで・・・

    また1つHadoopの闇を見通せて気分は悪くないですな。