zoukankan      html  css  js  c++  java
  • Spark 3.0.3集群安装文档

    Spark 3.0.3集群安装文档

    一、架构说明

    Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

    Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

     

     

     

    192.168.10.62  node1

    192.168.10.63  node2

    192.168.10.64  node3

     

     

     

    二、准备工作

    2.1、Centos 7.9 安装 192.168.10.62、63、64

    • 安装操作系统
    • 配置网络

        yum search ifconfig

    yum -y install net-tools

    2.2、Jdk-8u301安装  

    https://www.cnblogs.com/liugh/p/6623530.html

    • Download  jdk-8u301-linux-x64.tar.gz
    • tar -zxvf  jdk-8u301-linux-x64.tar.gz  -C /usr/local/
    • 配置环境变量

          vi /etc/profile

     

    • 测试

    source /etc/profile

    Java -version

    • 同步安装其他几个服务器

    2.3、Scala 下载、安装

    ScalaSDK只需要在Windows安装即可

    官方地址:https://www.scala-lang.org/download/scala2.html
    2.4、spark下载

    官方地址: http://spark.apache.org/downloads.html

    spark-3.0.3-bin-hadoop2.7.tgz

    注意:Note that, Spark 2.x is pre-built with Scala 2.11 except version 2.4.2, which is pre-built with Scala 2.12. Spark 3.0+ is pre-built with Scala 2.12.

     

    2.5、zookeeper3.7

    https://zookeeper.apache.org/doc/current/zookeeperStarted.html

    http://zookeeper.apache.org/releases.html

    三、Spark安装

    3.1、上传文件

    spark-3.0.3-bin-hadoop2.7.tgz

    3.2、解压文件

    tar -zxvf spark-3.0.3-bin-hadoop2.7.tgz  -C /export/server/

    mv spark-3.0.3-bin-hadoop2.7 spark

    3.3、修改权限

    chown -R root /export/server/

    chgrp -R root /export/server/

    3.4、测试

     1、 打开spark交互窗口:       ./spark-shell

     

    2、打开 http://spark-maser:4040

    3准备文件

    vi  /export/server/exdata/words.txt

     

    1. 执行WordCount

     

    四、配置spark集群

    4.1、集群规划

    node1:master

    ndoe2:worker/slave

    node3:worker/slave

    4.2、配置slaves/workers

    进入配置目录

    cd /export/server/spark/conf

    修改配置文件名称

    mv slaves.template slaves

    vi slaves

     

     

    4.3配置master

    进入配置目录

    cd /export/server/spark/conf

    修改配置文件名称

    mv spark-env.sh.template spark-env.sh

    修改配置文件

    vi spark-env.sh

     

    4.4分发

    将配置好的将 Spark 安装包分发给集群中其它机器,命令如下:

    cd /export/server/

    scp -r spark  root@node2:$PWD

    scp -r spark  root@node3:$PWD

    分别修改权限

    chown -R root /export/server/

    chgrp -R root /export/server/

    4.5、测试

     

    Master

       

    Slaves

          

     

          

    4.6、启动spark-shell 执行任务

    /export/server/spark/bin/spark-shell --master spark://node1:7077

    执行任务

     

    4.7、spark管理界面

    spark任务web-ui        http://node1:4040/jobs/

    master集群管理ui http://node1:8080

    master提交任务的通讯端口  spark://node1:7077

    五、配置Zookeeper集群

    说明Node1Node2Node3做服务集群.

    首先在node1上进行安装,随后分发到node2node3节点上。

    5.1、下载 zookeeper

    官网下载地址:

    http://mirror.bit.edu.cn/apache/zookeeper/

    http://zookeeper.apache.org/doc/current/zookeeperStarted.htm

    版本 :apache-zookeeper-3.7.0-bin.tar.gz

    5.2、安装JDK

    由于zookeeper集群的运行需要Java运行环境,所以需要首先安装 JDK

    5.3、解压 zookeeper

      在 /export/server 目录下新建 software 目录,然后将 zookeeper 压缩文件上传到该目录中,然后通过如下命令解压。

    tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C  /export/server

      修改文件名

      mv apache-zookeeper-3.7.0-bin zookeeper

    5.4、修改配置文件 zoo.cfg

    1zookeeper压缩文件解压后,我们进入到 conf 目录:

    2cd /export/server/zookeeper/conf

    3cp  zoo_sample.cfg  zoo.cfg

    4、修改 zoo.cfg 文件

     

    5.5、创建 myid 文件

    上一步 dataDir 指定的目录下,创建 myid 文件

    cd /opt/zookeeper/data

    vi myid  

     

     

    5.6、分发

    zookeeper的安装目录同步到其他两个机器上

    scp -r zookeeper  root@node2:$PWD

    scp -r zookeeper  root@node3:$PWD

    分别在node2node3上创建按myid文件

    5.7、测试

    启动命令:

    zkServer.sh start

    停止命令:

    zkServer.sh stop

    重启命令:

    zkServer.sh restart

    查看集群节点状态:

    zkServer.sh status

      

    Node1

     

    Node2

     

    Node3:

     

     

    六、Zookeeper+Spark实现高可用

    5.1、启动Zookeeper服务

    zkServer.sh status

    zkServer.sh stop

    zkServer.sh start

    5.2.修改配置

     

    vi /export/server/spark/conf/spark-env.sh

    注释:

    #SPARK_MASTER_HOST=node1

    增加:

    SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/export/spark-ha"

     

    注意zookeeper安装完后8080端口就被占用了,可能影响到master-ui的默认端口.

    SPARK_MASTER_WEBUI_PORT=8090

     

    5.3.分发配置

    cd /export/server/spark/conf

    scp -r spark-env.sh root@node2:$PWD

    scp -r spark-env.sh root@node3:$PWD

     

    5.4、测试

    1、启动zk服务

    zkServer.sh  status

    zkServer.sh  stop

    zkServer.sh start

    2node1上启动Spark集群执行

    /export/server/spark/sbin/start-all.sh

    3node2上再单独只起个master:

    /export/server/spark/sbin/start-master.sh

    4查看WebUI

                  http://node1:8090

                

               http://node2:8080/

     

     

    七、执行任务

    测试零个Master节点是否正常,node1上打开命令窗口

     

     

     

    八、参考

    7.1spark官网

    http://spark.apache.org/

    http://spark.apache.org/docs/latest/configuration.html#deploy    

    7.2、主机到从机的无密互通

    https://www.jianshu.com/p/e180371f55a1

    https://www.cnblogs.com/webnote/p/5787357.html

      

    7.3zookeeper 配置集群

    参考:https://www.jianshu.com/p/de90172ea680

    官网:http://zookeeper.apache.org/doc/current/zookeeperStarted.html

    https://www.cnblogs.com/ysocean/p/9860529.html#_label4

    注意:集群过程中注意myid的配置,mid的路径必须放在data的路径下

    7.4CentOS 7.9安装配置Chrony同步系统时钟

    参考:https://blog.51cto.com/qiuyue/2344678

     

     

     

  • 相关阅读:
    向日葵、阳光
    laravel还是给我太多惊喜了
    滴滴笔试题——小试牛刀
    剑指offer——二叉搜索树的后序遍历序列
    2019春招美团笔试
    首次实习生招聘会——航天一院
    有趣的数字
    剑指offer——从上往下打印二叉树
    剑指offer——栈的压入、弹出序列
    剑指offer——包含min函数的栈
  • 原文地址:https://www.cnblogs.com/show58/p/15347378.html
Copyright © 2011-2022 走看看