在Linux集群上部署Spark

2017-10-13  本文已影响0人  大数据与人工智能

简介

Spark 的安装部署比较简单,用户访问官网下载最新版本或历史版本,参阅官方文档作为参考。作者写本文时,最新的版本为2.2.0,因此此文章所述环境搭建均已Spark2.2.0版本为例。

Spark使用了Hadoop的HDFS作为持久化存储层,因此安装Spark时,应先安装与Spark版本兼容的Hadoop。同时Spark计算框架以Scala语言开发,对Scala,JDK版本也有具体要求。以版本2.2.0为例,需要java8,scala2.11.*。

本文的实际搭建环境为 Ubuntu16.04, 其他Linux发行版的安装类似,基本一致。

1 本地文件下载

2 安装 JAVA

  1. 将下载的JDK文件解压到/usr/local/jvm目录
  2. JDK 环境配置,用编辑器打开/etc/profile文件,加入如下内容:
    export JAVA_HOME = /use/local/jvm/jdk1.8.0_144
    export PATH = $PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
    
    关闭并保存profile文件
  3. 输入命令 source /etc/profile 使配置生效

3 安装 SCALA

  1. 找到下载好的安装包 scala-2.11.11.tgz

  2. 安装

    tar zxvf scala-2.11.11.tgz -C /usr/local/scala
    cd /usr/local/scala
    ln -s scala-2.11.11 scala
    
  3. 配置,打开/etc/profile,添加如下语句:

    export SCALA_HOME = /usr/local/scala/scala
    export PATH = $PATH:$SCALA_HOME:bin
    

4 配置SSH免密登录

在分布式系统中,通常使用SSH服务来启动Slave节点上的程序,当节点数量比较大的时候,频繁的输入密码进行身份认证是比较差的体验,切安全性不一定高。使用SSH公私钥的方式达到SSH免密码登录。

首先在MASTER节点上创建一对公司钥(公钥文件 ~/.ssh/id_rsa.pub;私钥文件 /.ssh/id_rsa),然后把公钥拷贝到woeker节点上(/.ssh/authorized_keys)

5 Hadoop的安装配置

mkdir -p /hdfs/namenode
mkdir -p /hdfs/datanode
/usr/local/hadoop/hadoop-2.7.4/bin/hadoop namenode -format

6 Spark 的安装配置Spark

tar zxvf spark-2.2.0-bin-hadoop2.7.tgz -C /usr/local/spark/spark-2.2.0-bin-hadoop2.7

7 Hadoop与Spark 集群的复制

我们到此为止已经完成了一台主机的配置,现在将该环境及部分配置文件从Master分发到各个Worker节点上。在集群环境中,有一台主机想多台主机间的文件传输一般使用pssh工具完成。为此,在Master上建立一个workerlist.txt,其中保存了所有Worker的IP.

复制环境 命令行
JDK环境 pssh -h workerlist -r /usr/local/scala /
SCALA环境 pssh -h workerlist -r /usr/local/scala /
Hadoop环境 pssh -h workerlist -r /usr/local/hadoop /
Spark环境 pssh -h workerlistt -r /usr/local/hadoop /
系统配置 pssh -h workerlist /etc/hosts /, pssh -h workerlist /etc/profile /

至此,Spark Linux 集群环境搭建完毕。

8 Spark 集群试运行
最近还在学习中,随时更新

上一篇 下一篇

猜你喜欢

热点阅读