/ 中存储网

如何在Amazon EMR Cluster上安装Apache Spark

2014-10-23 17:15:00 来源:中存储网

在过去的五年之中,Amazon Elastic MapReduce (Amazon EMR)已经开始逐渐转变成一个超出Hadoop范畴之外的一种运行许多分布式计算框架Container。在Amazon EMR簇中,用户可以选择运行各种引擎,包括HBase, Impala, Spark, or Presto,并且还能使用Amazon EMR的众多功能,比如Amazon Simple Storage Service (Amazon S3)的快速处理功能,同时还可以和其他AWS功能服务建立联系,并且减轻使用压力(集群的创造和控制)。

对于Apache Spark,我们更多的感到的是一种格外的惊喜。这是一个位于Apache Hadoop生态系统之中的用来高速、高效地处理大数据的引擎。通过引导和使用内存中,容错弹性的分布式数据集(RDDS),非循环图(DAG)来定义数据转换,与HadoopMapReduce相比,Spark显示了显著的性能提升。

Amazon EMR对于Spark来说一点都不陌生,事实上,客户通过在Amazon EMR运行Spark来管理Hadoop集群很久了。为了能够让客户更加方便的在Amazon EMR集群上运行Spark,亚马逊AWS在2013年2月编写了如何运用Spark和Shark的文章。

Spark生态圈也发生了很多的变化:Spark已经逐渐完善到了1.x版本,这种完善版能保证所有1.x版本的API发布时有着极高的稳定性。由于Spark SQL的强劲功能,Shark已经逐渐退出了历史舞台,而且Spark可以再Yarn上运行(Hadoop2的资源管理器),我们已经修改了我们的引导动作,将Spark1.x安装在Hadoop2.x的AIM上,这样它同时也可以在Yarn顶端运行。这个引导动作同时也在Spark SQL,Spark Streaming,MLlib和GraphX上完成了安装于配置。

Spark的安装于引导程序在Amazon S3中的路径是:

s3://support.elasticmapreduce/spark/install-spark

或者你也可以在EMR Labs GitHub page上寻找更多的安装Spark引导脚本的信息。

利用这个安装引导动作,用户可以轻松的从控制器或AWS CLI向Amazon EMR配置器中进行安装(在这里展示具体的使用过程:但是你要用你的集群的开启SSH的密钥对来代替MyKeyPair)

awsemr create-cluster --name SparkCluster --ami-version 3.2.1 --
instance-type m3.xlarge --instance-count 3 --ec2-attributes
KeyName=MyKeyPair --applications Name=Hive --bootstrap-actions
Path=s3://support.elasticmapreduce/spark/install-spark

正确安装的话,那么这个引导动作就会被顺利安装。

· Spark 0.8.1 on Hadoop 1.0.3 (AMI 2.x)

· Spark 1.0.0 on Hadoop 2.2.0 (AMI 3.0.x)

· Spark 1.1.0 on Hadoop 2.4.0 (AMI 3.1.x and 3.2

同时,亚马逊AWS官方也上传了原始的在Amazon EMR上的Spark文章,用来作为Spark和Spark SQL 实例中全新的引导动作和语法的参照。

原文链接:http://blogs.aws.amazon.com/bigdata/post/Tx15AY5C50K70RV/Installing-Apache-Spark-on-an-Amazon-EMR-Cluster