如何创建一个大数据平台
所谓的大数据平台不是独立存在的,比如百度是依赖搜索引擎获得大数据并开展业务的,阿里是通过电子商务交易获得大数据并开展业务的,腾讯是通过社交获得大数据并开始业务的,所以说大数据平台不是独立存在的,重点是如何搜集和沉淀数据,如何分析数据并挖掘数据的价值。
我可能还不够资格回答这个问题,没有经历过一个公司大数据平台从无到有到复杂的过程。不过说说看法吧,也算是梳理一下想法找找喷。
这是个需求驱动的过程。
曾经听过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或者Spark MLLib,于是你也部署了这些。
至此可能数据平台已经是工程师的日常工作场所了,大多数业务都会迁移过来。这时候你可能面临很多不同的问题。
比如各个业务线数据各种数据表多的一塌糊涂,不管是你还是写数据的人大概都不知道数据从哪儿来,接下去到哪儿去。你就自己搞了一套元数据管理的系统。
你分析性能,发现你们的数据都是上百Column,各种复杂的Query,裸存的Text格式即便压缩了也还是慢的要死,于是你主推用户都使用列存,Parquet,ORC之类的。
又或者你发现你们的ETL很长,中间生成好多临时数据,于是你下狠心把pipeline改写成Spark了。
再接下来也许你会想到花时间去维护一个门户,把这些零散的组件都整合到一起,提供统一的用户体验,比如一键就能把数据从数据库chua一下拉到HDFS导入Hive,也能一键就chua一下再搞回去;点几下就能设定一个定时任务,每天跑了给老板自动推送报表;或者点一下就能起一个Storm的topology;或者界面上写几个Query就能查询Hbase的数据。这时候你的数据平台算是成型了。
当然,磕磕碰碰免不了。每天你都有新的问题和挑战,否则你就要失业了不是?
你发现社区不断在解决你遇到过的问题,于是你们架构师每天分出很多时间去看社区的进展,有了什么新工具,有什么公司发布了什么项目解决了什么问题,兴许你就能用上。
上了这些乱七八糟的东西,你以为就安生了?Hadoop平台的一个大特点就是坑多。尤其是新做的功能新起的项目。对于平台组的人,老板如果知道这是天然坑多的平台,那他也许会很高兴,因为跟进社区,帮忙修bug,一起互动其实是很提升公司影响力的实情。当然如果老板不理解,你就自求多福吧,招几个老司机,出了问题能马上带路才是正道。当然团队的技术积累不能不跟上,因为数据平台还是乱世,三天不跟进你就不知道世界是什么样了。任何一个新技术,都是坑啊坑啊修啊修啊才完善的。如果是关键业务换技术,那需要小心再小心,技术主管也要有足够的积累,能够驾驭,知道收益和风险。
就我卖过给医院的服务器,设备选择,直接拨打服务器厂家客服,会有专门的客户经理为你选型定制,至于大数据构建,由软件决定,就我见过的,一般统计,医院一段时间内就诊人数,哪一科看病人数最多,什么年龄段,那种病情看病人数多,有些会显示实时人数,比如医护人员有多少人,病床住院有多少人,现在医院进出多少人,及整个医院总人数,
问题一:选购IA服务器时应考察的主要配置参数有哪些
CPU和内存:CPU的类型、主频和数量在相当程度上决定着服务器的性能;服务器应采用专用的ECC校验内存,并且应当与不同的CPU搭配使用。
芯片组与主板:即使采用相同的芯片组,不同的主板设计也会对服务器性能产生重要影响。
网卡:服务器应当连接在传输速率最快的端口上,并最少配置一块千兆网卡。对于某些有特殊应用的服务器(如FTP、文件服务器或视频点播服务器),还应当配置两块千兆网卡。
硬盘和RAID卡:硬盘的读取/写入速率决定着服务器的处理速度和响应速率。除了在入门级服务器上可采用IDE硬盘外,通常都应采用传输速率更高、扩展性更好的SCSI硬盘。对于一些不能轻易中止运行的服务器而言,还应当采用热插拔硬盘,以保证服务器的不停机维护和扩容。
冗余:磁盘冗余采用两块或多块硬盘来实现磁盘阵列;网卡、电源、风扇等部件冗余可以保证部分硬件损坏之后,服务器仍然能够正常运行。
热插拔:是指带电进行硬盘或板卡的插拔操作,实现故障恢复和系统扩容。 同时,在选择IA服务器时通常需要考虑可管理性、可用性、可扩展性、安全性以及可靠性等几方面的性能指标。
问题二:64位服务器覆盖的应用范围
从应用类型来看,大致可分为主域服务器、数据库服务器、Web服务器、FTP服务器和邮件服务器、高性能计算集群系统几类。 而目前,主流的服务器处理器有:英特尔安腾处理器、英特尔至强处理器和AMD公司的Opteron处理器,这些处理器是近几年推出的新型64位服务器。笔者就以上的几种应用,讨论一下服务器在不同的应用当中,对服务器子系统的不同要求进行简单概述:
主域控制器 网络、用户、计算机的管理中心,提供安全的网络工作环境。主域控制器的系统瓶颈是内存、网络、CPU、内存配置。
文件服务器 文件服务器作为网络的数据存储仓库,其性能要求是在网络上的用户和服务器磁盘子系统之间快速传递数据。
数据库服务器 数据库引擎包括DB2、SQL Server、Oracle、Sybase等。数据库服务器一般需要使用多处理器的系统,以SQL Server为例,SQL Server能够充分利用SMP技术来执行多线程任务,通过使用多个CPU,对数据库进行并行操作来提高吞吐量。另外,SQL Server对L2缓存的点击率达到90%,所以L2缓存越大越好。内存和磁盘子系统对于数据库服务器来说也是至关重要的部分。
Web服务器 Web服务器用来响应Web请求,其性能是由网站内容来决定的。如果Web站点是静态的,系统瓶颈依次是:网络、内存、CPU;如果Web服务器主要进行密集计算(例如动态产生Web页),系统瓶颈依次是:内存、CPU、磁盘、网络,因为这些网站使用连接数据库的动态内容产生交易和查询,这都需要额外的CPU资源,更要有足够的内存来缓存和处理动态页面。
高性能计算用的集群系统 一般在4节点以上,节点机使用基于安腾、AMD 64技术的Opteron系统,这种集群系统的性能主要取决于厂商的技术实力、集群系统的设计、针对应用的调优等方面。
问题三:多核时代,处理器内核越多越好吗?
二大芯片巨头英特尔、AMD公司于2005年底推出多核处理器,目前,不管是双核、还是即将成为2007年主流四核处理器或是将来的八核、十六核处理器,英特尔、AMD之间激烈的竞争,促使处理器市场新品越来越多。在性能上、在功耗节能方面还是其它服务器配件方面,都极大地促进了产业的发展。
而对于大部分用户来讲,服务器在应用层次方面,仍旧是不变的。唯一需要考虑的就是用户自身的发展对于服务器的性能是否能够满足。现今,对于一款四核高性能服务器,其采购成本远远高于现今主流的双核服务器,如果双核服务器就能够满足您的需求,同时也能够为将来的3~5年发展预留足够的空间,那么就没必要选择价格昂贵的四核服务器。
综合以上:对于单核/双核/多核综合交叉时代,选购服务器应该把目光放在自身需求上面,以本身应用需求、资金投入为因素,选购最合适的服务器产品。
根据需要选择服务器配置:
1、根据企业的需求选择合适的线路
国内常用的线路是电信线路和网通线路,其中河南以及河南以北地区以网通为主,河南以及以南以网通为主,同等线路之间访问速度比较快,反之则访问速度比较慢,而双线线路则解决解决这一问题,所以可以根据企业的需求选择单线路或者双线路。
2、根据需求选择共享带宽或者是独立带宽
顾名思义,共享带宽是指和机房内的其他服务器共同使用一定的带宽,一般是100M独享带宽是指独自使用一定的带宽。如果企业网站属于下载类、**、访问量比较高的网站,可以选择独享带宽。如果网站是普通的文字类网站则可以选择共享带宽,在共享情况下一般带宽也可以达到10M或者10M以上。
3、硬件配置方面,选择高性能的硬件配置
至于服务器配置,可以选择较为经济的配置,如酷睿E5700、inter 四核 Q9300等,如果选择比较高端的,如Intel Xeon E5-2609 至强四核、Intel XEON E5620 至强四核八线程等,结合企业的需求进行选择。
4、选择正规的IDC商,省去很多后期麻烦
正规的IDC商一般都有营业执照、ICP证、ISP证等证件,之所以挑选正规的IDC商是因为服务器不是一般的电脑,需要24小时开机,对环境要求也比较高,并且运行过程中出现问题需要及时解决,一旦出现服务器不能正常运行了,不仅影响网站优化,还易降低用户体验,严重时可导致网站被k,需要很长时间才能恢复。而正规的IDC上都是有很高的信誉保障的,机房都有专业技术人员值班。
1、首先应该配置服务器的外部接口。你应该已经知道如何做到这一点,并且可能已经完成了。如果你不这样做,那么现在就这样做。
2、现在我们调出内部接口。根据我们选择的数字,服务器的内部接口是19216840254。所以我们必须配置该接口。
3、设置路线。 我们现在可以与当地网络上的机器通信,但我们无法访问其他内部网络。这需要更多的代码行。
4、任何发往19216800网络的流量都应该输出eth1,并且它应该交给思科。我们的本地网络的流量仍然可以达到应有的位置,因为路由表按网络掩码的大小排序。如果我们在我们的网络中有其他内部网络,我们将为每个网络提供如上所述的线路。
5、现在我们可以访问我们可能需要的每台机器,我们需要编写允许或拒绝通过***服务器访问的防火墙过滤规则。
6、对于家庭用户来说,一切都可以在这里工作。但是对于远程办公室,我们需要做一些路由。首先,我们需要告诉主路由器或思科,远程办公室是***服务器的后面。因此,请指定Cisco上的路由,告知它将发往远程办公室的流量发送到***服务器。现在,我们必须告诉***服务器如何处理发往远程办公室的流量。
7、为此,我们在服务器上运行 route命令。唯一的问题是为了路线命令工作,链接必须是up,如果它关闭,路由将丢失。解决方案是在客户端连接时添加路由,或者更简单地,经常运行路由命令,因为运行它不是必要的问题。
1、对于计算密集型应用,应对服务器配置高主频CPU;对于I/O密集型应用,应配置高速大容量磁盘;对于网络密集型应用,应配置高速网络。
2、web类(门户、**、电商)主要是消耗带宽资源,因为现在web站点、流媒体较多,用户的访问服务器的交互只是建立连接获取这些信息,相对软件应用服务器计算量很少。
3、软件类(erp、财务软件、OA)主要是数据的存储和计算,更多的是消耗CPU、内存硬件,因为单个访问量数据量较少,消耗的带宽就很少。
入口:网页链接
虚拟化,如exsi67---vSphere针对机器学习和AI工作负载优化(简单理解,传统服务器,无论
CPU与GPU,都有限的,最高配置,也有速度限的,,而虚拟化,就是将N台机的资源整合,所有机器都可调配,优化所有性能,将N台机合一使用。。。。)
我们在解藕了计算资源,存储资源,网络资源后,新的应用场景,例如大数据,AI,ML需要新的算力技术,比如GPU。在vSphere 7之前或者说在目前市场上的AI/ML算力解决方案中都是将GPU的算力和CPU
vSphere 7集成了VMware前期收购的Bitfusion,解决方案是将GPU/FPGA等AI/ML资源池化置于计算资源后端,计算资源需要AI相关算力时,通过网络灵活可力度调度后端AI算力资源
基于vSphere针对机器学习和AI工作负载优化
像ML和AI这样的现代应用程序需要计算加速来处理大型和复杂的计算。vSphere利用功能强大的加速器来处理VM或容器中的工作负载。基础结构也可以用于某些HPC工作负载。
整合和共享硬件加速器
轻松确定未充分利用的孤立且昂贵的资源。不论位置如何,都可以远程(全部或部分)共享硬件加速器。GPU资源的切分也变得灵活
现在和将来扩展
在整个基础架构中利用GPU,并使用同一基础架构集成不断发展的技术,例如FPGA和定制ASIC。
0条评论