随着云时代的到来,大数据也吸引了越来越多多关注。而Spark做为大数据处理的佼佼者,越来越受到人们的关注。正是由于Spark技术的出现,使得在云计算上构建超大规模的大数据平台成为了可能。 Spark诞生于伯克利大学AMPLab,是现今大数据领域里最为活跃,最为热门,最为高效的大数据通用计算平台。Spark是基于MapReduce算法实现的一个分布式计算框架,Spark继承了Hadoop的MapReduce的所有优点,但是比Hadoop更为高效。 Spark成功使用Spark SQL/Spark Streaming/MLlib/GraphX近乎完美的解决了大数据中的Batch Processing、Streaming Processing、Ad-hoc Query三大核心问题。并且Spark的四大子框架和库之间可以无缝地共享数据和操作,这样的优势使得Spark在当今大数据计算领域中,处于无可匹敌的领先地位,也让Spark成为了大数据处理首选的计算平台。 为了适应国内云计算IaaS基础架构的需要,我们对Spark提出了更多苛刻的要求。首先,我们希望能自动化部署Spark集群到IaaS上并自动扩展计算节点。其次,我希望能维护所有的计算集群资源能像使用一台主机上的体验一样。再次,对于Spark的部署,希望能脱离主机的环境限制,按照业务需要自动扩展Spark集群环境,做到真正的动态,可扩展,有弹性的大数据计算平台。事实上对于这些问题,业界已经提供了非常优秀的开源项目Apache Mesos来支持资源调度,让我们得以开展实施我们的计划。但即使是这样,对于资源的隔离仍然不是很理想。因为对于高性能的机器,Spark不一定能完全占用完所有资源。为了能充分利用Spark的计算资源,我们最好是把大容量的机器划分为类似2G CPU/4G RAM大小的基础样机,使用Docker容器把Mesos/Spark包装起来,就可以很好的解决这个隔离需求。所以经过我们的实战需要,我们在最后终于有了非常确定的架构蓝图,也就是使用Mesos构建出一整套云计算分布式平台,在此基础之上我们再启用Spark引擎,让弹性分布式数据集(resilient distributed dataset,RDD)可以自由的穿梭在每个Mesos Slave节点。那么这里就要介绍一下Mesos这个优秀的框架了。 Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache中顶级项目,当前业界知名企业已经开始使用Mesos管理集群资源,比如Twitter、AirBnb、爱奇艺等。 Mesos采用master/slave结构,并且Mesos采用Zookeeper来解决分布式中最常见的单点故障问题,通常我们将master设置为三份,通过zookeeper来选举真正的master,做到高可靠性。master仅仅保存了mesos应用程序(通常称之为framework,包括四大类型,分别为Long Running Services,Big Data Processing,Batch Scheduling和Data Storage)和slave的一些状态,这些状态很容易通过framework和slave重新注册而进行重构。 Mesos中主要包含四个服务(实际上是一个socket server),分别是Mesos Master, Mesos Slave, SchedulerProcess和ExecutorProcess。各个服务之间通过Protocal Buffer消息进行通信 ,每个服务内部注册了若干种Protocal Buffer消息处理器,一旦接收到某种消息,则会调用相应的消息处理器进行处理。 我们将以三个节点为例子,通过Docker来安装部署Mesos集群,并且调用Docker来部署Mesos的Framework(Marathon,Chronos,Spark) 注:所有的Dokcer image都可以通过registry.dataman.io下载。
角色/IP 192.168.100.30 192.168.100.31 192.168.100.32 zookeeper √ √ √ mesos-master √ √ √ meoss-slave √ √ √ marathon √ √ √ spark-driver √ 想要在物理机上快速部署Mesos集群,我们必须先在物理机上安装Docker,详细的安装过程我们可以通过查看Docker官网文档来进行,这里不做详细叙述。
实战
安装Mesos
docker run --net=host registry.dataman.io/zookeeper /bin/bash /usr/local/share/zookeeper/start.sh -h=192.168.100.25:1,192.168.100.27:2,192.168.100.28:3
-h为预先分配好的zookeeper的IP+ID,格式为ip1:id1[,ip2:id2[,ip3:id3]]
更多zookeeper启动参数可以参照 https://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html#sc_configuration
docker run --net=host registry.dataman.io/mesos-master --zk=zk://192.168.100.30:2181,192.168.100.31:2181,192.168.100.32:2181/dataman --cluster=DataManCloud --quorum=2 --work_dir=/tmp --hostname=`ifconfig eth0 | awk '/inet addr/{print substr($2,6)}'`
–quorum=VALUE 这是复制节点的法定数量。这个数量必须大于master/2的数量。
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算