2010年5月20日木曜日

/etc/hostsの罠

皆様お久しぶりです。

会社でHadoopのテスト環境を構築していたのですが、思いっきり、はまったのでPOSTしてみます。

Hadoop周りの各種設定ファイル(core-site.xml, hdfs-site.xml, mapred-site.xmlなど)の設定は一通り完了し、テスト環境なのでファイアウォールもSELinuxもオフにした状態で、start-all.shでHadoopを起動したのですが、namenodeにdatanodeが認識されません。ちゃんとそれぞれのホストでプロセスが動作しているにも関わらず、です。

色々試していくうちに次のことに気がつきました。

  • telnet namenodeホスト名 9000 では、Namenodeプロセスに接続されない
  • telnet localhost 9000 では、Namenodeプロセスに接続される
DNSに問題はないし、9000ポートでListenしてるプロセスはいるわけだから・・・

  • netstat -nl
してみました。

127.0.0.1:9000でListenしてやがる事が判明。
/sbin/ifconfig で 192.168.xxx.yyy のethが起動していることは確認できている、ということは・・・
  • ping namenode
してみよう。
> PING namenode.FQDN(127.0.0.1)  56(84) bytes of data.
> (以下略)
・・・・ /etc/hosts またおのれか
/etc/hostsを開くと、案の定、
127.0.0.1 namenode.FQDN namenode localhost.localdomain localhost
という記述が見つかりました。大きなお世話だっつーの・・・(ToT)
/etc/hostsからnamenode.FQDNとnamenodeを取り除くと正常に動作しました。
はぁ・・・。

関連リンクぅ~~
/etc/hosts 再び

0 件のコメント:

コメントを投稿