其实不是那么难,但是各种小问题搞了我一天。
1,确认你的机器安装了以下工具,可以通过yum安装:
yum install xxxxx
引用
automake
autoconf
libtool
这些工具,是编译hadoop源码是需要用到的。
这一点狠狠很重要
2,下载,安装ant
下载:apache-ant-1.8.4-bin.tar.gz
解压之,就行了。
3,下载,安装hadoop包
下载:hadoop-1.0.3.tar.gz
解压之,就行。
4,配置环境变量: (以下是我的机器配置,各个机器的安装路径可能不同)
引用
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.30.x86_64
export HADOOP_HOME=/usr/local/lib/hadoop-1.0.3
export OS_ARCH=amd64
export OS_BIT=64
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server:${HADOOP_HOME}/build/c++/Linux-amd64-64/lib:/usr/local/lib:/usr/lib
export ANT_HOME=/usr/local/lib/apache-ant-1.8.4
export PATH=$ANT_HOME/bin:$PATH
64位linux配置
引用
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.30.x86_64
export HADOOP_HOME=/usr/local/lib/hadoop-1.0.3
export OS_ARCH=i386
export OS_BIT=32
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server:${HADOOP_HOME}/build/c++/Linux-amd64-64/lib:/usr/local/lib:/usr/lib
export ANT_HOME=/usr/local/lib/apache-ant-1.8.4
export PATH=$ANT_HOME/bin:$PATH
32位linux配置
5,fuse的下载与安装:
下载地址:http://sourceforge.net/projects/fuse/files/fuse-2.X/
注意:并不是版本越新越好,有的linux并不支持新版本的一些特性,会出问题。
比如我的linux用2.9.1就会出问题,看到网上有人用2.8.6也出了同样的问题。
后来我最后选择的2.8.5就可以用了。
btw,我曾经用yum安装过一次,给我安装的是2.7.x,最后配置也失败。
安装方法:
引用
tar zxvf fuse-2.8.5.tar.gz
cd fuse2.8.5
./configure --prefix=/usr
make
make install
modprobe fuse
引用
vi /etc/sysconfig/modules/my.modules
#!/bin/sh
modprobe fuse >/dev/null 2>&1
chmod +x /etc/sysconfig/modules/my.modules
6,制作hdfslib
引用
cd $HADOOP_HOME/
ant compile-c++-libhdfs -Dlibhdfs=1 -Dcompile.c++=1
ln -s c++/Linux-$OS_ARCH-$OS_BIT/lib build/libhdfs
7,编译fuse-dfs
引用
cd $HADOOP_HOME
ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1
8,挂载hdfs到本地系套
引用
cd $HADOOP_HOME/build/contrib/fuse-dfs/
mkdir /testdfs
fuse_dfs_wrapper.sh dfs://x.x.x.x:54310 /testdfs
注意,此处运行完毕会报错:
引用
fuse-dfs didn't recognize /testdfs/,-2
这个问题不知道怎么解决,但是可以正常使用。btw,如果有其他错误的话,还是无法使用。
例如这个错误:
引用
/bin/mount: unrecognized option `--no-canonicalize'
这个错误就是linux的mount不支持,fuse中使用的参数,也就是需要换一个fuse的低版本再试下。
9,验证安装完毕。
cd到/testdfs目录下,ls一下,就可以看到dfs的根目录了。
遗留问题:
在一个老版本的linux上安装时,在进行modprobe fuse时,会报错如下:
FATAL: Module fuse not found.
网上搜了一圈,说是linux内核不支持fuse,需要更新内核,然后搜了下更新方法,貌似很危险,由于是线上服务器,不敢乱来,暂时搁置了。
参考资料:
引用
http://cqfish.blog.51cto.com/622299/208404
http://hi.baidu.com/siruiyang/item/51ba4fc02748be40a8ba9465
http://note.sdo.com/u/seeeyou/n/y8Wvx~jXSiUOwE03w000kM
http://2757758.blog.51cto.com/2747758/510563
http://linux.net527.cn/Linuxwendang/xitongguanliyuan/32583.html
cd /usr/lib/hadoop-1.0.4/build/contrib/fuse-dfs/ ; ./fuse_dfs_wrapper.sh dfs://10.aa.aa.aa:xxxxx /usr/local/share/hdfs-fuse/hdfs ; cd ~
分享到:
相关推荐
### Hadoop-Fuse-Dfs 安装与配置详解 #### 一、概述 本文档旨在为读者提供关于在CDH(Cloudera Distribution Including Apache Hadoop)环境下安装和配置Hadoop-Fuse-Dfs的详细步骤及注意事项。通过本文档的学习,...
本文主要介绍在CentOS环境下如何编译fuse-dfs,包括环境准备、依赖包安装、环境变量设置、libhdfs与fuse-dfs的编译步骤以及最后的环境配置与hdfs的挂载。 #### 环境要求 - **操作系统**: CentOS - **工具需求**: ...
- 编译完成后,FUSE-DFS可执行文件位于指定目录下。 - 使用该可执行文件,如示例所示`fuse_dfs hdfs://com.inspur.cc1:8020/zrm /mnt/dfs`,将HDFS的`zrm`目录挂载到本地的`/mnt/dfs`路径上。 这个过程完成后,...
### CDH5 Hadoop发行版离线安装手册 #### 基本概念 **1.1 什么是CDH** CDH是由Cloudera公司提供的Hadoop发行版,它基于Apache Hadoop项目的核心组件进行增强和封装,提供了一个更加稳定、可靠、易于管理和使用的...
4. 大公司如IBM的GPFS、LTFS,Google的Google File System,Red Hat的GlusterFS,以及DATADOMAIN的DDFS等采用用户空间文件系统。 用户空间文件系统的优点包括易于开发、移植和维护,以及降低错误导致系统崩溃的风险...
_TDFS(Trivially Distributed File System)_ 是一个基于 **FUSE(Filesystem in Userspace)** 的文件系统模块,它的设计目标是实现单写者-多读者模式的数据分发和集群。这种模式允许在分布式环境中高效地管理文件...
测试HDFS的IO性能,扩展性,并发性 测试fuse_dfs接口的IO性能,并发性 衡量HDFS代替MFS的可行性
可安装保险丝的,几乎为POSIX的分布式文件系统。 为什么选择MaggieFS? 为什么要使用新的分布式文件系统? 简而言之,由于可用的DFS受其功能集或体系结构的限制。 两种最成功的开源分布式文件系统是Hadoop和...
- **Linux FUSE**:如果编译`fuse_dfs`,需要FUSE库。 4. **配置过程** - **修改配置文件**:在`etc/hadoop`目录下,需要修改`core-site.xml`、`hdfs-site.xml`、`mapred-site.xml`和`yarn-site.xml`等配置文件...
10. **Linux FUSE**:如果编译fuse_dfs,则需要Linux FUSE(Filesystem in Userspace)版本2.6或以上。 11. **网络连接**:首次编译时需要互联网连接,用于下载所有Maven和Hadoop的依赖项。 #### 三、具体步骤 **2...
随着大数据时代的到来,对分布式文件系统(DFS)的性能要求日益提高,尤其是在处理大量数据的写入操作时。《分布式文件系统的写性能优化》一文针对BlueOcean这一对象存储技术构建的分布式存储系统,提出了切实可行的...
- **FUSE支持**:通过FUSE(Filesystem in Userspace)技术,可以直接将HDFS挂载到本地文件系统中使用。 - **REST API**:提供了RESTful API,使得非Java应用程序也能轻松地与HDFS交互。 #### 三、MapReduce编程...
分布式文件系统(Distributed File System,DFS)解决了这些问题,它允许文件分布在不同的网络节点上,通过网络进行访问,提供了一个统一的视图,用户无需关注数据的具体位置。 MFS,全称Moose File System,是一种...
随着信息技术的快速发展和海量数据处理需求的增长,分布式文件系统(Distributed File System, DFS)作为一种能够提供高性能、高可靠性和可扩展性的数据存储解决方案,在众多领域得到了广泛应用。本文将针对几个主流...
- **命令行工具**:Hadoop 自带了一系列命令行工具,如 hadoop fs、hadoop dfs 等,用于管理 HDFS 文件系统。 - **FUSE**:允许用户通过本地文件系统接口来访问 HDFS。 - **REST 支持**:Hadoop 提供 REST API,允许...
通过FUSE客户端,用户可以像操作本地文件一样方便地管理分布在各个节点上的数据。MooseFS还支持手动切换Master节点,确保系统的高可用性。此外,MooseFS还可以与Hadoop等大数据处理框架集成,便于进行大规模的数据...