• spark集群搭建


    文中的所有操作都是在之前的文章scala的安装及使用文章基础上建立的,重复操作已经简写;

    配置中使用了master01、slave01、slave02、slave03;

    一、虚拟机中操作(启动网卡)
    sh /install/initNetwork.sh
    ifup eth0

    二、基础配置(主机名、IP配置、防火墙及selinux强制访问控制安全系统)
    vi /etc/sysconfig/network (配置磁盘中主机名字)
    vi /etc/hosts (配置映射,)
    hostname 主机名 (修改内存中主机名)
    然后,重新链接查看是否成功;

    vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    查看内容是否设置成功:cat /etc/sysconfig/network-scripts/ifcfg-eth0 

    复制代码
    复制代码
    DEVICE=eth0 (设置需要重启的设备的名字)
    TYPE=Ethernet(以太网)
    ONBOOT=yes (设置为yes)
    NM_CONTROLLED=yes
    BOOTPROTO=static (设置为静态)
    IPADDR=192.168.238.130 (本机IP地址)
    NETMASK=255.255.255.0 (子网掩码)
    GATEWAY=192.168.238.2 (网关)(查询本机网关:route -n)
    DNS1=192.168.238.2
    DNS2=8.8.8.8    (谷歌IP地址)
    复制代码
    复制代码

    vi /etc/sysconfig/selinux
    修改:SELINUX=disabled
    去掉注释查看selinux内容:
    grep -Ev '^#|^$' /etc/sysconfig/selinux

    永久关闭防火墙:
    service iptables stop
    chkconfig iptables off

    三、配置ssh免密登录(为root用户配置免s密码登录)
    只需要master登录到salve各个节点即可,无需反向
    [root@master01 ~]# ssh-keygen -t rsa 创建公匙
    [root@master01 ~]# ssh-copy-id slave02 拷贝公匙

     大数据学习交流群:217770236 让我我们一起学习大数据

    四、搭建Spark集群

    1、上传安装包到/install/目录

    [root@master01 install]# ls
    initNetwork.sh  mytest.txt  scala-2.11.8.tgz  spark-2.1.1-bin-hadoop2.7.tgz

    2、解压安装包并更名

    [root@master01 install]# tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /software/
    [root@master01 software]# mv spark-2.1.1-bin-hadoop2.7/ spark-2.1.1

    3、配置系统环境

     [root@master01 install]# vi /etc/profile

    修改如下内容:

      JAVA_HOME=/software/jdk1.7.0_79
      HADOOP_HOME=/software/hadoop-2.7.3
      HBASE_HOME=/software/hbase-1.2.6
      SCALA_HOME=/software/scala-2.11.8
      SPARK_HOME=/software/spark-2.1.1
      PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$SCALA_HOME/bin::$SPARK_HOME/bin:
      export PATH JAVA_HOME HADOOP_HOME HBASE_HOME SCALA_HOME SPARK_HOME
     [root@master01 install]# source /etc/profile

    4、切换到hadoop用户并配置spark-env.sh

    [root@master01 software]# su -l hadoop
    [hadoop@master01 spark-2.1.1]$ cd /software/spark-2.1.1/conf/
    [hadoop@master01 conf]$ cp spark-env.sh.template spark-env.sh
    [hadoop@master01 conf]$ vi spark-env.sh

    添加如下内容:

    export JAVA_HOME=/software/jdk1.7.0_79
    export SCALA_HOME=/software/scala-2.11.8
    export HADOOP_HOME=/software/hadoop-2.7.3
    export HADOOP_CONF_DIR=/software/hadoop-2.7.3/etc/hadoop
    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=slave01:2181,slave02:2181,slave03:2181 -Dspark.deploy.zookeeper.dir=/spark"
    
    #export SPARK_MASTER_IP=master01
    #export SPARK_WORKER_MEMORY=1500m

    5、如果需要使用浏览器查看日志则需要开启历史日志服务:
    [hadoop@master01 conf]$ cp spark-defaults.conf.template spark-defaults.conf
    [hadoop@master01 conf]$ vi spark-defaults.conf
    添加如下内容:

    spark.master spark://master01:7077
    spark.eventLog.enabled true
    spark.eventLog.dir hdfs://ns1/sparkLog
    spark.yarn.historyServer.address master01:18080
    spark.history.fs.logDirectory hdfs://ns1/sparkLog

    6、配置Spark集群的Worker节点
    [hadoop@master01 conf]$ cp slaves.template slaves
    [hadoop@master01 conf]$ vi slaves
    修改成如下内容:

    slave01
    slave02
    slave03

    7、分发Spark的安装目录到各个Worker节点(即原DataNode节点)

    #将所有的节点全部切换到hadoop用户
    [root@master01 software]# su -l hadoop
    [root@slave01 ~]# su -l hadoop
    [root@slave02 ~]# su -l hadoop
    [root@slave03 ~]# su -l hadoop

    #分发Spark的安装目录到各个Worker节点
    [hadoop@master01 software]$ scp -r /software/spark-2.1.1/ slave01:/software/
    [hadoop@master01 software]$ scp -r /software/spark-2.1.1/ slave02:/software/
    [hadoop@master01 software]$ scp -r /software/spark-2.1.1/ slave03:/software/

    #分发环境配置文件到各个Worker节点
    [root@master01 ~]# scp -r /etc/profile slave01:/etc/
    [root@master01 ~]# scp -r /etc/profile slave02:/etc/
    [root@master01 ~]# scp -r /etc/profile slave03:/etc/

    立即生效配置文件:
    [hadoop@slave01 software]$ source /etc/profile
    [hadoop@slave02 software]$ source /etc/profile
    [hadoop@slave03 software]$ source /etc/profile

    五、启动Spark集群

     【1、在slave节点启动zookeeper集群(小弟中选个leader和follower)】

      cd /software/zookeeper-3.4.10/bin/ && ./zkServer.sh start && cd - && jps
      cd /software/zookeeper-3.4.10/bin/ && ./zkServer.sh status && cd -

    【2、master01启动HDFS集群】cd /software/ && start-dfs.sh && jps

    【3、在master01节点上启动Spark集群的Master节点】
     [hadoop@master01 install]$ cd /software/spark-2.1.1/sbin/ && ./start-master.sh && jps

    【4、在master01节点上启动Spark集群的所有Slave节点】
     [hadoop@master01 sbin]$ cd /software/spark-2.1.1/sbin/ && ./start-slaves.sh && jps

     注意:Worker进程是Spark集群的Worker进程

    【5、如果需要使用浏览器来查看Spark的日志则需要启动历史日志服务(同样是在master01节点上启动日志服务)】
     [hadoop@master01 sbin]$ cd /software/spark-2.1.1/sbin/ && ./start-history-server.sh && jps

     注意:HistoryServer是历史日志服务进程(该进程只会在运行此start-history-server.sh脚本的节点上启动),而Master是Spark集群的Master进程

    六、验证Spark集群搭建是否成功

    1、使用浏览器确认Spark集群服务是否已经正常启动
    http://master01的IP地址:8080/
    
    2、使用浏览器确认Spark日志服务是否已经正常启动(访问的端口18080来自于上面的日志服务配置)
    http://master01的IP地址:18080/

     

    下一篇:spark集群的简单测试和基础命令的使用

        spark高可用集群的搭建

  • 相关阅读:
    13、文件修改及函数的基本使用
    12、文件处理 b模式
    作业3月16号
    作业3月13号
    11、文件处理 t模式
    10、数据类型内置之集合
    作业3月11号
    9、基础类型之列表、元组、字典
    作业3月10号
    8、for循环以及数字类型和字符串类型的内置方法
  • 原文地址:https://www.cnblogs.com/mmzs/p/8193707.html
Copyright © 2020-2023  润新知