使用虚拟机从小白开始搭建Spark集群

前言


此篇博文记录一个小白如何用虚拟机搭建一个集群的血泪史,用来体验Spark的分布式计算。
在搭建之前,先理清一些概念。

  • Spark有三种集群搭建方式。分别为
    1. 独立集群模式,即standalone模式
    2. 搭建在Hadoop生态圈的YARN之上
    3. 搭建在Mesos之上

此篇讲述的是第2种。
而第2种集群方式,是建立在第1种之上的。也就是说,搭建了第2钟,就可以同时使用第1、2种了。

  • YARN是什么?说白了它就是在操作系统以及分布式计算软件之间的一层软件,它负责资源的调度。比如,在集群里同时有Spark与Hadoop,两者同时发出任务(由不同的使用者)或者两者的任务有可能会同时存在于集群里,这个时候YARN就起了作用,它负责协调这两个任务如何进行。
  • Spark提交任务时,如果想让YARN来调度资源,那么就必须指定提交到YARN集群上。如果想使用本身的集群管理器调度,就要把任务提交到指定的URL上。

搭建集群


准备工作

首先,就只建立一台虚拟机出来。待配置好基本通用的配置信息后,我们再克隆出两台来,这样会方便许多。
我的系统采用的是Ubuntu14,虚拟机网络适配器选择桥接模式,手动配置IP,关闭防火墙。另外,系统用户名就叫hadoop。
先去各自官网下载软件。

  1. Hadoop,一般YARN被集成在这里面
  2. Spark,可以下载编译好了的基于对应Hadoop版本的版本
  3. JAVA,去Oracle下载,注意Hadoop所要求的JAVA版本
  4. Scala,因为Spark是用scala写的,可能会用到
环境准备

以下我都以~/software 为工作目录为例。

1.首先搭建JAVA环境。

将下载的安装包解压到一个自己指定的目录。
tar -zxvf jdk-8u101-linux-x64.tar.gz -C ~/software

然后修改环境变量文件 sudo vi /etc/profile ,在末尾添加:

export JAVA_HOME=/home/hadoop/software/jdk1.8.0_101
export JRE_HOME=/home/hadoop/software/jdk1.8.0_101/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

保存关闭后,source /etc/profile,使修改生效。
然后可以验证JAVA是否生效,java -version
图片
像以上那样就是对的。如果结果是OpenJDK什么的,就要自己google下怎么替换JAVA成我们自己安装的这种。

2.搭建Scala环境。

过程跟JAVA差不多。
就是修改profile有点区别:

export SCALA_HOME=/home/hadoop/software/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

然后还是保存关闭后source一下,让它生效。
最后scala -version,看看版本。

3.修改计算机环境
  1. 首先要计划一下,这里使用1台master,2台slave的结构。
    我们搭建虚拟机集群,一般是在一台上把全部配置好了,然后再克隆出两台来,再去修改一小部分配置,集群就能够用的起来了。
  2. 在master节点上,为了方便,先把此台主机的名字改为master:sudo vi /etc/hostname,将里面的主机名字改为master。
  3. 然后修改计算机IP地址,修改为10.1.1.100
  4. 最后修改hosts文件:sudo vi /etc/hosts
10.1.1.100      master
10.1.1.101      slave1
10.1.1.102      slave2

这里要注意问题是,hosts文件里正常会存在一个localhost 及其 对应的IP地址,千万不要删除它,直接把以上三行信息给加到后边就行了,删除了localhost,Spark会找不到入口!

4.安装SSH服务
  1. 安装SSH。
    sudo apt-get install openssh-server
  2. SSH具体的配置在克隆出两台虚拟slave后再配置。
克隆主机
  1. 在配置完JAVA、Scala、hostname、hosts,并且安装SSH后,我们就算是搭建好最基本的所有集群里节点通用的配置了。
  2. 然后在VMware里,克隆出两台slave出来。这样,VM里就应该有master、slave1、slave2三台主机了。
  3. 克隆出的主机记得修改自己的hostname文件里主机名字以及本身IP地址(hosts文件不用修改了,因为是克隆的master的),跟hosts文件里的主机名、IP地址要对应。
  4. 修改完后,可以在每台主机里ping下其他主机,看看能不能连通。ping slave1ping slave2
配置ma
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值