问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问hadoop的hdfs文件系统和本地windows文件系统或linux文件系统是什么...

发布网友 发布时间:2022-04-23 17:27

我来回答

5个回答

懂视网 时间:2022-04-15 04:47

一、环境配置 1.主机系统:RedHat Enterprise Linux 6.1 (X86_64) Hadoop版本:hadoop-2.0.0-cdh4.3.0 JDK的版本:jdk1.6.0_45 Ant的版本:apache-ant-1.8.2 Maven的版本:apache-maven-3.1.0 2.环境需求: automake,autoconf,m4,libtool,pkgconfig,f

一、环境配置

1.主机系统:RedHat Enterprise Linux 6.1 (X86_64)

Hadoop版本:hadoop-2.0.0-cdh4.3.0

JDK的版本:jdk1.6.0_45

Ant的版本:apache-ant-1.8.2

Maven的版本:apache-maven-3.1.0

2.环境需求:

automake,autoconf,m4,libtool,pkgconfig,fuse,fuse-devel,fuse-libs

3.编译工具的下载及环境变量的设置:

(需要外部下载ant 1.8.2 ,maven 3.1.0,在apache网站下载即可)

安装过程:

#wget http://mirror.bjtu.edu.cn/apache//ant/binaries/apache-ant-1.8.2-bin.zip
#export JAVA_HOME=/usr/java/jdk1.6.0_45
#export HADOOP_HOME=/usr/hadoop/hadoop-2.0.0-cdh4.3.0
#export OS_ARCH=amd64
###i386/amd64 (可选)
#export OS_BIT=64
###32/64 (可选)
#export ANT_HOME=/root/apache-ant-1.8.2

#export PATH=$PATH:$ANT_HOME/bin

#export PATH=/root/apache-maven-3.1.0/bin:$PATH
备注:由于hadoop版本不同,可能会带来很多的问题,主要是它下面的文件目录很多,而且存放文件的路径不一样,所以如果你的版本跟我不同,你需要自己找到文件的路径

#yum -y install fuse fuse-devel fuse-libs

#modprobe fuse (挂载:modprobe 查看:lsmod 卸载:rmmod)

####以上内容也可以添加到环境变量文件/etc/profile中####

二、编译libhdfs

1.在编译libhdfs之前可以先测试下ant ,mvn是否已经配置好:

#ant -version

提示如下:
Apache Ant(TM) version 1.8.2 compiled on December 20 2010

#mvn -version

提示如下:

Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2;

2013-06-28 10:15:32+0800)
Maven home: /root/apache-maven-3.1.0
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /usr/java/jdk1.6.0_45/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-131.0.15.el6.x86_64", arch: "amd64", family: "unix"


2、进入安装路径:/usr/hadoop/hadoop-2.0.0-cdh4.3.0/src/hadoop-mapreduce1-project

编译libhdfs,因为libhdfs需要交叉编译,直接到src里面编译会报错,所以需要用ant编译。

注意:OS_ARCH和OS_BIT必须设置,否则会失败。

ant compile -Dlibhdfs=1 -Dcompile.c++=1


遇到的问题:

(1).不能下载ivy.2.2.0.jar包,原因是build.xml 文件里设置的mvnrepo的url出错:

解决办法:

(2).如果编译时出现卡顿(网络问题),可以ant clean 然后再重新编译.遇到hadoop2.0.0.配置文件中的问题:

解决办法:

需要定义reactor.repo的url:

在/usr/hadoop/hadoop-2.0.0-cdh4.3.0/src/hadoop-mapreduce1-project/ivy/ivysettings.xml文件中添加:

value="http://repo1.maven.org/maven2/"
override="false"/>

3、编译成功后,提示如下:

........................................

compile:

BUILD SUCCESSFUL
Total time: 9 minutes 38 seconds

........................................

创建动态连接库:

找到libhdfs.so的目录,关于libhdfs.so网上有人说是编译libhdfs后生成的,但是我编译后只生成了两个静态库( libhadooppipes.a和libhadooputils.a)。所以就直接用hadoop自带的,我这个版本hadoop-2.0.0-cdh4.3.0是在$HADOOP_HOME/lib/native这个目录下(如果没有,可以在网上下载:https://github.com/cloudera/impala/tree/master/thirdparty/hadoop-2.0.0-cdh4.3.0),然后将其目录下的库文件全部复制到$HADOOP_HOME/src/hadoop-mapreduce1-project/build/c++/Linux-amd64-64/lib再创建软连接如下

注意:一定要按照hadoop版本去找到对应的目录,再创建链接:

ln -s /usr/hadoop/hadoop-2.0.0-cdh4.3.0/src/hadoop-mapreduce1-project/build/c++/Linux-amd64-64/lib

/usr/hadoop/hadoop-2.0.0-cdh4.3.0/src/hadoop-mapreduce1-project/build/libhdfs

将编译好的动态库文件(.so结尾的文件)路径添加到动态连接中:

#export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$HADOOP_HOME/lib/:/usr/local/lib

:/usr/lib:/usr/hadoop/hadoop-2.0.0-cdh4.3.0/src/hadoop-mapreduce1-project/build/c++/Linux-amd64-64/lib

三、编译fuse-dfs:

(1)编译:

ant compile -Dlibhdfs=1 -Dfusedfs=1

如果编译失败,比较可能的原因是找不到libhdfs,仔细查看下libhdfs的路径,请参看第一步的ln -s,若编译成功后会在fuse-dfs/src目录下生成fuse_dfs可执行程序。如图:

(2)测试:

a.环境配置,然后编辑/etc/fuse.conf,写入以下内容
user_allow_other
mount_max=100

b.编辑$HADOOP_HOME/src/hadoop-mapreduce1-project/build/contrib/fuse-dfs/fuse_dfs_wrapper.sh

if [ "$HADOOP_HOME" = "" ]; then
export HADOOP_HOME=/usr/hadoop/hadoop-2.0.0-cdh4.3.0/src/hadoop-mapreduce1-project/
fi

#******************2013/9/13**********************
export PATH=$HADOOP_HOME/src/hadoop-mapreduce1-project/src/contrib/fuse-dfs/src:$PATH
#*************************************************
if [ "$OS_ARCH" = "" ]; then
export OS_ARCH=amd64
fi

if [ "$JAVA_HOME" = "" ]; then
export JAVA_HOME=/usr/java/jdk1.6.0_45
fi

if [ "$LD_LIBRARY_PATH" = "" ]; then
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$HADOOP_HOME/src/hadoop-mapreduce1-project/build/libhdfs/:$HADOOP_HOME/share/hadoop/hdfs/:/usr/local/lib:/usr/lib
fi

#*************** If dev build set paths accordingly*****************
if [ -d $HADOOP_HOME/src/hadoop-mapreduce1-project/build ]; then
for f in ${HADOOP_HOME}/src/hadoop-mapreduce1-project/build/*.jar ; do
export CLASSPATH=$CLASSPATH:$f
done
for f in $HADOOP_HOME/src/hadoop-mapreduce1-project/build/ivy/lib/Hadoop/common/*.jar ; do
export CLASSPATH=$CLASSPATH:$f
done
export PATH=$HADOOP_HOME/src/hadoop-mapreduce1-project/src/contrib/fuse-dfs:$PATH
fi

./fuse_dfs $@


(3)fuse挂载hdfs:

$mkdir /tmp/dfs
$cd $HADOOP_HOME/build/contrib/fuse-dfs
$./fuse_dfs_wrapper.sh dfs://hadoopmaster:9000 /tmp/dfs
说明:port=9000,server=hadoopmaster

成功提示:INFO fuse_options.c:162 Adding FUSE arg /tmp/dfs

备注:如果你有在hadoop上创建目录或上传文件,才会看到相应的目录文件

(4)卸载hdfs:

fusermount -u /tmp/dfs 或者umount /tmp/dfs

遇到的问题:

(1)挂载hdfs时报错:
./fuse_dfs: error while loading shared libraries: libhdfs.so.0.0.0: cannot open shared object file: No such file or directory

解决办法:
a.查看找不到的动态库:ldd fuse_dfs
b.将找不到的库的绝对路径添加到ld查找的配置文件中:/etc/ld.so.conf
c.运行 ldconfig 重建 /etc/ld.so.cache

四、测试命令

? hdfsclient写
dd if=/dev/zero bs=4096 count=%d | hadoop fs -put - %s/%s-%d.dat
? hdfsclient读
hadoop fs -get %s/f%03d.dat - > /dev/null
? fuse写
dd if=/dev/zero bs=4096 count=%d of=%s/%s-%d.dat
? fuse读
dd if=%s/f%03d.dat bs=4096 of=/dev/null

热心网友 时间:2022-04-15 01:55

hdfs的数据实际上是存储在本地文件系统中的。在配置hadoop时你需要配置hdfs的存储文件夹,如果你的用户名为root,文件夹位置是/root/tmp。那么你的hdfs的数据存储在/root/tmp/dfs/data/current中。其中block是块文件,也就是数据文件,.meta是元数据。hadoop是java写的,因此hadoop存储的数据的方式使用的也是java的方式。

热心网友 时间:2022-04-15 03:13

hdfs先把要存储的文件分片,然后通过网络传给hadoop集群上的机器,在不同的机器上存储不同的分片,为了提高系统的容错能力,每个分片都有3个副本(replication默认是3,可以在hadoop配置文件中配置),与操作系统的文件系统没有直接的关系。有一篇hdfs与linux文件系统比较的论文可以去相关的数据库检索到

热心网友 时间:2022-04-15 04:48

基于操作系统的文件系统之上构件的。它是虚拟分布式文件系统,实际内容也是存在操作系统的文件上。

热心网友 时间:2022-04-15 06:39

hadoop的hdfs文件系统
本地windows文件系统'
linux文件系统

都是系统。只是应用不同而已。
linux文件系统因为没有图形界面,所以安全性高一点
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有要业余时间弹古筝的酒店么 古筝演奏师的就业前景怎么样 茶馆里主要放的音乐类型是 日语一级的话什么水平啊 一级到底要求多少词汇啊? WPS右键菜单(win11) 再生缘 我的温柔暴君结局是什么啊?女主最后傻了? 为什么做爱多了没感情了 情侣之间在一起时间长了是不是做爱的时候也懒得接吻了直接进入主题吗... 夫妻性爱后为何丧失了热情 什么植物的叶子可以用来洗头的 hdfs是什么 我的多肉养了一年半,去年夏天去头之后越长越难看,根被压弯了,自己不好贸然动手修剪,请大家帮我看看 hdfs是什么意思? 什么植物去头皮 在hive客户端cli命令窗口下如何查看hdfs文件系统 龙须树能不能去头再养殖 在+hive+客户端+cli+命令窗口下如何查看+hdfs+文件系统 dnf安图恩20人副本怎么进去 怎样给多肉植物去头 如何查看hadoop hdfs文件系统 DNF安图恩20人副本改版后掉线时间过了,还可再去别的队伍吗? 树苗去头怎么处理 dnf安图恩门票为什么超过购买限制?改版了吗?一周能打几次? 什么植物可以去头屑?? dnf安图恩20人副本门票要什么材料 植物怎么掐头,掐头有什么好处? dnf安图恩20人副本在哪里?怎么进? dnf安图恩20副本门票要多少 dnf安图恩怎么退票?什么情况会退票? 西红柿开花后掐头怎么掐 苹果树四月下甸能修剪吗我的果树长的有点高现在想去头行吗 什么是HDFS? hadoop中存储文件系统hdfs的冗余机制是怎么进行的?有什么特点? 用什么方法或者什么植物洗发水去头皮头屑最好?有没有详细点的介绍 hdfs的特点有哪些 用什么植物油给新生儿去头污呢? 哪种洗发水去头皮屑好一点,还止痒?最好是植物型的。 有没有去除头屑的好办法 什么是Hadoop分布式文件系统 hdfs的启动流程 有一种植物的叶子能去头屑 什么是HDFS硬盘分布式存储? 纯中药纯植物洗发水,又可以防脱发,去头屑,养护头皮头发的有哪些? 分布式文件系统技术分析需要包含哪些,HDFS算作是其业界产品吗? 谁知道添加什么样的植物精油对去头皮屑比较有效?谢绝公告。 HDFS中,元数据节点是文件系统中真正存储数据的地方判断 hdfs文件系统可以代替mysql吗 全民k歌本地录音在哪个文件夹? 什么叫住房公积金组合贷款?