Hadoop与数据湖Word文件下载.docx
- 文档编号:18286872
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:4
- 大小:18.84KB
Hadoop与数据湖Word文件下载.docx
《Hadoop与数据湖Word文件下载.docx》由会员分享,可在线阅读,更多相关《Hadoop与数据湖Word文件下载.docx(4页珍藏版)》请在冰豆网上搜索。
由于Hadoop技术针对语义灵活性进行了优化,因此它可以与传统的结构化数据仓库并列,从而实现更广泛的数据类型,最终用户和用例。
虽然现在Hadoop没有前几年那么热,但是,它依然是数据湖最常用的解决方案。
最近的Gartner研究数据表明,Hadoop的部署和需求仍然很大并且正在增长。
在最近的一项调查中,有235名受访者表示,34%的受访者目前正在使用Hadoop进行数据和分析工作,另有55%的受访者计划在未来24个月内进行调查,总计达到89%。
这是Gartner2016年研究以来的需求最大幅度增加。
3.HDFS的局限
ApacheHadoop是一个高度可扩展的系统,广泛应用于大数据存储和分析。
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统。
HDFS主要由三部分构成:
NameNode:
NameNode上保存着整个HDFS的命名空间和数据块映射关系。
所有的元数据操作都将在NameNode中处理;
DataNode:
DataNode将HDFS数据以文件的形式存储在本地的文件系统中,它并不知道有关HDFS文件的信息;
DFSClient:
HDFS的客户端,在Hadoop文件系统中,它封装了和HDFS其他实体的复杂交互关系,为应用提供了一个标准的、简单的接口。
Hadoop为大数据分析带来便利的同时,也面临着一些挑战:
1、Hadoop的扩展受限NameNode是HDFS中的管理者,主要负责文件系统的命名空间、集群配置信息和数据块的复制等。
NameNode在内存中保存文件系统中每个文件和每个数据块的引用关系,也就是元数据。
在运行时,HDFS中每个文件、目录和数据块的元数据信息(大约150字节)必须存储在NameNode的内存中。
根据Cloudera的描述,默认情况下,会为每一百万个数据块分配一个最大的堆空间1GB(但绝不小于1GB)。
这导致实际限制了HDFS中可以存储的对象数量,也就意味着对于一个拥有大量文件的超大集群来说,内存将成为限制系统横向扩展的瓶颈。
同时,作为一个可扩展的文件系统,单个集群中支持数千个节点。
在单个命名空间中DataNode可以扩展的很好,但是NameNode并不能在单个命名空间进行横向扩展。
通常情况下,HDFS集群的性能瓶颈在单个NameNode上。
在Hadoop2.x发行版中引入了联邦HDFS功能,允许系统通过添加多个NameNode来实现扩展,其中每个NameNode管理文件系统命名空间中的一部分。
但是,系统管理员需要维护多个NameNodes和负载均衡服务,这又增加了管理成本。
2、计算和存储绑定在传统的ApacheHadoop集群系统中,计算和存储资源是紧密耦合的。
在这样的集群中,当存储空间或计算资源不足时,只能同时对两者进行扩容。
假设用户对存储资源的需求远大于对计算资源的需求,那么用户同时扩容计算和存储后,新扩容的计算资源就被浪费了,反之,存储资源被浪费。
这导致扩容的经济效率较低,增加成本。
独立扩展的计算和存储更加灵活,同时可显著降低成本。
因此,现在Hadoop采用存算分离的架构的趋势越来越明显,Hadoop社区普遍采用S3A客户端来对接外部对象存储。
3、HDFS的性能问题HDFS核心组件NameNode的全局锁问题一直是制约HDFS性能,尤其是NameNode处理能力的主要因素。
HDFS在锁机制上使用粒度较粗的全局锁来统一来控制并发读写,这样处理的优势比较明显,全局锁可以简化锁模型,降低复杂度。
但是由全局锁的一个比较大的负面影响是容易造产生性能瓶颈。
NameNode核心处理逻辑上涉及到两个锁:
FSNamesystemLock(HDFS把所有请求抽象为全局读锁和全局写锁)和FSEditLogLock(主要控制关键元数据的修改,用于高可用),一次RPC请求处理流程经过了两次获取锁阶段,虽然两个锁之间相互独立,但如果在两处中的任意一处不能及时获取到锁,RPC都将处于排队等待状态。
等锁时间直接影响请求响应性能。
再有,因为写锁具有排他性,所以对性能影响更加明显。
当有写请求正在被处理,则其他所有请求都必须排队等待,直到当前写请求被处理完成释放锁。
当集群规模增加和负载增高后,全局锁将逐渐成为NameNode性能瓶颈。
4.S3A的不足
原生的Hadoop中包含一个的S3A连接器,基于AmazonWebServices(AWS)SDK实现的。
HadoopS3A允许Hadoop集群连接到任何与S3兼容的对象存储。
XSKY的对象存储产品XEOS兼容S3协议,所以可以通过S3A连接器与Hadoop应用进行交互,但这种方式存在比较大的局限性。
通过上图,可以看到Hadoop应用通过S3A客户端上传数据时,需要调用S3SDK把请求封装成HTTP然后发送给XEOS对象路由,然后再由对象路由转发到XEOS的S3网关,最后通过S3网关将数据写入XEOS存储集群,从而达到数据上传的目的。
下载文件也是一样的道理。
S3A虽然同样可以实现计算和存储分离,但基本架构和协议兼容性上还是存在一些问题:
由于所有的数据都需要先经过对象路由和S3网关,所以在IO路径上就会多了对象路由和S3网关这一跳;
S3A因为通过S3SDK来实现,所以并不支持标准Hadoop文件系统的追加写操作;
S3A因为使用标准的S3协议,所以势必会在一些偏文件风格的接口上做更多的判断,导致客户端逻辑复杂。
如判断一个目录,需要多次REST请求才能完成,同时过多的REST请求将会对性能造成影响。
5.XSKYHDFSClient
为了解决S3A的问题,XSKY开发了XSKYHDFSClient——XEOS存储集群和Hadoop计算集群量身打造的连接器。
通过XSKYHDFSClient(简称“XHC”),Hadoop应用可以访问存储在XEOS中的所有数据,这就避免了传统的Hadoop应用在进行数据分析前,还要将数据由业务存储移动到分析存储HDFS中,也就是常见的ETL过程。
XSKYHDFSClient相当于HDFS的DFSClient,为Hadoop应用提供了标准的Hadoop文件系统API。
在每个计算节点上,Hadoop应用都将使用XSKYHDFSClient(JAR)执行Hadoop文件系统的操作,并且屏蔽了Hadoop应用与XEOS集群交互的复杂性。
在XEOS集群中,每一个存储节点都等效于HDFS的NameNode和DataNode。
6.XKSYHDFSClient架构
相比于S3A通过S3SDK封装HTTP请求的方式访问XEOS不同,XSKYHDFSClient可以直接访问存储集群的OSD,IO路径上要短得多。
XSKYHDFSClient通过XEOS提供的NFS风格的接口与XEOS集群进行交互,这种实现方式的优势主要体现在:
▪由于省掉了对象路由和S3网关这一层,所以性能会好于S3A;
▪XEOS的NFS网关库的write接口具有追加写的功能,可以匹配Hadoop文件系统对追加写的需求。
XSKYHDFSClient本身是一个由Java实现的JAR包。
作为Hadoop兼容的文件系统,XSKYHDFSClient需要按照HadoopFileSystemAPI规范来实现,也就是实现抽象的HadoopFileSystem、OutputStream和InputStream。
其中,XSKYHDFSClient的FileSystem主要实现了HadoopFileSystem的list、delete、rename、mkdir等接口,而InputStream和OutputStream主要实现了对XEOS对象的读写功能。
XSKYHDFSClient会将Hadoop应用的Java调用,通过JNI(JavaNativeInterface)技术转换为本地librgw.so的调用,并最终访问到XEOS集群。
在计算节点上,需要部署XSKYHDFSClientJAR包、librgw.so及其依赖的so库和配置文件。
7.XSKYHDFSClient自动化部署
由于省掉了对象路由和S3网关这一层,所以性能会好于S3A;
XEOS的NFS网关库的write接口具有追加写的功能,可以匹配Hadoop文件系统对追加写的需求。
8.总结
XSKYHDFSClient从原理上看,功能和性能都要比S3A的要强大很多,在某金融机构的实际测试表现也没有令人失望。
1、性能测试根据中国信息通信研究院的《Hadoop平台性能测试方法》,一般情况下大数据平台性能测试主要考虑四个方面:
SQL任务、NoSQL任务、机器学习、批处理。
这里主要选择在SQL任务、NoSQL任务、批处理与开源Hadoop平台进行对比测试。
2、用例说明其中批处理用例主要选择了1T数据排序的TeraSort标准测试工具;
NoSQL任务选择了使用HBaseBlukload工具对400G.csv文件进行数据导入测试;
HiveJoin的测试使用了500G+500G大表join,500M+500G大小表join,及500M+500G大小表MapJoin几个子测试用例。
3、测试结果XEOS不仅在DFSIO上面表现优异,在SQL、NoSQL、批处理上的性能都有部分提升。
结果如下:
而采用XEOS对象存储代替HDFS还具有存算分离的好处,配合XEOS强大的企业特性和灾备能力,XEOS必将成为企业数据湖的理想底座。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hadoop 数据