spark发行版包含一个ec2启动脚本,该脚本指向github中spark-ami的位置。不幸的是,ami(只有一个)是一个amazonlinux,它非常有限。特别是amazon-linux-ami有有限的软件包支持。
因此,例如,如果我想在amazonlinux上获得php5.4(而不是默认的5.3),那就没那么幸运了。
有没有任何非amazon-linux-ami可以与spark-ec2一起使用?
除了Spark项目提供的那些之外,我不知道还有什么最新的Spark AMI。
也就是说,我已经开发了一种使用Packer从一组基本AMI和一些Bash脚本中自动创建一组Spark AMI的方法:
https://github.com/nchammas/spark-ec2/tree/packer/image-build
这是SPARK-3821的一部分。
您需要做一些工作才能将其与Ubuntu一起使用,因为脚本目前假设是基于yum
的Linux发行版。
基本上:
- 这些行定义了要构建的基本AMI
- 这些行显示了正在运行以构建图像的脚本
- 这些行告诉Packer将构建的AMI复制到所有EC2区域。你可能想改变这一点
对你来说,最短的成功之路可能是尝试一个带有你想要的软件包的CentOS或Fedora基本映像。这将最大限度地减少对Bash脚本所做的更改。
大约在Spark 1.4发布时间段(大约2015年6月/7月),我将努力将其合并到主spark-ec2
回购中。