从事分布式系统,计算,hadoop 等方面工作需要哪些基础

如题所述

第1个回答  2017-10-31
  在Apache Hadoop的起步阶段,主要支持类似搜索引擎的功能。如今,Hadoop已经被数十个行业采用,它们依靠大数据计算来提升业务处理性能。政府、制造业、医疗保健、零售业和其他部门越来越多的从经济发展和Hadoop计算能力中受益,然而受到传统企业解决方案限制的公司将会发现竞争变得越来越残酷。  选择一个合适的Hadoop发行版和在业务中应用Hadoop一样有必要。最终,你会发现选择哪种Hadoop发行版取决于主机的规格,尽管性能和扩展性才是你应该仔细检查的两个主要特性。让我们了解一下一些具体的Hadoop性能和扩展性要求,以及对几个关键架构的要求。  性能  企业需要摆脱传统的数据库解决方案来管理数据,主要原因是为了增加原始性能并获得可扩展性。这可能会让你感到惊讶,因为并不是所有创建出的Hadoop分布系统都一样。  在我的另一篇文章中曾讲到,增加250毫秒的延迟可能会毁掉整个线上销售的旺季,我们可以了解一下为什么性能的低下(高延迟)会让人难以忍受。网站性能的迟缓会使线上的销售转化率下降7%,这对于流量很大的线上零售商来说意味着数百万美元的损失。  正如你在下图看到的那样,将MapR M7版本与另一个Hadoop发行版对比,在延迟上的差别意味着性能的不同,而不同发行版之间性能差距也是惊人的。  当你考虑Hadoop的实时应用时,比如金融安全系统的实时应用,那样对高性能增加的要求甚至更高。  要特别感谢像Hadoop这样的技术,它使金融罪犯窃取数字资产变得越来越难,金融服务公司比如Zions银行现在已经能够在银行客户感觉到任何实质性影响之前阻止财务欺诈。对于分析和实时数据响应来说,高性能和可靠性很有必要,这可以阻止破坏性欺诈活动。  扩展性  Hadoop的另一个主要优点是可扩展性。不用通过单一的企业服务器限制数据吞吐量,Hadoop可以跨计算机集群完成对大型数据集的分布式处理,从而在商品化硬件多个部分之间采用逐个击破的办法消除数据上限。  这种体系结构只是数据可扩展性提升的起点,还远没有结束。关于可扩展性,Hadoop平台内还有三个方面需要进一步考虑:  文件瓶颈  Hadoop默认的体系结构利用单一NameNode作为剩余数据节点的主节点。因为单个NameNode,所有数据被迫进入到一个瓶颈期,这就将Hadoop集群限制在只能有5000万到2亿个文件。  单个NameNode的执行情况也需要使用商业级NAS,而不是预算友好型的商品化硬件。  对于单一NameNode体系结构有一种更好的选择——使用分布式元数据结构。下面提供两种体系结构的可视化比较:  正如你所看到的那样,分布式元数据架构使用的完全是商品化硬件,不仅节省了成本,它还使性能提升了10-20倍,摆脱了文件瓶颈,使文件数上限达到了10亿,比单个NameNode的体系结构在容量上提升了5000倍,这确实是很大的成功。  节点扩展  Hadoop的一些较小用户对数据存储和处理并没有太高要求,因此能够在更少的节点上运行,而有些Hadoop实现则可以达到了数千节点的规模。  这也是Hadoop可扩展性非常出色的地方。从一个入门级大数据实现扩展到具有数千个节点的集群很容易,按照需求增加商品化硬件可以使成本最小化,这涉及到数据处理成本以及需求增加所需投入的成本。  节点容量  除了节点的数量,考虑到物理存储限制,Hadoop用户还应该检查每个处理和存储容量。你可以使用具有更高磁盘密度的节点减少总体节点数量,同时还能保证数据存储的要求。  架构基础  Hadoop的性能和可扩展性可以被进一步提升,前提是你要有多架构基础分布式系统的思想。  减少软件层  软件层太多,会导致导航成本的增加,使Hadoop系统的性能很难得到提升。  使所有应用程序在同一个平台上运行  一些Hadoop发行版可能会要求你创建多个实例,一个优化执行将使同一个环境中所有的工作负载被同时处理,这就减少了重复数据的产生,因此提高了可扩展性和性能。  利用公共云平台获取更好的弹性和可扩展性  一个好的发行版使你可以在自己的防火墙内灵活地使用Hadoop以及可靠的云环境,比如亚马逊网络服务和谷歌计算引擎。  最后,选择正确的Hadoop发行版应符合业务需求,不仅仅考虑当前的需求还应考虑未来的需求。分析每个发行版的性能和可扩展性,同时考虑架构基础,这也是在组织内成功实施和评估Hadoop的基础

想从事分布式系统,计算,hadoop等方面,需要哪些基础,推荐哪些书籍
1. Sinfonia: A New Paradigm for Building Scalable Distributed Systems,这篇论文是SOSP2007的Best Paper,阐述了一种构建分布式文件系统的范式方法,个人感觉非常有用。淘宝在构建TFS、OceanBase和Tair这些系统时都充分参考了这篇论文。2. The Chubby lock service for loosely-coupled distributed systems...

学hadoop需要什么基础
⑤ 需要具备一定的javase基础知识;⑥ 如果懂java web及各种框架知识那就更好了。虚拟机:⑦ 需要掌握虚拟机;⑧ 需要安装linux操作系统。⑨ 需要配置虚拟机网络。除了上述这几个方面,我们还需要了解hadoop的单机模式、伪分布模式和分布式模式的搭建方式。了解MapReduce分布式计算框架、Yarn集群资源管理...

学习hadoop需要具备哪些基础
在平台方面,hadoop环境需要搭建在linux服务器上,首先需要了解Linux的基础知识与命令;开发方面,hadoop首先是个提供大数据存储的平台,因此我们要使用其存储功能,因此需要掌握其数据操作的api(scala api 或者 java api);其次是hadoop是大数据分析的数据源,熟悉对大数据的 分析\/使用 方法(spark\/map-reduc...

学习大数据需要哪些基础?
第一:计算机基础知识。计算机基础知识涉及到三大块内容,包括操作系统、编程语言和计算机网络,其中操作系统要重点学习一下Linux操作系统,编程语言可以选择Java或者Python。如果要从事大数据开发,应该重点关注一下Java语言,而如果要从事大数据分析,可以重点关注一下Python语言。计算机网络知识对于大数据从业者来说...

从事大数据分析相关工作,需要具备什么条件?
1.你需要有应用数学、统计学、数量经济学专业本科或者工学硕士层次水平的数学知识背景。2、至少熟练SPSS、STATISTIC、Eviews、SAS等数据分析软件中的一门。3、至少能够用Acess等进行数据库开发;4、至少掌握一门数学软件:matalab,mathmatics进行新模型的构建。5、至少掌握一门编程语言,如Python;6、数据库...

学hadoop需要什么基础?
学hadoop需要哪些基础?hadoop需要具备javaSE的基础知识,vaEE(jsp\/servlet\/三个框架)没有要求.需要熟练使用Linux系统.大体上,有这些备考知识就足够了.也有人说,拥有javaSE知识就足够了.学习hadoop会影响javaEE的工作吗?严格来说,hadoop和javaEE是两种不同的发展思路,hadoop倾向于基础数据处理部分,...

大数据需要学习哪些技术?
首先,Java编程技术是大数据学习的基础。Java语言拥有跨平台能力,适合编写分布式系统、嵌入式系统等,是大数据工程师常用的编程工具。其次,Linux命令是大数据开发的必备技能。大数据通常在Linux环境下进行,Linux提供了更开放和强大的大数据软件支持。Hadoop是大数据开发的核心框架,包括HDFS和MapReduce,HDFS用于...

大数据基础学什么
1、高度技术化:大数据基础涉及到丰富的数据管理和数据处理技术,例如分布式系统、Hadoop等,同时也需要掌握数据清洗、数据统计等理论知识。因此,学习大数据基础需要具备较高的技术水平,需要具备一定的计算机科学和数学基础。2、跨学科性:大数据基础涉及到的领域不仅限于计算机科学、数学等单一领域,还涉及到...

进支付宝要什么技术
进入支付宝工作需要掌握的技术:一、软件开发技术 1. 编程语言:熟练掌握Java、C++等主流编程语言是基础。2. 框架知识:对Spring、Spring Boot、MyBatis等主流开发框架有深入了解。二、互联网技术 1. 网络协议:熟悉TCP\/IP、HTTP、HTTPS等网络协议。2. 分布式系统:对分布式系统的原理、分布式计算、负载...

架构师需要掌握哪些知识
面向对象设计与编程是架构师基础技能,是构建系统架构与业务逻辑的关键。设计模式则提供了一套解决特定问题的通用方案,提升系统维护性、扩展性和重用性。数据库技术涉及设计、优化、容灾备份、数据迁移等,构建高效稳定可扩展的数据库架构。分布式系统是现代互联网系统的核心,架构师需掌握分布式计算、存储、...

相似回答