博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Spark Cookbook 中文版》一1.4 在Amazon EC2上部署Spark
阅读量:6983 次
发布时间:2019-06-27

本文共 2893 字,大约阅读时间需要 9 分钟。

本节书摘来异步社区《Spark Cookbook 中文版》一书中的第1章,第1.4节,作者: 【印度】Rishi Yadav(亚达夫)译者: 顾星竹 , 刘见康 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 在Amazon EC2上部署Spark

Amazon弹性计算云(Amazon EC2)是一个能够提供可变大小的云计算实例的网络服务,Amazon EC2提供以下特性。

  • 通过互联网按需提供IT资源。
  • 提供足够多的实例。
  • 像支付水电费账单一样,按你使用实例的时间付费。
  • 没有配置成本,无需安装,没有任何开销。
  • 当你不需要实例时,只需关闭或者终止它们即可离开。
  • 支持所有常用操作系统。

EC2提供不同类型的实例,以满足所有计算需求,例如通用实例、微实例、内存优化实例、存储优化实例等,并提供微实例的免费试用。

1.4.1 准备工作

Spark绑定的spark-ec2脚本使得在Amazon EC2上安装、管理以及关闭Spark集群变得很容易。

开始之前需要以下准备工作。

1.登录你的Amazon AWS账号()。

2.点击右上角的我的账户下拉菜单中的安全证书。

3.点击访问密钥并创建访问密钥(如图1-2所示)。

2

4.记下访问密钥ID(Access Key ID)和私有访问密钥(Secret Access Key)。

5.现在,点开服务,点击EC2。

6.点击左侧菜单网络与安全下面的密钥对。

7.如图1-3所示,点击创建密钥对(Create Key Pair),输入kp-spark作为密钥对的名字。

8.下载私钥文件并复制到home/hduser/keypairs文件夹下。

9.设置文件权限许可为600。

10.将公钥ID和密钥ID的设置到环境变量中(请使用你自己的值替换本文的样本)。

$ echo "export AWS_ACCESS_KEY_ID=\"AKIAOD7M2LOWATFXFKQ\"">> /    home/hduser/.bashrc    $ echo "export AWS_SECRET_ACCESS_KEY=\"+Xr4UroVYJxiLiY8DLT4DLT4D4s    xc3ijZGMx1D3pfZ2q\"">> /home/hduser/.bashrc    $ echo "export PATH=$PATH:/opt/infoobjects/spark/ec2">> /home/    hduser/.bashrc

3

1.4.2 具体步骤

1.Spark绑定了在Amazon EC2上安装Spark集群的脚本。让我们使用以下命令部署集群。

$ cd /home/hduser   $ spark-ec2 -k 
-i
-s
launch

2.以下列数值为例部署集群。

$ spark-ec2 -k kp-spark -i /home/hduser/keypairs/kp-spark.pem   --hadoop-major-version 2  -s 3 launch spark-cluster

提示

  • <密钥对>:这是AWS中创建的EC2密钥对的名字。
  • <密钥文件>:这是你下载的私钥文件。
  • <从节点库数>:这是部署的从节点的数量。
  • <集群名称>:这是集群名字。

3.有时,缺省值可能不可用;在这种情况下,你就需要重发请求来制定特定的可用区域。

$ spark-ec2 -k kp-spark -i /home/hduser/keypairs/kp-spark.pem –z   us-east-1b --hadoop-major-version 2  -s 3 launch spark-cluster

4.如果你的应用需要实例关闭后保留数据,那么就为它增加一个EBS卷(例如一个10GB的空间)。

$ spark-ec2 -k kp-spark -i /home/hduser/keypairs/kp-spark.pem   --hadoop-major-version 2 -ebs-vol-size 10 -s 3 launch spark-   cluster

5.如果你使用的是Amazon spot实例,做法如下。

$ spark-ec2 -k kp-spark -i /home/hduser/keypairs/kp-spark.pem   -spot-price=0.15 --hadoop-major-version 2  -s 3 launch spark-   cluster

提示

Spot实例服务允许你自己定价来租Amazon EC2的计算能力。你只需要竞标Amazon EC2的空闲实例,当你的竞标价格大于当前标价时,你就可以使用该服务。该服务的价格是根据市场供求关系实时变化的(来源:amazon.com)。

6.一切部署完毕后,打开最后打印出来的网页URL来检查集群状态,如图1-4所示。

4

7.检查集群状态,如图1-5所示。

8.现在,在EC2上使用Spark集群,让我们使用安全外壳协议(SSH)连接到主节点上。

$ spark-ec2 -k kp-spark -i /home/hduser/kp/kp-spark.pem  login  spark-cluster

你应该会看到图1-6所示的内容。

5_6

9.检查主节点上的目录并查看它们的用途,如表1-2所示。

b2

10.检查临时实例的HDFS版本。

$ ephemeral-hdfs/bin/hadoop version  Hadoop 2.0.0-chd4.2.0

11.使用以下命令检查永久实例的HDFS版本。

$ persistent-hdfs/bin/hadoop version Hadoop 2.0.0-chd4.2.0

12.改变日志的配置层。

$ cd spark/conf

13.如图1-7所示,默认日志层信息非常冗长,所以我们把它改成Error级别。

7

重命名模板为log4.properties。

$ mv log4j.properties.template log4j.properties

使用vi或者你喜欢的编辑器打开log4j.properties。

$ vi log4j.properties

把命令行 | log4j.rootCategory=INFO, console|改为log4j.rootCategory= ERROR, console。

14.修改之后将所有配置复制到所有的从节点上。

$ spark-ec2/copydir spark/conf

你应该会得到如图1-8所示的信息。

8

15.销毁Spark集群。

$ spark-ec2 destroy spark-cluster

1.4.3 参考资料

http://aws.amazon.com/ec2

转载地址:http://etxpl.baihongyu.com/

你可能感兴趣的文章
[转]Python格式化输出
查看>>
如何使用ITEXTSHARP将HTML代码字符串写进PDF
查看>>
XML基础知识
查看>>
HeapAlloc 和 GlobalAlloc 以及 VirtualAlloc 三者之间的关系(转)
查看>>
你用过 PropTypes 的这些类型检查么?
查看>>
Java™ 教程(泛型、继承和子类型)
查看>>
如何优雅的构建排序公式
查看>>
SpringCloud核心教程 | 第二篇: 使用Intellij中的maven来快速构建Spring Cloud工程
查看>>
node中 模块导入和导出的探究
查看>>
Phalcon入门教程之模型CURD(2)
查看>>
《HTML5 canvas开发详解(第2版)》——2.12 检查一个点是否在当前路径
查看>>
《深入理解Scala》——第2章,第2.1节学习使用Scala交互模式(REPL)
查看>>
《21天学通HTML+CSS+JavaScript Web开发(第7版)》——1.7 作业
查看>>
【Android】用MediaRecorder录制视频太短崩的问题
查看>>
一个数组实现两个栈
查看>>
phonegap+jquerymobile开发android的心得(4)
查看>>
js获取url传递参数
查看>>
jQuery中bind方法与live方法区别
查看>>
高德地图POI查找
查看>>
磁盘格式化
查看>>