歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu下面安裝和配置Hadoop的dfs-fuse

Ubuntu下面安裝和配置Hadoop的dfs-fuse

日期:2017/2/28 16:20:41   编辑:Linux教程

1. 安裝fuse:

首先去http://fuse.sourceforge.net/上下載和查看如何安裝fuse,我安裝的fuse是2.8.5版本的,下載2.8.5
版本後,使用如下三個命令安裝fuse:
./configure --prefix=/usr

make

make install
安裝完成後,可以使用如下命令測試fuse 是否安裝成功:

mkdir /tmp/fsue
fuse/example> ./hello /tmp/fuse
cat /tmp/fuse/hello 如果顯示hello world !就表示成功了。

2. 安裝ant :

查看一下當前系統有沒有ant ,如果沒有,使用sudo apt-get install ant 即可安裝

3. Hadoop 的安裝和配置:

我這裡使用的是hadoop 的 Pseudo-Distributed Mode ,配置如下:

<?xml version="1.0"?>

<!-- core-site.xml -->

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost/</value>

</property>

</configuration>

<?xml version="1.0"?>

<!-- hdfs-site.xml -->

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

<?xml version="1.0"?>

<!-- mapred-site.xml -->

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:8021</value>

</property>

</configuration>

將hadoop 配置好,並將hadoop 啟動,特別是hdfs ,以備後續測試使用。

4. 設置環境變量

我直接寫在了~/.profile 中以便後續使用方便

export JAVA_HOME=java 的根目錄,根據系統來設置
export HADOOP_HOME= hadoop 的根目錄,根據系統來設置

export OS_ARCH=i386 ( 如果你的系統是64 位的,應該寫成amd64 ,其實主要為了後面的路徑設置方便而設置,在$HADOOP_HOME/c++/ 的目錄下有兩個子目錄,一個是64 位的,一個32 位的,根據自己的系統選擇使用哪個目錄而已, 也有java 的相關目錄)
export OS_BIT=32 // 如果系統是64 位的,這裡應該寫64
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/$OS_ARCH/server:${HADOOP_HOME}/build/c++/Linux-$OS_ARCH-$OS_BIT/lib:/usr/local/lib:/usr/lib

5. libhdfs 的制作:

cd $HADOOP_HOME/
ant compile-c++-libhdfs -Dlibhdfs=1 -Dcompile.c++=1

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

6. fuse-dfs

cd $HADOOP_HOME

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

如果報錯,請查看相關軟件是否安裝上,我這裡報錯是automake 沒有安裝,用apt-get 安裝一下就沒問題了

7.fuse 配置
將如下內容放在$HADOOP_HOME/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh 腳本的最上邊

export JAVA_HOME=java 的根目錄,根據系統來設置
export HADOOP_HOME= hadoop 的根目錄,根據系統來設置

export OS_ARCH=i386 // 如果系統是64 位的,這裡應該寫amd64

export OS_BIT=32 // 如果系統是64 位的,這裡應該寫64
同時授予$HADOOP_HOME/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh 可執行權限chmod +x $HADOOP_HOME/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh

8. 測試

mkdir /tmp/dfs ( 用來將hdfs 的目錄映射到/tmp/dfs 上,對/tmp/dfs/ 下面進行的文件操作,比如mkdir ,touch 等命令會直接反映到hdfs 上)

$HADOOP_HOME/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh dfs://localhost:8020 /tmp/dfs

測試一下ls –l /tmp/dfs 看看下面顯示hdfs 下的目錄,如果touch 一個文件到/tmp/dfs 將會在hdfs 裡面顯示出來。

Copyright © Linux教程網 All Rights Reserved