如何创建一个大数据平台

如何创建一个大数据平台,第1张

所谓的大数据平台不是独立存在的,比如百度是依赖搜索引擎获得大数据并开展业务的,阿里是通过电子商务交易获得大数据并开展业务的,腾讯是通过社交获得大数据并开始业务的,所以说大数据平台不是独立存在的,重点是如何搜集和沉淀数据,如何分析数据并挖掘数据的价值。

我可能还不够资格回答这个问题,没有经历过一个公司大数据平台从无到有到复杂的过程。不过说说看法吧,也算是梳理一下想法找找喷。

这是个需求驱动的过程。

曾经听过spotify的分享,印象很深的是,他们分享说,他们的hadoop集群第一次故障是因为,机器放在靠窗的地方,太阳晒了当机了(笑)。从简单的没有机房放在自家窗前的集群到一直到现在复杂的数据平台,这是一个不断演进的过程。

对小公司来说,大概自己找一两台机器架个集群算算,也算是大数据平台了。在初创阶段,数据量会很小,不需要多大的规模。这时候组件选择也很随意,Hadoop一套,任务调度用脚本或者轻量的框架比如luigi之类的,数据分析可能hive还不如导入RMDB快。监控和部署也许都没时间整理,用脚本或者轻量的监控,大约是没有ganglia、nagios,puppet什么的。这个阶段也许算是技术积累,用传统手段还是真大数据平台都是两可的事情,但是为了今后的扩展性,这时候上Hadoop也许是不错的选择。

当进入高速发展期,也许扩容会跟不上计划,不少公司可能会迁移平台到云上,比如AWS阿里云什么的。小规模高速发展的平台,这种方式应该是经济实惠的,省了运维和管理的成本,扩容比较省心。要解决的是选择平台本身提供的服务,计算成本,打通数据出入的通道。整个数据平台本身如果走这条路,可能就已经基本成型了。走这条路的比较有名的应该是netflix。

也有一个阶段,你发现云服务的费用太高,虽然省了你很多事,但是花钱嗖嗖的。几个老板一合计,再玩下去下个月工资发布出来了。然后无奈之下公司开始往私有集群迁移。这时候你大概需要一群靠谱的运维,帮你监管机器,之前两三台机器登录上去看看状态换个磁盘什么的也许就不可能了,你面对的是成百上千台主机,有些关键服务必须保证稳定,有些是数据节点,磁盘三天两头损耗,网络可能被压得不堪重负。你需要一个靠谱的人设计网络布局,设计运维规范,架设监控,值班团队走起724小时随时准备出台。然后上面再有平台组真的大数据平台走起。

然后是选型,如果有技术实力,可以直接用社区的一整套,自己管起来,监控部署什么的自己走起。这个阶段部署监控和用户管理什么的都不可能像两三个节点那样人肉搞了,配置管理,部署管理都需要专门的平台和组件;定期Review用户的作业和使用情况,决定是否扩容,清理数据等等。否则等机器和业务进一步增加,团队可能会死的很惨,疲于奔命,每天事故不断,进入恶性循环。

当然有金钱实力的大户可以找Cloudera,Hortonworks,国内可以找华为星环,会省不少事,适合非互联网土豪。当然互联网公司也有用这些东西的,比如Ebay。

接下去你可能需要一些重量的组件帮你做一些事情。

比如你的数据接入,之前可能找个定时脚本或者爬log发包找个服务器接收写入HDFS,现在可能不行了,这些大概没有高性能,没有异常保障,你需要更强壮的解决方案,比如Flume之类的。

你的业务不断壮大,老板需要看的报表越来越多,需要训练的数据也需要清洗,你就需要任务调度,比如oozie或者azkaban之类的,这些系统帮你管理关键任务的调度和监控。

数据分析人员的数据大概可能渐渐从RDBMS搬迁到集群了,因为传统数据库已经完全hold不住了,但他们不会写代码,所以你上马了Hive。然后很多用户用了Hive觉得太慢,你就又上马交互分析系统,比如Presto,Impala或者SparkSQL。

你的数据科学家需要写ML代码,他们跟你说你需要Mahout或者SparkMLLib,于是你也部署了这些。

至此可能数据平台已经是工程师的日常工作场所了,大多数业务都会迁移过来。这时候你可能面临很多不同的问题。

比如各个业务线数据各种数据表多的一塌糊涂,不管是你还是写数据的人大概都不知道数据从哪儿来,接下去到哪儿去。你就自己搞了一套元数据管理的系统。

你分析性能,发现你们的数据都是上百Column,各种复杂的Query,裸存的Text格式即便压缩了也还是慢的要死,于是你主推用户都使用列存,Parquet,ORC之类的。

又或者你发现你们的ETL很长,中间生成好多临时数据,于是你下狠心把pipeline改写成Spark了。

再接下来也许你会想到花时间去维护一个门户,把这些零散的组件都整合到一起,提供统一的用户体验,比如一键就能把数据从数据库chua一下拉到HDFS导入Hive,也能一键就chua一下再搞回去;点几下就能设定一个定时任务,每天跑了给老板自动推送报表;或者点一下就能起一个Storm的topology;或者界面上写几个Query就能查询Hbase的数据。这时候你的数据平台算是成型了。

当然,磕磕碰碰免不了。每天你都有新的问题和挑战,否则你就要失业了不是?

你发现社区不断在解决你遇到过的问题,于是你们架构师每天分出很多时间去看社区的进展,有了什么新工具,有什么公司发布了什么项目解决了什么问题,兴许你就能用上。

上了这些乱七八糟的东西,你以为就安生了?Hadoop平台的一个大特点就是坑多。尤其是新做的功能新起的项目。对于平台组的人,老板如果知道这是天然坑多的平台,那他也许会很高兴,因为跟进社区,帮忙修bug,一起互动其实是很提升公司影响力的实情。当然如果老板不理解,你就自求多福吧,招几个老司机,出了问题能马上带路才是正道。当然团队的技术积累不能不跟上,因为数据平台还是乱世,三天不跟进你就不知道世界是什么样了。任何一个新技术,都是坑啊坑啊修啊修啊才完善的。如果是关键业务换技术,那需要小心再小心,技术主管也要有足够的积累,能够驾驭,知道收益和风险。

1、华为云

来源于国内大型云服务与解决方案供应商,致力于为企业/政府/创新创业群体提供安全/中立/可靠的IT基础设施云服务,贯彻华为公司 云、管、端 的战略方针,聚焦I层,使能P层,聚合S层,为广大企业、政府和创新创业群体提供安全。

2、天翼云 

推出了2+31+x资源池战略布局,依托自主研发的云平台和5s安全体系,以及运营商央企底蕴与互联网创新机制,为用户提供云主机、云存储、云备份、桌面云、专享云、混合云、CDN、大数据等全线产品。

3、金山云

为用户和企业提供国内领军级云服务产品,拥有云主机、海量云存储、负载均衡、云关系型数据库等多项核心业务,以其高性能为特点。

4、UCloud

作为国内前沿的云计算服务平台,坚持中立,不涉足客户业务领域,专注于打造一个安全、可信赖的云计算服务平台,自主研发IaaS、PaaS、AI服务平台、大数据流通平台等一系列云计算产品,并深入了解互联网、传统企业不同场景下的业务需求,提供公有云、私有云、混合云、专有云在内的综合性行业解决方案。

5、QingCloud

基于云模式的综合企业服务平台,实现公有云、私有云、混合云和托管云的一致化交付与统一管理,对于一家企业级全栈云ICT服务商和解决方案提供商,拥有一个基于云模式的综合企业服务平台,专注于为企业用户提供安全、性能出众、按需、实时的ICT资源与管理服务,并携手众多生态合作伙伴共同构建云端综合企业服务交付平台。

1、阿里云

阿里云创立于2009年,是阿里巴巴集团旗下云计算品牌,阿里云计算有限公司是全球领先的云计算及人工智能科技公司。提供免费试用、云服务器、云数据库、云安全、云企业应用等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

2、腾讯云

腾讯公司倾力打造的面向广大企业和个人的公有云平台;提供云服务器、云数据库、云存储和CDN等基础云计算服务,以及提供微信、游戏、移动应用等行业解决方案。

3、华为云

华为企业云服务聚焦在IT基础设施领域,秉承“以客户为中心“的华为文化,专注打造企业级品质,为客户提供7x24小时不间断的云服务。已构建了一张具有十余个节点,覆盖全国的云服务网络,机房面积超过10万平米,是中国规模大,网络覆盖广的公有云服务商。

4、天翼云

集市场营销、运营服务、产品研发于一体,专注于成为亚太云计算基础服务提供商。

5、金山云

金山云是金山集团旗下控股公司,依托金山集团26年的深厚技术积累,以业内领先的用户体验和服务端技术,为用户和企业提供国内领军级云服务产品。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13308920.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-12
下一篇 2023-07-12

发表评论

登录后才能评论

评论列表(0条)

保存