Spark环境配置及搭建standalone集群

一、搭建Linux虚拟机

    1. 配置:2核、2G内存、20G硬盘、CentOS7系统(CentOS-7-x86_64-DVD-1511.iso,最小化安装)

    2. 网络:

    Spark环境配置及搭建standalone集群

    Spark环境配置及搭建standalone集群

二、对虚拟主机进行基本设置

    1. 网络配置

        ip addr 查看网卡信息

        Spark环境配置及搭建standalone集群

        更改网络配置(设置静态ip)

        vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 

        Spark环境配置及搭建standalone集群

        配置dns

        vi /etc/resolv.conf 

        Spark环境配置及搭建standalone集群

        重启网络服务

        service network restart

        配置虚拟机网络适配器

        Spark环境配置及搭建standalone集群

    2. 配置网络yum源(这里为阿里云CentOS7 yum源)【可选,针对系统自带的yum源不可用时】

        进入yum源文件目录

        cd /etc/yum.repos.d

        查看相关yum源文件

        ls

        Spark环境配置及搭建standalone集群

        删除不可用的无效yum源

        rm -r CentOS-Base.repo

        rm -r CentOS-Debuginfo.repo

        下载网络yum源(这里为阿里云yum源)

        curl -O http://mirrors.aliyun.com/repo/Centos-7.repo

        返回用户目录

        cd

        安装网络管理工具

        yum install net-tools

三、下载和配置Spark环境

    1. 安装JDK

        yum install java-1.8.0-openjdk* -y

        检查JDK是否安装成功

        java -version

    2. 安装openssh-client 和 openssh-server

        yum install openssh-clients

        yum install openssh-server

    3. 下载并解压spark二进制包

        进入/etc目录

        cd /etc

        下载spark压缩包

        curl -O http://mirrors.hust.edu.cn/apache/spark/spark-2.3.0/spark-2.3.0-bin-hadoop2.7.tgz

        解压缩下载的spark包

        tar -zxvf spark-2.3.0-bin-hadoop2.7.tgz

    4. 测试

        进入解压缩得到的spark-2.3.0-bin-hadoop2.7目录

        cd spark-2.3.0-bin-hadoop2.7

        执行 ./bin/spark-shell

        Spark环境配置及搭建standalone集群

    5. 设置环境变量

        编辑文件/etc/profile

        vi /etc/profile

        在文件末尾加入

        export SPARK_HOME="/etc/spark-2.3.0-bin-hadoop2.7"

        export PATH="$SPARK_HOME/bin:$PATH"

        Spark环境配置及搭建standalone集群

        回到用户目录

        cd

        执行spark-shell测试环境变量是否设置成功

        spark-shell

四、搭建standalone集群

    1. 按步骤一、二新建centOS虚拟机,并进行相应的环境配置,以下将本子节点的ip设为192.168.80.3

    2. 更改虚拟主机名称和hosts文件

        将主节点的主机名称改为master

        vi etc/hostname

        Spark环境配置及搭建standalone集群

        Spark环境配置及搭建standalone集群

        以同样的方式将子节点主机名称改为slave1

        更改master节点的host文件,让两台主机可以通过主机名称互访

        vi /etc/hosts

        Spark环境配置及搭建standalone集群

        更改slave1节点的host文件(此处master节点ip为192.168.80.2)

        Spark环境配置及搭建standalone集群

    3. ssh配置

        生成ssh私钥

        ssh-****** -t dsa  如有需要输入直接回车即可

        将私钥加入到所有节点,包括master节点本身

        ssh-copy-id [email protected]

        ssh-copy-id [email protected]

    4. spark配置文件

        进入spark安装目录的配置文件目录

        cd /etc/spark-2.3.0-bin-hadoop2.7/conf

        按照模板创建slaves和spark-env.sh文件

        cp slaves.template slaves

        cp spark-env.sh.template spark-env.sh

        编辑salves文件,添加spark节点列表

        vi slaves

        Spark环境配置及搭建standalone集群

        编辑spark-env.sh,在文件末写入java运行目录的位置

        Spark环境配置及搭建standalone集群

        最好也在该文件末尾加入一下语句手动指定主节点ip和端口,确保master节点能准确的从自己的配置文件读取到正确的

        地址供子节点salve1连接

        SPARK_MASTER_HOST=192.168.80.2

        SPARK_MASTER_PORT=7077

        否则当master节点的host文件为如下时,会由于spark的默认读取机制,读取回环地址127.0.0.1而

        非内网地址192.168.80.2,导致子节点slave1的连接被拒绝,出现问题。

        Spark环境配置及搭建standalone集群

    5. 复制spark安装目录至节点主机

        scp -r /etc/spark-2.3.0-bin-hadoop2.7 [email protected]:/etc

    6. 防火墙设置

        关闭防火墙

        service firewalld stop

        或开启所需端口

        master节点所需端口 8080 7077 8081,如需其它端口自行按如下规则打开即可

        firewall-cmd --zone=public --add-port=8080/tcp --permanent

        firewall-cmd --zone=public --add-port=7077/tcp --permanent

        firewall-cmd --zone=public --add-port=8081/tcp --permanent

        重新载入防火墙配置,使所开端口生效

        firewall-cmd --reload

        按上述方法将子节点slave1的端口8081打开,如果报错显示需要其它端口,自行打开即可

    7. 运行与关闭standalone集群

        进入spark安装目录

        cd /etc/spark-2.3.0-bin-hadoop2.7

        执行sbin/start-all.sh 开启集群

        如有错误请按提示查看运行日志

        Spark环境配置及搭建standalone集群

        在浏览器输入master节点地址http://192.168.80.2:8080查看web控制端显示 

        Spark环境配置及搭建standalone集群