㈠ 以大数据时代为题写一篇年终总结
可参考下文
9个关键字 写写大数据行业2015年年终总结
2015年,大数据市场的发展迅猛,放眼国际,总体市场规模持续增加,随着人工智能、物联网的发展,几乎所有人将目光瞄准了“数据”产生的价值。行业厂商 Cloudera、DataStax 以及 DataGravity 等大数据公司已经投入大量资金研发相关技术,Hadoop 供应商 Hortonworks 与数据分析公司 New Relic 甚至已经上市。而国内,国家也将大数据纳入国策。
我们邀请数梦工场的专家妹子和你来聊聊 2015 年大数据行业九大关键词,管窥这一年行业内的发展。
战略:国家政策
今年中国政府对于大数据发展不断发文并推进,这标志着大数据已被国家政府纳入创新战略层面,成为国家战略计划的核心任务之一:
2015年9月,国务院发布《促进大数据发展行动纲要》,大力促进中国数据技术的发展,数据将被作为战略性资源加以重视;
2015年10月26日,在国家“十三五”规划中具体提到实施国家大数据战略。
挑战:BI(商业智能)
2015年对于商业智能(BI)分析市场来说,正由传统的商业智能分析快速进入到敏捷型商业智能时代。以 QlikView、Tableau和 SpotView 为代表的敏捷商业智能产品正在挑战传统的 IBM Cognos、SAP Business Objects 等以 IT 为中心的 BI 分析平台。敏捷商业智能产品也正在进一步细化功能以达到更敏捷、更方便、适用范围更广的目的。
崛起:深度学习/机器学习
人工智能如今已变得异常火热,作为机器学习中最接近 AI(人工智能)的一个领域,深度学习在2015年不再高高在上,很多创新企业已经将其实用化:Facebook 开源深度学习工具“Torch”、PayPal 使用深度学习监测并对抗诈骗、亚马逊启动机器学习平台、苹果收购机器学习公司 Perceptio ……同时在国内,网络、阿里,科大讯飞也在迅速布局和发展深度学习领域的技术。
共存:Spark/Hadoop
Spark 近几年来越来越受人关注,2015年6月15日,IBM 宣布投入超过3500名研究和开发人员在全球十余个实验室开展与 Spark 相关的项目。
与 Hadoop 相比,Spark 具有速度方面的优势,但是它本身没有一个分布式存储系统,因此越来越多的企业选择 Hadoop 做大数据平台,而 Spark 是运行于 Hadoop 顶层的内存处理方案。Hadoop 最大的用户(包括 eBay 和雅虎)都在 Hadoop 集群中运行着 Spark。Cloudera 和 Hortonworks 将 Spark 列为他们 Hadoop 发行的一部分。Spark 对于 Hadoop 来说不是挑战和取代相反,Hadoop 是 Spark 成长发展的基础。
火爆:DBaaS
随着 Oracle 12c R2 的推出,甲骨文以全新的多租户架构开启了 DBaaS (数据库即服务Database-as-a-Service)新时代,新的数据库让企业可以在单一实体机器中部署多个数据库。在2015年,除了趋势火爆,12c 多租户也在运营商、电信等行业投入生产应用。
据分析机构 Gartner 预测,2012年至2016年公有数据库云的年复合增长率将高达86%,而到2019年数据库云市场规模将达到140亿美元。与传统数据库相比,DBaaS 能提供低成本、高敏捷性和高可扩展性等云计算特有的优点。
㈡ 有关ubuntu下安装Cloudera Manager的问题
你看错误提示“using password:YES”,你创建hadoop用户的时候应该是没有指定密码。删掉hadoop用户,建立一个用户名和密码都是hadoop的用户,配置时密码也输入hadoop即可。
㈢ hadoop流api具有什么特性使得它支持多种语言
1. Apache Mesos
代码托管地址: Apache SVN
Mesos提供了高效、跨分布式应用程序和框架的资源隔离和共享,支持Hadoop、 MPI、Hypertable、Spark等。
Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实现容错复制,使用Linux Containers来隔离任务,支持多种资源计划分配(内存和CPU)。提供Java、Python和C++ APIs来开发新的并行应用程序,提供基于Web的用户界面来提查看集群状态。
2. Hadoop YARN
代码托管地址: Apache SVN
YARN又被称为MapRece 2.0,借鉴Mesos,YARN提出了资源隔离解决方案Container,但是目前尚未成熟,仅仅提供 Java 虚拟机内存的隔离。
对比MapRece 1.x,YARN架构在客户端上并未做太大的改变,在调用 API 及接口上还保持大部分的兼容,然而在YARN中,开发人员使用 ResourceManager、ApplicationMaster 与 NodeManager代替了原框架中核心的 JobTracker 和 TaskTracker。其中 ResourceManager 是一个中心的服务,负责调度、启动每一个 Job 所属的 ApplicationMaster,另外还监控 ApplicationMaster 的存在情况;NodeManager负责 Container 状态的维护,并向 RM 保持心跳。ApplicationMaster 负责一个 Job 生命周期内的所有工作,类似老的框架中 JobTracker。
Hadoop上的实时解决方案
前面我们有说过,在互联网公司中基于业务逻辑需求,企业往往会采用多种计算框架,比如从事搜索业务的公司:网页索引建立用MapRece,自然语言处理用Spark等。本节为大家分享的则是Storm、Impala、Spark三个框架:
3. Cloudera Impala
代码托管地址: GitHub
Impala是由Cloudera开发,一个开源的Massively Parallel Processing(MPP)查询引擎 。与Hive相同的元数据、SQL语法、ODBC驱动程序和用户接口(Hue Beeswax),可以直接在HDFS或HBase上提供快速、交互式SQL查询。Impala是在Dremel的启发下开发的,第一个版本发布于2012年末。
Impala不再使用缓慢的Hive+MapRece批处理,而是通过与商用并行关系数据库中类似的分布式查询引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分组成),可以直接从HDFS或者HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。
㈣ 做大数据分析系统Hadoop需要用哪些软件
1、ApacheMesos
代码托管地址:ApacheSVN
Mesos提供了高效、跨分布式应用程序和框架的资源隔离和共享,支持Hadoop、MPI、Hypertable、Spark等。
Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实现容错复制,使用LinuxContainers来隔离任务,支持多种资源计划分配(内存和CPU)。提供Java、Python和C++APIs来开发新的并行应用程序,提供基于Web的用户界面来提查看集群状态。
2、HadoopYARN
代码托管地址:ApacheSVN
YARN又被称为MapRece2.0,借鉴Mesos,YARN提出了资源隔离解决方案Container,但是目前尚未成熟,仅仅提供Java虚拟机内存的隔离。
对比MapRece1.x,YARN架构在客户端上并未做太大的改变,在调用API及接口上还保持大部分的兼容,然而在YARN中,开发人员使用ResourceManager、ApplicationMaster与NodeManager代替了原框架中核心的JobTracker和TaskTracker。其中ResourceManager是一个中心的服务,负责调度、启动每一个Job所属的ApplicationMaster,另外还监控ApplicationMaster的存在情况;NodeManager负责Container状态的维护,并向RM保持心跳。ApplicationMaster负责一个Job生命周期内的所有工作,类似老的框架中JobTracker。
Hadoop上的实时解决方案
前面我们有说过,在互联网公司中基于业务逻辑需求,企业往往会采用多种计算框架,比如从事搜索业务的公司:网页索引建立用MapRece,自然语言处理用Spark等。
3、ClouderaImpala
代码托管地址:GitHub
Impala是由Cloudera开发,一个开源的MassivelyParallelProcessing(MPP)查询引擎。与Hive相同的元数据、SQL语法、ODBC驱动程序和用户接口(HueBeeswax),可以直接在HDFS或HBase上提供快速、交互式SQL查询。Impala是在Dremel的启发下开发的,第一个版本发布于2012年末。
Impala不再使用缓慢的Hive+MapRece批处理,而是通过与商用并行关系数据库中类似的分布式查询引擎(由QueryPlanner、QueryCoordinator和QueryExecEngine三部分组成),可以直接从HDFS或者HBase中用SELECT、JOIN和统计函数查询数据,从而大大降低了延迟。
4、Spark
代码托管地址:Apache
Spark是个开源的数据分析集群计算框架,最初由加州大学伯克利分校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样,用于构建大规模、低延时的数据分析应用。Spark采用Scala语言实现,使用Scala作为应用框架。
Spark采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。与Hadoop不同的是,Spark和Scala紧密集成,Scala像管理本地collective对象那样管理分布式数据集。Spark支持分布式数据集上的迭代式任务,实际上可以在Hadoop文件系统上与Hadoop一起运行(通过YARN、Mesos等实现)。
5、Storm
代码托管地址:GitHub
Storm是一个分布式的、容错的实时计算系统,由BackType开发,后被Twitter捕获。Storm属于流处理平台,多用于实时计算并更新数据库。Storm也可被用于“连续计算”(continuouscomputation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC”,以并行的方式运行昂贵的运算。
Hadoop上的其它解决方案
就像前文说,基于业务对实时的需求,各个实验室发明了Storm、Impala、Spark、Samza等流实时处理工具。而本节我们将分享的是实验室基于性能、兼容性、数据类型研究的开源解决方案,其中包括Shark、Phoenix、ApacheAccumulo、ApacheDrill、ApacheGiraph、ApacheHama、ApacheTez、ApacheAmbari。
6、Shark
代码托管地址:GitHub
Shark,代表了“HiveonSpark”,一个专为Spark打造的大规模数据仓库系统,兼容ApacheHive。无需修改现有的数据或者查询,就可以用100倍的速度执行HiveQL。
Shark支持Hive查询语言、元存储、序列化格式及自定义函数,与现有Hive部署无缝集成,是一个更快、更强大的替代方案。
7、Phoenix
代码托管地址:GitHub
Phoenix是构建在ApacheHBase之上的一个SQL中间层,完全使用Java编写,提供了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBasescan,并编排执行以生成标准的JDBC结果集。直接使用HBaseAPI、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。Phoenix完全托管在GitHub之上。
Phoenix值得关注的特性包括:1,嵌入式的JDBC驱动,实现了大部分的java.sql接口,包括元数据API;2,可以通过多个行键或是键/值单元对列进行建模;3,DDL支持;4,版本化的模式仓库;5,DML支持;5,通过客户端的批处理实现的有限的事务支持;6,紧跟ANSISQL标准。
8、ApacheAccumulo
代码托管地址:ApacheSVN
ApacheAccumulo是一个可靠的、可伸缩的、高性能、排序分布式的键值存储解决方案,基于单元访问控制以及可定制的服务器端处理。使用GoogleBigTable设计思路,基于ApacheHadoop、Zookeeper和Thrift构建。Accumulo最早由NSA开发,后被捐献给了Apache基金会。
对比GoogleBigTable,Accumulo主要提升在基于单元的访问及服务器端的编程机制,后一处修改让Accumulo可以在数据处理过程中任意点修改键值对。
9、ApacheDrill
代码托管地址:GitHub
本质上,ApacheDrill是GoogleDremel的开源实现,本质是一个分布式的mpp查询层,支持SQL及一些用于NoSQL和Hadoop数据存储系统上的语言,将有助于Hadoop用户实现更快查询海量数据集的目的。当下Drill还只能算上一个框架,只包含了Drill愿景中的初始功能。
Drill的目的在于支持更广泛的数据源、数据格式及查询语言,可以通过对PB字节数据的快速扫描(大约几秒内)完成相关分析,将是一个专为互动分析大型数据集的分布式系统。
10、ApacheGiraph
代码托管地址:GitHub
ApacheGiraph是一个可伸缩的分布式迭代图处理系统,灵感来自BSP(bulksynchronousparallel)和Google的Pregel,与它们区别于则是是开源、基于Hadoop的架构等。
Giraph处理平台适用于运行大规模的逻辑计算,比如页面排行、共享链接、基于个性化排行等。Giraph专注于社交图计算,被Facebook作为其OpenGraph工具的核心,几分钟内处理数万亿次用户及其行为之间的连接。
11、ApacheHama
代码托管地址:GitHub
ApacheHama是一个建立在Hadoop上基于BSP(BulkSynchronousParallel)的计算框架,模仿了Google的Pregel。用来处理大规模的科学计算,特别是矩阵和图计算。集群环境中的系统架构由BSPMaster/GroomServer(ComputationEngine)、Zookeeper(DistributedLocking)、HDFS/HBase(StorageSystems)这3大块组成。
12、ApacheTez
代码托管地址:GitHub
ApacheTez是基于HadoopYarn之上的DAG(有向无环图,DirectedAcyclicGraph)计算框架。它把Map/Rece过程拆分成若干个子过程,同时可以把多个Map/Rece任务组合成一个较大的DAG任务,减少了Map/Rece之间的文件存储。同时合理组合其子过程,减少任务的运行时间。由Hortonworks开发并提供主要支持。
13、ApacheAmbari
代码托管地址:ApacheSVN
ApacheAmbari是一个供应、管理和监视ApacheHadoop集群的开源框架,它提供一个直观的操作工具和一个健壮的HadoopAPI,可以隐藏复杂的Hadoop操作,使集群操作大大简化,首个版本发布于2012年6月。
ApacheAmbari现在是一个Apache的顶级项目,早在2011年8月,Hortonworks引进Ambari作为ApacheIncubator项目,制定了Hadoop集群极致简单管理的愿景。在两年多的开发社区显着成长,从一个小团队,成长为Hortonworks各种组织的贡献者。Ambari用户群一直在稳步增长,许多机构依靠Ambari在其大型数据中心大规模部署和管理Hadoop集群。
目前ApacheAmbari支持的Hadoop组件包括:HDFS、MapRece、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig及Sqoop。
㈤ cloudera manager agent 启动失败
检查一下 主机名 和域名配的是否正确
(1) cat /etc/hosts 注意顺序
ip 域名 主机名
192.168.*.1 master.com master
(2)cat /etc/sysconfig/network
HOSTNAME = master.com //域名哦
这样问题就解决了吧!
㈥ 根本就没有什么所谓的开源商业模式
在这里我首先要提醒大家的是,撰写此文并非是要说明开源是“肮脏的商业主义”或“天下根本没有利他主义”。我的主张是经济学是关于行为而不是金钱,我是德鲁克的追随者(一家公司的存在是因为解决问题而创造了市场),我反对弗里德曼的观点(一家公司就是为股东提供回报而存在)。我信奉慷慨的人,我深信拉帕波特的解决方案对于囚徒困境是有效的,即始终以最慷慨的选择开始。我也坚信我们知道社区运行的意义,即如果你有一把篝火,是不介意我坐下来的。
我曾有幸观看了BobYoung在“Allthingsopen”上的演讲,BobYoung在演讲中重申了一家成功的公司应是聚焦于其客户的成功。我以为这就是红帽创立之初所种下的DNA,直到今天红帽仍然以客户的成功为己任,不断的前进。我相信分享好的软件是使我们所有人成功的唯一途径,就像我们可以作为一个部落一样。我亦坚信软件没有规矩难成气候。
这并非是利他的行为,而是工程经济
开源的定义和出现已经有20多年的历史了,红帽在成立了22年之后成为了一家超过20亿美元的公司,MySQL和JBoss被以不错的价格所收购,Cloudera和Hortonworks正在成为下一个十亿美元的软件公司,但是我想要撰文表达的是,尽管上述这些公司取得了一定经济上的成功,他们和开源商业模式没有关系,根本就没有什么所谓的开源商业模式。
我坚定的相信自由许可下、协同开发的软件的经济价值,我们从一开始开发软件就在分享着软件,这要一直追溯到上世纪40年代末和50年代初,这是因为编写好的软件本质上是一项非常艰难的工作。经事实证明,软件的代码审核要比测试本身发现的缺陷更有效,所以构建软件开发的代码审查文化来创建更加优秀的软件。在软件工程和编程系统中很多的发明来自于代码的重用,或者是精简已有的代码以生产更好的软件。软件若是没有在如何构建和部署方面拥有严谨的规则,就不可能得到发展,软件本质上是动态的,而互联网所连接的世界让此动态更加的清晰。运行良好、规则清晰、自由许可的协同社区能够解决软件的这些属性,而且相比其它的开发方式能够开发、演进、维护更优秀的软件。而这点就是开源软件背后的工程经济原理。
案例——Interix
我要讲的这个使用开源的案例,真实的反映了没有开源商业模式这样一个事实。
Interix是上世纪90年代后期的一款产品,旨在提供在WindowsNT环境下运行Unix程序。其涵盖了约300多个软件包,许可证涉及到25个,以及微软POSIX子系统的衍生开发,当然了还有Interix自身开发的代码。这些都是在开源软件定义之前的内容。开始的时候使用的是4.4BSD-Lite分发的,因为AT&T/USL的律师们建议这么做。这其中gcc编译器套件为我们的工具链提供关键支持,相当于一个SDK的作用,gcc保证了客户可以将他们的UNIX应用程序移植到WindowsNT中。
此项目关于GCC移植到Interix环境中就让一位高级编译器工程师花了6~8个月的时间,然后在算上测试、集成等,项目则达到了10万美元,当时的gcc套件大约有75万行代码,COCOMO的计算结果表明,价值在1000万到2000万美元之间,这个取决于工程师们具体的赚取。也正由于此,我们最终的选择不是去自行编写一套编译器套件,这个成本的节约可是两个数量级。gcc是一款维护良好、健壮、稳定的编译器套件,即使凭空从零开始编写一个新的,未必有它优秀。而这就是使用开源的益处所在。我们同样可以看到红帽为Linux内核作贡献,然后交付Fedoar和RHEL的年净收益达到10%。Interix当然也是基于开源上游项目,但是它现在自己搞了一个分支,这也就意味着Interix无法获得gcc主干上的新功能和新的bug修复。
经实践评估,gcc每更新一次大版本,我们需要6个月的时间重新集成,但是如果我们始终将自己的修复和提交在主干上进行的话,仅仅需要一个月的时间来测试和集成。所以成本是从10万美元,降到了1万~2万美元,这就是上面提到的节省数量级的证据。我们也尝试和Cygnus接触过,根据他们的解决方案,他们拥有主要的gcc的工程团队,即多个gcc的贡献者,但是他们要的价格也贵点,需要12万美元,但是要知道其它团队接手这个项目,大约需要14个月才能开工。另外AdaCore技术公司则承诺仅需要4万美元,而且声称第二月就可以开工。看起来这是一个十分明显的结果,决定是不言而喻的。(我们无法直接参与gcc项目下的五个子项目,尽管有些项目会非常尊重并接受我们的贡献,但是有些项目却对我们嗤之以鼻,只因为我们要往微软的平台移植,这对于一些人是勉为其难的。)
这里并不是说往上游贡献就是利他主义,这只是说这是一项工程经济学。这是正确的行径,而且增强了我们自己使用的编译器。这也是开源项目能够运转良好的秘诀所在。我以为个人作出为社区贡献的决定是明智的,因为在开源世界的关键贡献里有你的名字,这在某种程度上是最好的广告,这是最佳的简历:能够胜任项目中的工作,可以有效的和他人协作,并展示出对于技术的理解,这对于面试是绝佳的优势。当然了,它还非常的有意思。它不仅有趣而且很具挑战性。如果读者你是一名开发者的话,或者渴望改进自己的技能,那么为什么不去参与到上游社区?从而实现自己的价值并增强技能。
运转良好的开源软件社区对于技术是良性的促进。社区发展到一定的阶段,就是成为产品、服务(支持、咨询、培训)、书籍以及其它周边相关内容的生态系统。使用有机的模型的话,将开源比喻为一颗大树的话,有人可以从中获得木材,另外一些则可以取得其它如树叶、树枝、树根,进而构建很多其它衍生产品。
案例——红帽公司
红帽是一家典型的基于开源的公司,可以说是一类公司的典型代表。当我深度观察红帽的时候,我发现的并非是单单的开源。我看到的是一家专注于客户的软件公司,在发展的过程中历经三位不同的首席执行官,针对的是三个截然不同的市场环境,这三位首席执行官均在自己的任期内作出了最佳决策。
BobYoung以制作Linux发行版而创立了公司,他致力于亨氏番茄酱的品牌模式,试图让人们一提到Linux,就立马想到红帽。而此时红帽初期的成长恰逢互联网早期阶段,也经历了整个的互联网泡沫阶段,红帽的策略几乎都是品牌管理,红帽成功的融到了资金,并在1999年公开上市。红帽的股票一度飙升。
MattSzulick接棒的时候,可谓是临危受命,没过几年互联网的泡沫破碎了,红帽的发行价从每股$140跌倒了每股$3.5,就这样艰难的行进着,经过几年不懈的努力,红帽成功的将自己的定位转型为服务,RHEL(红帽企业版Linux)诞生了,不久之后,红帽又推出了针对开发者的社区版本Fedora,让活跃的用户有施展才华,而红帽则去专门维护企业级的版本RHEL,更加厉害的是红帽在金融服务业中成功的跨越了摩尔鸿沟,然后,红帽花了$350M收购了JBoss,并以此再提供企业级的中间件。正当其它家Linux发行版还处在安乐窝的时候,红帽已经将自己定位于Unix的独立软件开发商上行列了,准备吃掉Unix的份额。
时间转到2008年,JimWhitehurst开始掌舵,JimWhitehurst拥有航空公司的背景,经过大刀阔斧的变革之后,可谓是成功的将红帽带上了又一个顶端。JimWhitehurst深刻懂得如何培养和维护员工的士气,且有着管理成本的背景,将竞争激烈的航空公司的理念带给了红帽:保证用户满意。要知道,Whitehurst执掌红帽的时间是2008年,那是经济衰退的一年,不过,事实证明JimWhitehurst完胜,自从那以后,红帽的股价可谓是节节升高。
纵观红帽的整个历史,红帽始终致力于解决用户的问题。哈佛经济学家TheodoreLevitt曾经论说过:“客户不想要一个四分之一英寸的钻头,他们想要的是一个四分之一英寸的洞。”绝大多数的Linux发行版公司都希望自己成为最好的Linux发行版,红帽却反其道而行之,并没有去单纯的追求成为最好的Linux发行版,而是注重企业级的质量,以更加廉价的方式替代运行在数据中心中的昂贵的SPARC机器上的Solaris。
毫无疑问,红帽所构建的产品和服务是基于开源的技术,但是红帽的商业模式既和DECUltrix不一样,也和BSD世界的Sun公司的SunOS不同,没有照搬DECUltrix和IBMAIX协同创建的OSF/1,也没有像Sun对Solaris的发展是基于SystemV的许可,也没有像微软那样为WindowsNT增加成千上万的第三方许可协议(比如伯克利Socket技术)。
技术的粘性
当一家公司根据自己的产品和服务,对外提供源代码时,并尝试发展自己的协作社区,那么这家公司就可以获得很多的益处。其技术会对客户以及未来潜在的客户具有一定的粘性,他们会进一步增设布道师和专家团队,并围绕技术更进一步的培养用户的习惯,那么技术就随之稳固的在客户中间流传。取决于技术栈和产品的依赖关系,它们可以源源不断的发展自己的业务。
工程经济效应或许没有直接从技术栈中选取那么明显,但是其开发者效应能够以控制和拥有社区来弥补。这也是诸如IBM、Intel、微软以及Oracle等公司为开发者网络狠下血本的原因,无论其与开源许可是否有关联。它们在制造粘性。红帽从其对Linux的工程投资中、其在Fedora社区的开发、以及收购Jboss的技术、专家和客户中获得了诸多的益处。