部署安装了最新稳定版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 $@

改动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 'floor@@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号。否则会出现读写错误的问题。

最新文章

  1. nodejs express下使用redis管理session
  2. 01 java开发前小知识
  3. sql命令查看,清楚mysql bin日志
  4. Ext4 MVC CRUD操作
  5. 12 - 多线程、执行队列、GCD
  6. 王者荣耀是怎样炼成的(二)《王者荣耀》unity安装及使用的小白零基础入门
  7. python之socket--粘包补充
  8. 爬 NationalData ,虽然可以直接下,但还是爬一下吧
  9. MongoDB数据库(二):增删查改
  10. vue中element-ui树形控件自定义节点,注意一下
  11. python(9): GUI
  12. html转js字符串拼接
  13. django2.0 路由规则
  14. CRM 2016 一个IFrame页面,执行另一IFrame页面的函数
  15. 拥抱HTML5
  16. struts2 file
  17. 《DSP using MATLAB》Problem 2.4
  18. JSON相关
  19. Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别
  20. ubantu中让g++支持c++11的办法

热门文章

  1. 1.了解Objective-C语言
  2. 迅为iTOP-4418开发板串口虚拟控制台配置为普通串口
  3. jquery /css3 全屏的渐变背景
  4. Flask框架 之数据库扩展Flask-SQLAlchemy
  5. 11-2 numpy/pandas/matplotlib模块
  6. js 上传图片、压缩、旋转
  7. django 标签
  8. python3+beautifulSoup4.6抓取某网站小说(三)网页分析,BeautifulSoup解析
  9. 笔试算法题(17):奇偶数分置数组前后段 &amp; 反序访问链表
  10. 看完这篇 你就能完全操作git 远程分支的增、删、改、查了