zoukankan      html  css  js  c++  java
  • Hadoop 部署之 Spark (六)

    一、Spark 是什么

    Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用分布式并行计算框架。Spark拥有hadoop MapReduce所具有的优点,但和MapReduce 的最大不同之处在于Spark是基于内存的迭代式计算——Spark的Job处理的中间输出结果可以保存在内存中,从而不再需要读写HDFS,除此之外,一个MapReduce 在计算过程中只有map 和reduce 两个阶段,处理之后就结束了,而在Spark的计算模型中,可以分为n阶段,因为它内存迭代式的,我们在处理完一个阶段以后,可以继续往下处理很多个阶段,而不只是两个阶段。

    因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。其不仅实现了MapReduce的算子map 函数和reduce函数及计算模型,还提供更为丰富的算子,如filter、join、groupByKey等。是一个用来实现快速而同用的集群计算的平台。

    Spark是一个用来实现快速而通用的集群计算的平台。扩展了广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包括交互式查询和流处理。在处理大规模数据集的时候,速度是非常重要的。Spark的一个重要特点就是能够在内存中计算,因而更快。即使在磁盘上进行的复杂计算,Spark依然比MapReduce更加高效。

    二、Scala的安装(所有节点)

    下载安装包

    wget https://downloads.lightbend.com/scala/2.11.7/scala-2.11.7.tgz
    

    解压安装包

    tar xf scala-2.11.7.tgz 
    mv scala-2.11.7 /usr/local/scala
    

    配置scala环境变量/etc/profile.d/scala.sh

    # Scala ENV
    export SCALA_HOME=/usr/local/scala
    export PATH=$PATH:$SCALA_HOME/bin
    

    使scala环境变量生效

    source /etc/profile.d/scala.sh
    

    三、Spark 安装(所有节点)

    1、下载安装

    # 下载安装包
    wget https://mirrors.aliyun.com/apache/spark/spark-2.3.1/spark-2.3.1-bin-hadoop2.7.tgz
    
    # 解压安装包
    tar xf spark-2.3.1-bin-hadoop2.7.tgz 
    mv spark-2.3.1-bin-hadoop2.7 /usr/local/spark
    

    2、配置 Spark 环境变量

    编辑文件/etc/profile.d/spark.sh,修改为如下:

    # Spark ENV
    export SPARK_HOME=/usr/local/spark
    export PATH=$PATH:$SPARK_HOME/bin:
    

    生效环境变量

    source /etc/profile.d/spark.sh
    

    四、Spark 配置(namenode01)

    1、配置 spark-env.sh

    编辑文件/usr/local/spark/conf/spark-env.sh,修改为如下内容:

    export JAVA_HOME=/usr/java/default
    export SCALA_HOME=/usr/local/scala
    export HADOOP_HOME=/usr/local/hadoop
    export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
    export SPARK_MASTER_IP=namenode01
    export SPARK_WORKER_MEMORY=4g
    export SPARK_WORKER_CORES=2
    export SPARK_WORKER_INSTANCES=1
    

    2、配置 slaves

    编辑文件/usr/local/spark/conf/slaves,修改为如下内容:

    datanode01
    datanode02
    datanode03
    

    3、配置文件同步到其他节点

    scp /usr/local/spark/conf/* datanode01:/usr/local/spark/conf/
    scp /usr/local/spark/conf/* datanode02:/usr/local/spark/conf/
    scp /usr/local/spark/conf/* datanode03:/usr/local/spark/conf/
    

    4、启动 Spark 集群

    Spark服务只使用hadoop的hdfs集群。

    /usr/local/spark/sbin/start-all.sh
    

    五、检查

    1、JPS

    [root@namenode01 ~]# jps
    14512 NameNode
    23057 RunJar
    14786 ResourceManager
    30355 Jps
    15894 HMaster
    30234 Master
    
    
    
    [root@datanode01 ~]# jps
    3509 DataNode
    3621 NodeManager
    1097 QuorumPeerMain
    9930 RunJar
    15514 Worker
    15581 Jps
    3935 HRegionServer
    
    
    [root@datanode02 ~]# jps
    3747 HRegionServer
    14153 Worker
    3322 DataNode
    3434 NodeManager
    1101 QuorumPeerMain
    14221 Jps
    
    
    [root@datanode03 ~]# jps
    3922 DataNode
    4034 NodeManager
    19186 Worker
    19255 Jps
    1102 QuorumPeerMain
    4302 HRegionServer
    

    2、Spark WEB 界面

    访问 http://192.168.1.200:8080/

    3、spark-shell

    同时,因为shell在运行,我们也可以通过192.168.1.200:4040访问WebUI查看当前执行的任务。

  • 相关阅读:
    远程发送和接收数据流生成图片
    iTextSharp 设置 PDF 所有页面背景图功能
    iTextSharp 生成 PDF 问题集合
    C# 中 IL/MSIL , CTS , CLS , CLR , JIT 分别是什么 ?
    django创建项目2 jojo
    selenium键盘操作 jojo
    python格式化 jojo
    安装了Django后,执行djangoadmin.py无法创建工程的解决办法 jojo
    django创建项目1 jojo
    python自带模块模拟鼠标和键盘操作 jojo
  • 原文地址:https://www.cnblogs.com/wzlinux/p/10183345.html
Copyright © 2011-2022 走看看