Hama笔记:Unable to load native-hadoop library 和 Snappy native library not loaded 的解决
生活随笔
收集整理的這篇文章主要介紹了
Hama笔记:Unable to load native-hadoop library 和 Snappy native library not loaded 的解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Hama日志中總會看到這兩句話:
13/05/03 11:58:57 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 13/05/03 11:58:57 WARN snappy.LoadSnappy: Snappy native library not loaded這兩個庫都是壓縮文件時使用的,最近用Hama跑一些較大的數據的時候總是報錯,不知道是不是跟這兩個庫不能loaded有關,解決之后再試試。看了hadoop-snappy的源代碼(在這里),它裝載庫文件時使用的都是java.library.path,也就是java的默認庫地址。在我的機器上,這個地址是這樣的:
/usr/lib/jvm/java/jdk1.6.0_38/jre/lib/i386/server:/usr/lib/jvm/java/jdk1.6.0_38/jre/lib/i386:/usr/lib/jvm/java/jdk1.6.0_38/jre/../lib/i386:/usr/lib/jvm/java/jdk1.6.0_38/jre/lib/i386/client:/usr/java/packages/lib/i386:/lib:/usr/lib只要把libhadoop.so和libsnappy.so拷貝到以上路徑中任何一個位置即可。libhadoop.so可以在hadoop_home/lib/native下找到,有兩個文件夾,一個是AMD,一個是I386 . 里面有相應的架構的.so文件。libsnappy.so可以自己編譯生成,下載tar包(在這里),解壓之后 ./configure和make,.libs文件夾下可以看到.so文件。但該文件只是一個link文件,需要將它以及它的target文件一起復制到java.library.path下。編譯snappy.so時可能用到的命令:
sudo apt-get install g++ sudo apt-get install autoconf sudo apt-get install automake sudo apt-get install libtool ./configure make?
轉載于:https://www.cnblogs.com/jiama/archive/2013/05/03/3056419.html
總結
以上是生活随笔為你收集整理的Hama笔记:Unable to load native-hadoop library 和 Snappy native library not loaded 的解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抗日战争爆发后造纸专家谁四处奔走号召抗日
- 下一篇: 郑和夏熙阳是哪个电视剧的人物名