感谢支持
我们一直在努力

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

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 里面显示出来。

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu下面安装和配置Hadoop的dfs-fuse
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏