近来学习Spark,作为Linux小白,在Hadoop与Spark平台搭建过程中,产生了许多之前未预料的错误。经过锲而不舍的网上查找文章和不断尝试,终于解决了所有的错误,成功将Spark平台运行起来。为了防止今后的遗忘,也为了给像我一样的小白提供搭建Hadoop与Spark平台的经验心得,特结合网上相关文章写下此文章。
本文采用系统和软件版本如下:
Ubuntu16.04 64位
JDK 8u131
Hadoop2.8.0
Scala2.11.0
Spark 2.1.1
一、Hadoop与spark平台简介
1.Hadoop:
Hadoop是由Apache基金会所开发的分布式系统基础架构,实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS;Hadoop框架最核心设计就是HDFS和MapReduce,HDFS为海量数据提供了存储,MapReduce为海量数据提供了计算。
Hadoop要解决的问题:海量数据的存储(HDFS)、海量数据的分析(MapReduce)和资源管理调度(YARN)。
Hadoop主要作用于分布式。
2.Spark:
Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处,Spark以其先进的设计理念,迅速成为社区的热门项目,围绕着Spark推出了Spark SQL、Spark Streaming、MLLib和GraphX等组件,也就是BDAS(伯克利数据分析栈),这些组件逐渐形成大数据处理一站式解决平台。从各方面报道来看Spark抱负并非池鱼,而是希望替代Hadoop在大数据中的地位,成为大数据处理的主流标准,不过Spark还没有太多大项目的检验,离这个目标还有很大路要走。
Spark使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合对象一样轻松地操作分布式数据集(Scala 提供一个称为 Actor 的并行模型,其中Actor通过它的收件箱来发送和接收非同步信息而不是共享数据,该方式被称为:Shared Nothing 模型)。在Spark官网上介绍,它具有运行速度快、易用性好、通用性强和随处运行等特点。
二、Hadoop平台搭建
1.下载
首先在Hadoop官网下载Hadoop安装包http://hadoop.apache.org/,下载的文件为tar压缩包形式。
*Spark对于Hadoop的版本有一定要求,若要同时搭建Spark平台,需参照Spark要求下载对应的Hadoop版本。
2.创建Hadoop用户
如果你安装Ubuntu的时候不是用的”Hadoop”用户,那么需要增加一个名为Hadoop的用户