当前位置:首页 > 智能硬件 > 人工智能AI
[导读] 1. Hadoop概述 HADOOP是apache旗下的一套开源软件平台,利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 HADOOP的核心组件有: HD

1. Hadoop概述

HADOOP是apache旗下的一套开源软件平台,利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理

HADOOP的核心组件有:
HDFS(分布式文件系统)
YARN(运算资源调度系统)
MAPREDUCE(分布式运算编程框架)

2. HDFS的概念

hdfs是一个文件系统,用于存储文件,通过统一的命名空间–目录树来定位文件。它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。主要特性如下

HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M.

HDFS文件系统会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data

目录结构及文件分块信息(元数据)的管理由namenode节点承担
——namenode是HDFS集群主节点,负责维护整个hdfs文件系统的目录树,以及每一个路径(文件)所对应的block块信息(block的id,及所在的datanode服务器)

件的各个block的存储管理由datanode节点承担
—- datanode是HDFS集群从节点,每一个block都可以在多个datanode上存储多个副本(副本数量也可以通过参数设置dfs.replicaTIon)

HDFS是设计成适应一次写入,多次读出的场景,且不支持文件的修改

3. hdfs不适用的场景

低延迟的数据访问:hdfs的强项在与大量数据传输,延迟不适合他,10毫秒一下的访问可以无视hdfs,不过hbase可以弥补这个缺陷。

太多小文件: namenode节点在内存中hold住了整个文件系统的元数据,因此文件的数量就会受到限制,每个文件的元数据大约150字节,1百万个文件,每个文件只占一个block,那么就需要300MB内存。你的服务器可以hold住多少呢?

多处写和随机修改:目前还不支持多处写入以及通过偏量随机修改。

4. namenodes和datanodes

hdfs集群有两种类型的节点,一种为master及namenode,另一种为worker及datanodes。namenode节点管理文件系统的命名空间。它包含一个文件系统的树,所有文件和目录的原数据都在这个树上,这些信息被存储在本地磁盘的两个文件中,image文件和edit log文件。文件相关的块存在哪个块中,块在哪个地方,这些信息都是在系统启动的时候加载namenode的内存中,并不会存储在磁盘中。datanode节点在文件系统中充当的角色就是苦力,按照namenode和client的指令进行存储或者检索block,并且周期性的向namenode节点报告它存了哪些文件的block。

5. secondarynamenode

它是namenode的一个快照,会根据configuraTIon中设置的值来决定多少时间周期性的去cp一下namenode,记录namenode中的metadata及其它数据。

6. NodeManager(NM)

NodeManager是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点包括与ResourceManger保持通信,监督Container的生命周期管理,监控每个Container的资源使用(内存、CPU等)情况,追踪节点健康状况。

7. ResourceManager

在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicaTIonManagerRM与每个节点的NodeManagers (NMs)和每个应用ApplicaTIonMasters (AMs)一起工,b.ApplicationMasters负责与ResourceManager协商资源与NodeManagers合作启动容器.

8. hdfs客服端常用命令 hadoop fs-ls///如果提示警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...原因:系统预装的glibc库是2.12版本,而hadoop期望是2.14版本,所以打印警告信息。 解决方案:在log4j日志中去除告警信息,在/hadoop-2.5.2/etc/hadoop/log4j.properties文件中添加:log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR-ls功能:显示目录信息 示例: hadoop fs-lshdfs://localhost:9000/备注:这些参数中,所有的hdfs路径都可以简写-->hadoop fs-ls/等同于上一条命令的效果-mkdir功能:在hdfs上创建目录 示例:hadoop fs-mkdir-p/aaa/bbb/cc/dd-moveFromLocal功能:从本地剪切粘贴到hdfs 示例:hadoop fs-moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd-moveToLocal功能:从hdfs剪切粘贴到本地 示例:hadoop fs-moveToLocal /aaa/bbb/cc/dd /home/hadoop/a.txt--appendToFile 功能:追加一个文件到已经存在的文件末尾 示例:hadoop fs-appendToFile./hello.txt hdfs://hadoop-server01:9000/hello.txt可以简写为: Hadoop fs-appendToFile./hello.txt /hello.txt-cat功能:显示文件内容 示例:hadoop fs-cat/hello.txt-chmod功能:linux文件系统中的用法一样,对文件所属权限 示例: hadoop fs-chmod666/hello.txt-copyFromLocal功能:从本地文件系统中拷贝文件到hdfs路径去 示例:hadoop fs-copyFromLocal./jdk.tar.gz /aaa/-copyToLocal功能:从hdfs拷贝到本地 示例:hadoop fs-copyToLocal/aaa/jdk.tar.gz-cp功能:从hdfs的一个路径拷贝hdfs的另一个路径 示例: hadoop fs-cp/aaa/jdk.tar.gz /bbb/jdk.tar.gz.2-mv功能:在hdfs目录中移动文件 示例: hadoop fs-mv/aaa/jdk.tar.gz/-get功能:等同于copyToLocal,就是从hdfs下载文件到本地 示例:hadoop fs-get/aaa/jdk.tar.gz-getmerge功能:合并下载多个文件 示例:比如hdfs的目录 /aaa/下有多个文件:log.1,log.2,log.3,...hadoop fs-getmerge/aaa/log.*./log.sum-put功能:等同于copyFromLocal 示例:hadoop fs-put/aaa/jdk.tar.gz /bbb/jdk.tar.gz.2-rm功能:删除文件或文件夹 示例:hadoop fs-rm-r/aaa/bbb/-rmdir功能:删除空目录 示例:hadoop fs-rmdir/aaa/bbb/ccc-df功能:统计文件系统的可用空间信息 示例:hadoop fs-df-h/-du功能:统计文件夹的大小信息 示例: hadoop fs-du-s-h/aaa/* -count 功能:统计一个指定目录下的文件节点数量 示例:hadoop fs -count /aaa/9. java操作HDFS1.引入依赖org.apache.hadoophadoop-client2.6.12.测试类 publicclassOperationFileTest{FileSystem fs =null; Configuration conf =null;/** * 初始化文件系统操作的客户端实例对象 */@Beforepublic void init()throwsIOException, URISyntaxException, InterruptedException { conf =newConfiguration();// uri和用户身份 ---> 一个文件系统操作的客户端实例对象fs = FileSystem.get(newURI("hdfs://192.168.133.11:9000"),conf,"root"); }/** * 上传文件 */@Testpublic void testUpload()throwsIOException { fs.copyFromLocalFile(newPath("D:\examProject.rar"),newPath("/examProject.rar")); fs.close(); }/** * 下载文件 */@Testpublic void testDownload()throwsException{ Path remotePath =newPath("/examProject.rar"); Path localPath =newPath("f:/"); fs.copyToLocalFile(remotePath,localPath); fs.close(); }/** * conf加载的内容 */@Testpublic void testConf(){ Iterator

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭