Hadoop fuse_dfs編譯與安裝

Fuse-dfs能夠將HDFS文件系統mount到本地,用於執行一些ls等基本的系統操做命令。Fuse-dfs位於$HADOOP_HOME/src/contrib/fuse-dfs目錄下,須要用戶進行編譯。現將其編譯步驟總結以下: c++

1.安裝autoconf(autoconf-latest.tar.gz)automake(automake-1.13.4.tar.gz)libtool(libtool-2.4.tar.gz)m4(m4-1.4.17.tar.gz)fuse(fuse-2.9.3.tar.gz app

2.確保機器上安裝了gcc軟件 ui

3.下載安裝Apache ant並設置ANT_HOME變量 spa

4.在$HADOOP_HOME下建立build目錄,將$HADOOP_HOME/c++拷貝到$HADOOP_HOME/build(備註,其最終格式爲$HADOOP_HOME/build/c++ 操作系統

5.在$HADOOP_HOME目錄下執行命令: server

ln -s c++/Linux-$OS_ARCH-$OS_BIT/lib build/libhdfs 編譯

6.設置一些環境變量 test

export OS_ARCH=amd64 變量

export OS_BIT=64 gcc

export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:$HADOOP_HOME/build/c++/Linux-amd64-64/lib:$JAVA_HOME/jre/lib/amd64/server

(備註,若是是32位系統須要作相應的修改)

7.若是在斷網狀態下,須要在本地創建ivy庫並準備相應的依賴包並修改ivy配置文件。

8.在$HADOOP_HOME目錄下執行下面兩條命令:

ant compile-c++-libhdfs -Dlibhdfs=1

ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1

9.若是編譯成功會在$HADOOP_HOME/build/contrib下生成fuse-dfs目錄併產生一些文件:

 

10.將$HADOOP_HOME/c++中的本地庫,根據操做系統是32仍是64,將相應的文件拷貝到/usr/lib或者/usr/lib64下。

11.給文件fuse_dfs_wrapper.sh賦予可執行權限

12.建立一個目錄例如/mnt/dfs,並將HDFS掛載到該目錄

./fuse_dfs_wrapper.sh dfs://localhost:8020/ /mnt/dfs(注意此時的HDFS文件系統必須以dfs://開頭)

若是出現下面的提示信息,不用擔憂,不影響使用

fuse-dfs didn't recognize /mnt/dfs,-2

相關文章
相關標籤/搜索