2012-03-31 7 views
1

私は非常に奇妙な問題を抱えています。私は、JavaでHDFSにデータを書き込むためにdfs-datastores Pail抽象化を使用しています。私はペールピースが問題に重要だとは思わない。Hadoop FileSystem.getFS()は約2分間停止します

ローカルファイルシステム上のパスを持つorg.apache.hadoop.fs.FileSystem getFS(java.lang.Stringパス)を呼び出すと、何もしないように見える約2分間ポーズします。これは私のラップトップにあります。

今日の私のオフィスでネットワークに接続していたとき、それは本当に速く働いていましたが、今ではもう一度やっています。私はJava 1.7でUbuntu 10.10 64-bitを実行しています。

誰もが何をしているか考えていますか?仕事中であることと家にいることとで異なることは何ですか?

更新: 私はデバッガでコードをステップ実行しており、Configuration.loadResource()に問題があるようです。それは複数回呼び出され、その関数から戻るまでには5〜10秒かかります。

UPDATE2: これをもう少し絞り込みました。最大のハングアップは、KerberosName.setConfiguration()を呼び出すときのようです。これは、Active DirectoryがKerberosサーバーとして機能して以来、なぜ高速で動作するのかを説明します。私はここに家を持っていないので、それを見つけることはできません。今、彼らはなぜ世界でJava Kerberosのものを読み込もうとしているのか疑問です。

+0

NameNodeログで興味深いものは何ですか? –

+0

NameNodeログはありません。ローカルのファイルシステムに書き込んでいます。ファイルシステムがぶら下がっている場所は、単にフォルダを作成するだけです。 –

+0

あなたのUbuntuにはNTFSマウントがありますか? –

答えて

1

私は解決策(または少なくとも回避策)を見つけました。私はkrb5-kdcパッケージをインストールしましたが、私の小さなプログラムは説明のつかない休止なしで速く動いています。この後、私はkrb5-kdcを削除してテストしましたが、まだ高速に実行されていました。私は/etc/krb5.confを削除して、一時停止をやり直しました。 UbuntuでHadoopライブラリを使うのは、少なくとも/etc/krb5.confファイルが必要です。

これは他の人に役立つかもしれません。

+0

Ubuntu 12.04.2 LTSで同じ問題が発生しました。 'sudo apt-get install krb5-config'を実行すると、/etc/krb5.confファイルが作成されました。 –

関連する問題