1. ホーム
  2. java

[解決済み] Hadoop "Unable to load native-hadoop library for your platform" 警告

2022-01-31 14:11:21

質問内容

現在、Hadoopの設定を CentOs . を実行すると start-dfs.sh または stop-dfs.sh , 以下のエラーが発生します。

WARN util.NativeCodeLoader: のネイティブ-Hadoop ライブラリをロードできません。 あなたのプラットフォームでは、組み込みのJavaクラスを使用しています。

私が実行しているのは Hadoop 2.2.0です。

ネットで検索すると、こんなリンクが出てきました。 http://balanceandbreath.blogspot.ca/2013/01/utilnativecodeloader-unable-to-load.html

しかし /native/ ディレクトリが違うようなので、どうしたらいいかわかりません。

また、この2つの環境変数を hadoop-env.sh :

エクスポート HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"

export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"

何か思い当たることはありますか?

解決方法は?

64bitのCentOSでHadoopを動かしているのでしょう。警告が出た理由は、Hadoopのネイティブライブラリである $HADOOP_HOME/lib/native/libhadoop.so.1.0.0 は、実際には32ビットでコンパイルされていました。

いずれにせよ、これは単なる警告であり、Hadoopの機能に影響を与えるものではありません。

この警告を消したい場合は、Hadoopのソースコードをダウンロードし、再コンパイルします。 libhadoop.so.1.0.0 を64ビットシステムで実行し、32ビットのものを置き換えます。

Ubuntuの場合、ソースコードを再コンパイルする手順が記載されています。

頑張ってください。