Hadoopの问题解决:util.NativeCodeLoaderをWARN:ご使用のプラットフォーム用のネイティブHadoopのライブラリをロードできません...該当する場合に組み込み、Javaクラスを使用して

 

 

 一回のHadoop環境を構成し、そのような警告を見つける./start-all.sh開始するコマンドが頻繁に表示されます:

util.NativeCodeLoader WARN:ご使用のプラットフォーム用のネイティブHadoopのライブラリをロードできませんが...該当する場合に組み込み、Javaクラスを使用して

この問題の解決には方法を総括:

警告で説明したように問題を見つけ、ネイティブHadoopのライブラリをインポートすることができなかったと言ってディレクトリ内のネイティブファイルlibhadoop.so.1.0.0静的ライブラリを見ている、この問題は、一般的にパッケージのバージョンに依存している低すぎる鉛非互換性に問題。

1、インターネットので、いくつかのLinuxシステムが32ビットである、libhadoop.so.1.0.0は64で、それはこの問題を引き起こすだろうと言う、我々は最初の行を見て

[ルート@マスターsbinに]#1のuname - rを
 2.6に32 - 279 .el6.x86_64

libhadoop.so.1.0.0バージョンを見に

[ルート@マスターネイティブ]#ファイルlibhadoop.so。1.00 
libhadoop.so。1.00:ELF 64ビットLSB共有オブジェクト、X 86- 64、バージョン1(SYSV)、動的にリンクされ、ストリッピングされません

あなたはバージョンは64ビット、問題はないです見ることができます。

 

2、最初の質問を除いて、我々は依存ライブラリのバージョンを見てみることができます

[ルート@マスターネイティブ]#1のLDD libhadoop.so。1.00 /libhadoop.so。1.00:/lib64/libc.so。6:バージョン`GLIBC_2。14 " (./libhadoop.so.1.0.0で必要とされる)が見つかりません 
        linux-vdso.so。1 =>(0x00007fff31efd000 
        libdl.so。2 => /lib64/libdl.so。20x00007f654dd25000 
        libpthread.so。0 => /lib64/libpthread.so。00x00007f654db07000 
        libc.so. 6 => /lib64/libc.so。60x00007f654d775000  / lib64に/ LD-Linuxベースx86ベース64の.so。20x00007f654e155000

GLIBC_2.14バージョンが見つからない場合、我々はそれをシステムライブラリglibcのバージョンを確認しようとしています

[ルート@マスターsbinに]#のLDD - バージョン
LDD(GNUのlibcの)2.12 
著作権(C)2010 Free Software Foundationが、株式会社
これはあるフリーソフト。ソース参照のためのコピー条件を。ありませんNO 
保証は、ないため特定の目的に対する商品性や適合。
由ローランド・マクグラス和ウルリック・ドレパー编写。

あなたは、現在のバージョンを確認することができ、それが次のバージョンは、GLIBCをサポートしていることが確認された、2.12であります

由ローランド・マクグラス和ウルリック・ドレパー编写。
[ルート@マスターsbinに]#文字列 /lib64/libc.so。6 | grepのGLIBC 
GLIBC_2。2.5 
GLIBC_2。2.6 
GLIBC_2。3 
GLIBC_2。3.2 
GLIBC_2。3.3 
GLIBC_2。3.4 
GLIBC_2。4 
GLIBC_2。5 
GLIBC_2。6 
GLIBC_2。7 
GLIBC_2。8 
GLIBC_2。9 
GLIBC_2。10 
GLIBC_2。11 
GLIBC_2。12 
GLIBC_PRIVATE

バージョン2.12へ、そして私たちのHadoopのバージョンの最大のサポートは、基本的な問題が発生しているかを決定することができ、2.14である。そして、次のソリューションは、システムCLIBCのバージョンを更新することです。

ここで公式バージョンはGLIBC   http://ftp.gnu.org/gnu/libc/

私たちは、バージョン2.12よりも高いを選びました

wgetののhttp:// ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz

次に、それは、インストールのglibc-2.17.tar.gz

[ルート@マスター/]#のCDは/ opt / 
[ルート@マスターOPT]#wgetのはhttp:// ftp.gnu.org/pub/gnu/glibc/glibc-2.17.tar.gz 
[ルート@マスターOPT]#タール-zxvf glibc- 2.17 .tar.gzの
[ルート@マスターOPT]#には、CDのglibc - 2.17 
[ルート@マスターのglibc - 2.17 ]#
[ルート@マスターのglibc - 2.17 ]#1は、mkdirビルド
[ルート@マスターのglibc - 2.17 ]#のCD /構築
[ルート@マスタービルド]#
[ルート@マスタービルド]#を... /設定--prefix =は/ usr --disable-プロファイル--enable-アドオン--with-のヘッダー=は/ usr /含めます- -binutilsを=は/ usr / binに
[ルート@マスタービルド] #make && make installを

インストールが完了したらチェックCLIBCバージョンです:

[ルート@マスタービルド]#文字列が/lib64/libc.so。6 | grepのGLIBC 
GLIBC_2。2.5 
GLIBC_2。2.6 
GLIBC_2。3 
GLIBC_2。3.2 
GLIBC_2。3.3 
GLIBC_2。3.4 
GLIBC_2。4 
GLIBC_2。5 
GLIBC_2。6 
GLIBC_2。7 
GLIBC_2。8 
GLIBC_2。9 
GLIBC_2。10 
GLIBC_2。11 
GLIBC_2。12 
GLIBC_2。13 
GLIBC_2。14 
GLIBC_2。15 
GLIBC_2。16 
GLIBC_2。17
GLIBC_PRIVATE

2.17に支持されており、それがHadoopを開始している、私は私達の問題が解決されることを証明するために、警告が消えたことがわかりました。

./start-all.sh [ルート@マスターsbinに]#
[マスター]にnamenodesを開始
datanodes開始
二namenodesを開始し、[マスター] 
のResourceManagerを開始
nodemanagersを開始

  

  

おすすめ

転載: www.cnblogs.com/fengguozhong/p/11724685.html