开发者
资源
使用华为云ECS部署Hadoop、Spark并运行样例
使用华为云ECS部署Hadoop、Spark并运行样例
发表于2023/10/28
1300

.购买ECS并登录

购买流程省略,注意选择CPU架构X86,镜像为Ubuntu 18.04,网络为默认VPC,安全组Sys-FullAccess。

登录ECS

创建 ECS 后,可以在控制台->弹性云服务器中看到弹性公网IP。推荐使用 Vscode+ssh 插件登录 ECS

  • SSH:https://code.visualstudio.com/docs/remote/ssh

实验环境配置

  • 搭建Java开发环境,配置好环境变量 参考:http://www.oracle.com/technetwork/java/javase/downloads/index.html

  • 分布式框架的安装与配置:

    Hadoop 配置:http://dblab.xmu.edu.cn/blog/1177-2/

    Spark 配置:http://dblab.xmu.edu.cn/blog/1714-2/

    Sbt(Simple Build Tool)配置:http://dblab.xmu.edu.cn/blog/1307-2/

2.运行Hadoop wordcount样例

通过运行 Hadoop 提供的 wordcount 样例,我们可以直观地感受到批处理应用的一种典型模式:先分散执行,再统一收集结果。

  • 启动 Hadoop 集群后,执行 hadoop fs -mkdir /input,在 hdfs 根目录下新建文件夹
  • 执行 hadoop fs -put xxx.txt /input 将需要执行 wordcount 的文本放⼊新建的文件夹中。
  • 执行

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.x.x.jar wordcount/input/output 运行 Hadoop 自带的 wordcount样例(注意自己部署的hadoop 版本)。

  • 执行 hadoop fs -cat /output/part-r-00000 打印结果。

运行结果如下:  

3.运行Spark Connected Component样例

在这一部分中,我们将初步认识 Spark 处理框架。Spark 提供了 GraphX API,可以用于处理图数据。我们将参考 wordcount 应用的打包方法,打包运行一个使用 GraphX API 编写的图处理应用。

运行结果如下: 

4.个人总结

Hadoop 框架的核心是 HDFS 和 MapReduce,HDFS 为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。HDFS 有高容错性,用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。

Spark 是一种类 Hadoop MapReduce 的通用并行框架,不同点是Job中间输出结果可以保存在内存中,从而不再需要读写 HDFS。因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。且 Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞