跳转到主要内容

在EC2中设置和管理Apache Spark集群

项目描述

CGCloud插件为Spark允许您在几分钟内设置一个完全配置的Apache Spark集群在EC2中,无论节点数多少。虽然Apache Spark已经包含一个名为spark-ec2的脚本,可以用来在EC2中构建集群,但CGCloud Spark与spark-ec2有以下不同之处

  • Tachyon或Yarn不包含在内

  • 设置时间不与节点数成线性比例。设置一个100节点的集群所需时间与设置一个10节点的集群所需时间相同(2-3分钟,而spark-ec2则需要45分钟)。这是通过将所有所需的软件打包到一个AMIs中实现的。所有从属节点同时启动,并在几分钟内自主加入集群。

  • spark-ec2不同,可以通过EC2 API或EC2控制台停止和启动集群,无需涉及cgcloud。

  • Spark服务(主节点和从节点)以非特权用户身份运行,而不是像spark-ec2那样以root身份运行。同样适用于HDFS服务(NameNode、DataNode和SecondaryNameNode)。

  • Spark和Hadoop服务通过常规init脚本在实例启动时自动启动。

  • 可以通过从AMI启动新实例轻松添加节点。它们将自动加入集群。之后可能需要重新平衡HDFS。

  • 可以通过扩展SparkMaster和SparkSlave类来自定义从集群节点启动的AMI。

  • CGCloud Spark使用CGCloud Agent,负责维护每个节点上的授权密钥对列表。

  • CGCloud Spark基于官方Ubuntu Trusty 14.04 LTS,而不是Amazon Linux AMI。

先决条件

“cgcloud-spark”软件包需要安装“cgcloud-core”软件包及其先决条件

安装

在粘贴任何命令之前,请仔细阅读本节内容,并确保已安装所有先决条件。建议将此插件安装到为CGCloud创建的虚拟环境中。

source ~/cgcloud/bin/activate
pip install cgcloud-spark

如果您遇到DistributionNotFound: No distributions matching the version for cgcloud-spark错误,请尝试运行pip install --pre cgcloud-spark

在继续之前,请确保已配置“cgcloud-core”。

配置

通过添加以下行修改您的.profile.bash_profile文件

export CGCLOUD_PLUGINS="cgcloud.spark:$CGCLOUD_PLUGINS"

登录和注销(或在OS X上,打开一个新的终端标签/窗口)。

通过运行以下命令验证安装

cgcloud list-roles

输出应包括spark-box角色。

用法

创建一个t2.micro实例作为集群节点的模板

cgcloud create -IT spark-box

I选项会在设置完成后停止实例并创建其(AMI)镜像。而T选项则在之后终止实例。

现在,通过从该AMI启动主节点和从节点来创建一个集群

cgcloud create-cluster spark -s 2 -t m3.large

这将使用m3.large实例类型启动一个主节点和两个从节点。

通过SSH连接到主节点

cgcloud ssh spark-master

… 或第一个从节点

cgcloud ssh -o 0 spark-slave

… 或第二个从节点

cgcloud ssh -o 1 spark-slave

项目详情


版本历史 发布通知 | RSS源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源代码发行版

cgcloud-spark-1.6.0.tar.gz (10.0 kB 查看哈希值)

上传时间 源代码

构建发行版

cgcloud_spark-1.6.0-py2.7.egg (22.3 kB 查看哈希)

上传时间

支持者