fuse-dfs挂载hdfs实录

部署安装了最新稳定版hadoop2.2.0。然后在网上找来fuse-dfs编译教程。可是最后失败了。至今原因未知~~,错误描写叙述为:Transport endpoint is not connected。后将安装部署hadoop1.2.1版本号。最后測试成功,记录例如以下:

使用root完毕一下操作:

1、安装依赖包

apt-get install autoconf automake libtool make gawk g++ ant

2、卸载已有的fuse,安装fuse

apt-get purge fuse
apt-get purge libfuse2
tar -zxf fuse-2.9.3.tar.gz
cd fuse-2.9.3
./configure --prefix=/usr/fuse
make
make install

3、环境变量设置

ln -s  /usr/fuse/bin/fusermount /usr/bin/
 vi /etc/profile
export FUSE_HOME=/usr/fuse
export OS_ARCH=amd64(你的本机类型)
export OS_BIT=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:$FUSE_HOME/lib
source /etc/profile

4、编译libhdfs,fuse-dfs与hdfs的接口

cd $HADOOP_HOME/
ant compile-c++-libhdfs -Dlibhdfs=1 -Dcompile.c++=1
ln -s c++/Linux-$OS_ARCH-$OS_BIT/lib build/libhdfs

5、编译fuse-dfs

ln -s /usr/fuse/include/* /usr/include/
ln -s /usr/fuse/lib/libfuse.so /usr/lib/
ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1

6、挂在hdfs到本地

编辑fuse_dfs_wrapper.sh,vi $HADOOP_HOME/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh加上环境參数,尾行改动例如以下:

export JAVA_HOME=<你的javahome>
export HADOOP_HOME=<你的hadoophome>
export FUSE_HOME=/usr/fuse
export PATH=$PATH:$HADOOP_HOME/contrib/fuse_dfs
for f in ls $HADOOP_HOME/lib/*.jar $HADOOP_HOME/*.jar
do
export  CLASSPATH=$CLASSPATH:$f
done
export OS_ARCH=amd64
export OS_BIT=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:$FUSE_HOME/lib

末尾改动:

fuse_dfs [email protected]

改动fuse_dfs_wrapper.sh权限

chmod 755  ${HADOOP_HOME}/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh

建立链接

ln -s ${HADOOP_HOME}/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh /usr/local/bin
ln -s ${HADOOP_HOME}/build/contrib/fuse-dfs/fuse_dfs /usr/local/bin/ 

挂载hdfs到本地

mkdir -p /mnt/dfs
fuse_dfs_wrapper.sh dfs://localhost:9005 /mnt/dfs

注:localhost:9005为hadoop的core-site.xml配置文件里fs.default.name的值,前面加上“dfs”

卸载hdfs

umount /mnt/dfs

附录:

1、运行步骤5的时候。出现undefined reference to fuse_get_context等一些列的错误。

复制运行错误的命令,将-L和-l參数放到组后。运行可能会出现undefined reference to symbol ‘[email protected]@GLIBC_2.2.5‘的错误,那么最后加入-lm參数。问题解决。然后又一次运行编译

2、commons-logging#commons-logging;1.0.4: not found错误。改动ivy/libraries.properties文件的commons-logging.version=1.1.1就可以。

3、运行挂载的时候一定要将地址输正确。包含主机名和port号。否则会出现读写错误的问题。

时间: 2024-08-03 12:52:07

fuse-dfs挂载hdfs实录的相关文章

何时使用hadoop fs、hadoop dfs与hdfs dfs命令

hadoop fs:使用面最广,可以操作任何文件系统. hadoop dfs与hdfs dfs:只能操作HDFS文件系统相关(包括与Local FS间的操作),前者已经Deprecated,一般使用后者. 以下内容参考自stackoverflow Following are the three commands which appears same but have minute differences hadoop fs {args} hadoop dfs {args} hdfs dfs {a

Hadoop:hadoop fs、hadoop dfs与hdfs dfs命令的区别

http://blog.csdn.net/pipisorry/article/details/51340838 'Hadoop DFS'和'Hadoop FS'的区别 While exploring HDFS, I came across these two syntaxes for querying HDFS: > hadoop dfs > hadoop fs why we have two different syntaxes for a common purpose 为什么会对同一个功能

HDFS理论及基本命令

第六章的代码及命令的部分本人还未验证,先记录,验证后如有变动再更新. 一.是什么 1.是一个易于扩展的分布式文件系统 2.可以运行在大量普通廉价机器上,提供容错机制 3.可以为大量用户提供性能不错的文件存取服务 二.优点 高容错性:数据自动保存多个副本,副本丢失后,自动恢复 适合批处理:移动计算而非数据,数据位置暴露给计算框架 适合大数据处理:GB.TB.甚至PB级数据:百万规模以上的文件数量:10K+节点规模 流式文件访问:一次性写入,多次读取:保证数据一致性 可构建在廉价机器上:通过多副本提

hadoop2.6.0实践:hadoop dfs -ls /

[[email protected] data]$ hadoop dfs -ls /DEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it. Found 3 itemsdrwxr-xr-x - hadoop supergroup 0 2017-01-18 15:34 /examplesdrwx------ - hadoop supergroup

29.Hadoop之HDFS集群搭建笔记

0.修改IP,主机名,hosts文件 setup        修改网卡IP service  network  restart        重启网络服务使IP生效 vim /etc/sysconfig/network修改主机名 vim /etc/hosts/修改hosts文件 192.168.126.128 hadoop001 192.168.126.129 hadoop002 192.168.126.130 hadoop003 192.168.126.131 hadoop004 1.安装j

HDFS的Trash回收站功能

文件的删除和恢复 和Linux系统的回收站设计一样,HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户通过Shell删除的文件/目录,在系统回收站中都一个周期,也就是当系统回收站中的文件/目录在一段时间之后没有被用户恢复的话,HDFS就会自动的把这个文件/目录彻底删除,之后,用户就永远也找不回这个文件/目录了.在HDFS内部的具体实现就是在NameNode中开启了一个后台线程Emptier,这个线程专门管理和监控系统回收站下面的所有文件/目录,对于已经超过

HDFS入门(1)

2015.07.12笔记 1.HDFS Distributed File System(操作系统实现人机交互,最重要的功能是文件管理,使用文件管理系统,windows.Linux文件管理系统有共性:用户可创建文件/夹,删除,修改权限,修改源数据信息(创建.修改.访问时间等).在操作系统中的文件或者数据的管理是通过文件系统实现的,文件系统是操作系统实现文件管理的一个重要的组成部分,操作系统将文件放置到硬件(硬盘,服务器能有一万多兆)当中进行管理.在服务器中,数据的储存管理是通过我们写的程序进行管理

hdfs笔记

1.什么是分布式文件系统? 是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间. 2.为什么会有分布式文件系统? 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 . 3.分布式文件系统的优势 1)通透性 2)容错性(因为有副本机制,即使有些节点脱机,整体也不会造成数据损失) 3)不适合小文件(因为hdfs每一个文件都会在nam

fuse 虚拟文件系统 的 安装与使用

FUSE 是个好东西, 可以用在特殊的领域里面来实现自己的虚拟文件系统. FUSE的下载与安装 : 从fuse官网下载最新安装包:http://sourceforge.net/projects/fuse/files/fuse-2.X/ 安装很简单: ./configure make make install(注意:这一步要在root用户模式下做) 挂载 fuse 虚拟文件系统: modprobe fuse 查看fuse是否挂载成功: lsmod|grep fuse  执行该命令后会输出 [[em