-
fuse安装的情况下,需要使用root进行启动配置,如果需要使用其他账号挂载目录:
echo user_allow_other >> /etc/fuse.conf chmod +rx /bin/fusermount 然后在使用fusemount的命令加上一些选择,数字是用户id和组id -d -o uid=2001 -o gid=2001
-
下载fuse安装包到指定补录:
#wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.8.4/fuse-2.8.4.tar.gz/download?use_mirror=jaist&r=&use_mirror=jaist -P /usr/local
-
解压fuse-2.8.4.tar.gz:
#tar -zxvf fuse-2.8.4.tar.gz
-
安装配置fuse:
#cd fuse-2.8.4 #./configure #make #make install #modprobe fuse
注意,当make时可能会提示:无法找到makefile错误而导致无法编译,可能是gcc没有安装,检查后是否安装了gcc,如果没有安装则执行如下命令: centos#yum-y install gcc
安装完毕后 执行make & make install 以及modprobe fuse命令vim /etc/sysconfig/modules/my.modules #!/bin/sh modprobe fuse >/dev/null 2>&1 chmod +x /etc/sysconfig/modules/my.modules
-
编译hadoop的libhdfs组件,编译此工具组件需要ant工具编译build java的源码文件,接下来则安装ant工具:
[root@localhost hadoop]#cd /usr/local/ [root@localhost hadoop]#wget http://www.meisei-u.ac.jp/mirror/apache/dist/ant/binaries/apache-ant-1.7.1-bin.tar.gz [root@localhost hadoop]#tar zxvf apache-ant-1.7.1-bin.tar.gz [root@localhost hadoop]#mv apache-ant-1.7.1-bin ant
- 将ant加入到系统环境变量 略过
-
正式编译 libhdfs工具组件:
#cd $HADOOP_HOME/ #ant compile-c++-libhdfs -Dlibhdfs=1 -Dcompile.c++=1 #ln -s c++/Linux-$OS_ARCH-$OS_BIT/lib build/libhdfs
此编译过程需要耐心等待,其中$OS_ARCH-$OS_BIT 是linux的系统位数,请运行:#file /bin/ls
命令查询本机的系统配置,并替换上述ln中的相应参数 -
编译fuse-hdfs:
#cd $HADOOP_HOME #ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1
过程中可能会出现错误:create-native-configure: BUILD FAILED /usr/local/hadoop/build.xml:634: Execute failed: java.io.IOException: Cannot run program "autoreconf" (in directory "/usr/local/hadoop/src/native"): java.io.IOException: error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:460) at java.lang.Runtime.exec(Runtime.java:593) at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:41) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:428) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:442) at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:628) at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669) at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:435) at org.apache.tools.ant.Target.performTasks(Target.java:456) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) at org.apache.tools.ant.Project.executeTarget(Project.java:1364) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1248) at org.apache.tools.ant.Main.runBuild(Main.java:851) at org.apache.tools.ant.Main.startAnt(Main.java:235) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) at java.lang.ProcessImpl.start(ProcessImpl.java:65) at java.lang.ProcessBuilder.start(ProcessBuilder.java:453) ... 23 more
请注意红色错误标记,则系统需要安装autoreconf 工具,安装命令如下:[root@localhost hadoop]# yum -y install automake autoconf
接下来继续运行ant编译:[root@localhost hadoop]# ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1
请查看编译过程日志,可能出现错误:[javac] Compiling 2 source files to /usr/local/hadoop/build/classes compile-mapred-classes: Trying to override old definition of task jsp-compile [javac] /usr/local/hadoop/build.xml:549: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds create-native-configure: [exec] configure.ac:42: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS [exec] ../../lib/autoconf/specific.m4:386: AC_USE_SYSTEM_EXTENSIONS is expanded from... [exec] ../../lib/autoconf/specific.m4:332: AC_GNU_SOURCE is expanded from... [exec] configure.ac:42: the top level [exec] configure.ac:42: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS [exec] ../../lib/autoconf/specific.m4:386: AC_USE_SYSTEM_EXTENSIONS is expanded from... [exec] ../../lib/autoconf/specific.m4:332: AC_GNU_SOURCE is expanded from... [exec] configure.ac:42: the top level [exec] configure.ac:42: warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS [exec] ../../lib/autoconf/specific.m4:386: AC_USE_SYSTEM_EXTENSIONS is expanded from... [exec] ../../lib/autoconf/specific.m4:332: AC_GNU_SOURCE is expanded from... [exec] configure.ac:42: the top level [exec] configure.ac:48: error: possibly undefined macro: AC_PROG_LIBTOOL [exec] If this token and others are legitimate, please use m4_pattern_allow. [exec] See the Autoconf documentation. [exec] autoreconf: /usr/bin/autoconf failed with exit status: 1 BUILD FAILED /usr/local/hadoop/build.xml:634: exec returned: 1 Total time: 18 seconds
注意红色的错误标记,接下来检查系统中工具m4是否安装,保险起见,直接运行安装命令:[root@localhost hadoop]# yum -y install m4
没有此错误则继续,运行ant编译命令,错误依旧,则执行安装libtool系统工具组件命令:[root@localhost hadoop]# yum -y install libtool
安装成功后继续执行ant安装命令,问题解决。 -
修改fuse配置文件:
[root@localhost fuse-dfs]# vim $HADOOP_HOME/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh
文件内容如下:# # Copyright 2005 The Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # if [ "$HADOOP_HOME" = "" ]; then export HADOOP_HOME=/usr/local/hadoop fi export PATH=$HADOOP_HOME/contrib/fuse_dfs:$PATH for f in ls $HADOOP_HOME/lib/*.jar $HADOOP_HOME/*.jar ; do export CLASSPATH=$CLASSPATH:$f done if [ "$OS_ARCH" = "" ]; then export OS_ARCH=amd64 fi if [ "$JAVA_HOME" = "" ]; then export JAVA_HOME=/usr/local/jdk6 fi if [ "$LD_LIBRARY_PATH" = "" ]; then export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/$OS_ARCH/server:/usr/local/hadoop/build/libhdfs:/usr/local/lib fi ./fuse_dfs $@ ~
将红色标记处修改为自己的路径即可,保存退出 -
设置权限:
chmod +x /data/soft/hadoop-2.20.1/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh chmod +x /data/soft/hadoop-2.20.1/build/contrib/fuse-dfs/fuse_dfs #建立软连接,方便操作 ln -s /data/soft/hadoop-2.20.1/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh /usr/local/bin ln -s /data/soft/hadoop-2.20.1/build/contrib/fuse-dfs/fuse_dfs /usr/local/bin/ #创建mount目录 mkdir /mnt/dfs
-
手动挂载hdfs系统到本地的/mnt/dfs:
[root@localhost fuse-dfs]# ./fuse_dfs_wrapper.sh dfs://192.168.170.248:9000 /mnt/dfs port=9000,server=192.168.170.248 fuse-dfs didn't recognize /mnt/dfs,-2
出现错误 fuse-dfs didn't recognize /dfs,-2 不影响使用 -
加入到开机启动项:
vi /etc/fstab fuse_dfs_wrapper.sh dfs://192.168.1.11:54310 /mnt/dfs fuse rw,auto 0 0
-
上传文件到hdfs系统:
[hadoop@localhost ~]$ hadoop fs -mkdir test [hadoop@localhost data]$ hadoop fs -put /usr/local/hadoop/data/input* test
-
查看本地挂载目录内容:
[root@localhost fuse-dfs]# ll /mnt/dfs/
后语:本次安装fuse还算顺利,本文编写文章按照安装次序编排,根据个人系统环境,个别系统插件工具安装可以跳过
- 浏览: 466168 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (111)
- 数据库 (8)
- java (24)
- BI (1)
- tomcat (3)
- javascript/css (8)
- 服务架构 (1)
- mule (6)
- cas (4)
- mondrian (4)
- webservice (1)
- SOA (3)
- Lucene/HibernateSearch (2)
- Linux (15)
- 操作系统 (3)
- hibernate (2)
- jbpm (1)
- apache (1)
- phpstudy (1)
- hadoop (27)
- hive (7)
- hbase (8)
- svn (1)
- eclipse (3)
- mahout (1)
- mail (1)
- oracle (1)
- mysql (4)
- axis2 (1)
- python (2)
- kafka (1)
- lucene (1)
- nutch (1)
- spark (2)
- idea (2)
- flume (0)
- ubuntu (1)
- pheonix (2)
- drill (2)
- tez (4)
- pig (1)
- tensorflow (1)
最新评论
-
zhangyou1010:
zhangyou1010 写道请教,我执行mount -t n ...
NFS挂载hdfs到本地 -
zhangyou1010:
请教,我执行mount -t nfs -o vers=3,pr ...
NFS挂载hdfs到本地 -
hengfengyiyingdong:
为什么我查出来的hbase数据都是base64编码的? 我保存 ...
apache drill 0.8.0 单机/分布式安装测试 -
107x:
不错,谢谢!
Hive metastore三种存储方式 -
duguyiren3476:
确实不怎么快,httpfs的上传你可以理解为普通的httpup ...
hadoop2.5.2配置httpfs服务
评论
2 楼
duguyiren3476
2014-12-12
用的是hadoop 1.2.X
1 楼
kkgoing
2014-11-12
请问你的是hadoop什么版本啊?我总是在编译hadoop的libhdfs组件的时候报错,编译不成功!还有,现在的hadoop版本比如1.2.1版,是不已经有libhdfs.so,不用自己编译了
发表评论
-
spark运行在yarn上的一个异常
2017-05-03 18:08 9743主机配置内存不足,导致在yarn上运行job异常,下面是s ... -
drill1.0配置hive storage plugin及测试
2015-08-06 10:18 3187drill1.0配置hive storage plugin ... -
tez ui 安装测试
2015-08-04 17:03 4016tez ui 安装测试 标签(空格分隔): 未分类 环 ... -
编译tez 0.7
2015-07-29 16:30 2501tez自己编译0.7 版本,为了测试hadoop2.7.1 ... -
pig on tez测试
2015-06-02 14:16 1546pig on tez测试 pig tez had ... -
hive 小记
2015-06-02 11:41 1093hive 小记 hive hadoop hdf ... -
ambari 安装配置
2015-06-02 11:28 3206测试环境 centos6.5 64bit amb ... -
hive on tez hive运行在tez之上 安装测试
2015-05-26 18:53 15861hive on tez详细配置和运行测试 ... -
hadoop2.5.2配置httpfs服务
2015-05-08 12:58 7951hadoop2.5.2配置httpfs服务 h ... -
NFS挂载hdfs到本地
2015-05-07 18:34 16411NFS挂载hdfs到本地 nfs hdfs n ... -
apache drill 0.8.0 单机/分布式安装测试
2015-04-16 16:57 4553apache drill 0.8.0 安装测试 ... -
测试hbase预设分区
2015-04-07 20:06 1054测试hbase预设分区 phonex-4.3 ... -
Phoenix设置时间戳
2015-04-07 19:13 9494Phoenix设置时间戳 phonex-4.3 ... -
eclipse远程连接hadoop进行开发测试
2015-03-27 18:17 8574eclipse远程连接hadoop进行开发测试 马克 ... -
hadoop2.x jobhistoryserver 配置
2015-02-11 10:28 5405hadoop2.x jobhistoryserve ... -
hadoop balancer
2015-01-14 15:38 2657hadoop balancer 设置同步带宽 ... -
hadoop second namenode异常 Inconsistent checkpoint fields
2015-01-14 15:25 2526hadoop second namenode异常 Inc ... -
Hadoop2本地库和系统库版本不一致 解决方案
2014-12-21 19:29 0Hadoop2本地库和系统库版本不一致 解决方案 在 ... -
基于hadoop源码开发环境搭建
2013-04-23 13:42 1965基于hadoop源码开发环境搭建 在开发hadoo ... -
hadoop 在win系统中的eclipse开发测试问题及解决
2013-04-07 17:22 5174hadoop 在win系统中的eclipse开发测试问题及解 ...
相关推荐
#### 三、挂载HDFS 1. **挂载前的准备**: - 确保待挂载的本地目录的用户和用户组与HDFS上的对应目录的用户和用户组一致; - 如果HDFS启用了Kerberos认证机制,则需要先执行`kinit`命令进行认证。 2. **挂载命令...
使用协议缓冲区直接为FUSE和HDFS连接Linux内核(不需要JavaVM) 针对吞吐量密集型工作负载进行了设计和优化(在可能的情况下,将吞吐量交换为延迟) 完整的流媒体和自动预读支持 并发操作 内存中元数据缓存(非常...
标题中的“fuse编译方法”指的是在Linux系统中编译并集成FUSE(File System in Userspace)模块,以便能够将Hadoop的HDFS(Hadoop Distributed File System)作为一个用户空间文件系统挂载到本地文件系统的过程。...
#### 挂载HDFS 完成上述步骤后,就可以将HDFS挂载到本地文件系统上了。 1. 进入`$HADOOP_HOME/build/contrib/fuse_dfs`目录。 2. 执行挂载命令。 ```bash ./fuse_dfs_wrapper.sh dfs://namenodeIP地址:9000/mnt/...
2. HDFS FUSE:通过FUSE(用户空间文件系统)在Kubernetes节点上挂载HDFS,但性能可能受限。 3. HDFS CSI基于NFS网关:利用NFS网关,通过CSI提供HDFS存储,增加了Kubernetes的兼容性。 4. Ozone CSI:Ozone是Hadoop...
Ozone引入了HCFS API,使得它可以与大数据生态无缝集成,同时提供了S3 Gateway(S3G)以支持S3 API,Goofys用于FUSE挂载,以及Ozone-CSI支持Kubernetes的挂载。这使得Ozone不仅适用于传统的Hadoop应用,还能对接云...
Hadoop通过FUSE挂载HDFS到用户空间中,实现对HDFS文件夹的访问。 #### 六、系统架构与云架构设计 - **系统架构**:从底层硬件设施到顶层应用层面,依次为物理环境、Linux操作系统、Tomcat/Lighttpd Web服务器、...
FUSE技术是Linux系统中的一项重要技术,它允许用户空间程序挂载文件系统,无需修改内核代码。FUSE的引入,不仅降低了文件系统开发的难度,还提供了更高的灵活性和扩展性。论文作者正是基于FUSE技术的这些特性,针对...
在性能和速度方面,Alluxio通过其服务器端API转换功能,将客户端接口转换为原生存储接口,包括HDFS API、S3 API、FUSE HDFS API、Google Cloud API以及Swift API等。Alluxio的这种转换能力不仅包括不同存储系统接口...
- **FUSE支持**:通过FUSE(Filesystem in Userspace)技术,可以直接将HDFS挂载到本地文件系统中使用。 - **REST API**:提供了RESTful API,使得非Java应用程序也能轻松地与HDFS交互。 #### 三、MapReduce编程...
- **下载服务器配置**:每台下载服务器都配置有Nginx作为反向代理、FUSE用于文件系统的挂载、DataNode负责数据存储。硬件方面,每台服务器配备12块SATA硬盘(未使用RAID卡),并配有3块网卡(两外网、一内网)。 ##...
此外,虽然Ceph的安装和配置过程可能较为复杂,但其在数据分布和容错性方面的优势使其成为大规模、动态环境的理想选择。 其次,GlusterFS是另一个被广泛使用的分布式文件系统,它以其稳定性著称,适用于大型应用。...
- 将File Storage挂载到客户端用户空间,支持常见的FUSE挂载和Kubernetes持久卷。 5. **Object Storage**: - 对象存储功能,兼容S3接口,用于存储大对象和大数据应用。 6. **Hadoop Compatible File System**...
7. **FUSE支持**: 可以通过FUSE(Filesystem in Userspace)挂载为本地文件系统,提供标准的文件操作接口。 **三、seaweedFS的工作原理** seaweedFS分为两个主要组件:Master服务器和Volume服务器。Master服务器...
它支持原生API、HTTP等多种通讯协议,也可以通过FUSE挂载进行文件系统访问,但是需要注意的是FastDFS本身不支持POSIX标准。 与其他分布式存储系统相比,如TFS、HDFS、MogileFS、Ceph等,FastDFS具有独特的特点和...
此外,Hadoop还提供了多种数据访问接口,如Hive(类似MySQL的数据仓库)、Pig(数据流编程语言)和FUSE(将HDFS挂载为本地文件系统),增强了数据处理的灵活性。 3. **HLoad**: 这个程序主要用于将日志文件复制到...
客户端可以通过FUSE(文件系统用户空间)或SDK来访问JuiceFS,实现文件系统的挂载和应用集成。 JuiceFS产品的优势在于其灵活性、性能、高可用性、无容量规划需求、跨云复制、数据安全性以及高性价比。具体而言,它...
- 此外,使用fuse进行调参以提高系统的性能和稳定性也是百度采取的策略之一。 ***DB-NFS的多租户支持 - CCDB-NFS支持通过User和Region进行多租户管理,提供ACL(访问控制列表)和Quota(配额限制)来实现权限隔离...