zoukankan      html  css  js  c++  java
  • 小白入门AI教程:教你快速搭建大数据平台『Hadoop+Spark』

    Apache Spark 简介

    Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

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

    Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

    尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

    准备工作1  环境

    JDK:1.8  
    Spark-2.2.0
    Hadoop Release:2.7.4  
    centos:7.3
    主机名ip地址安装服务
    spark-master 192.168.252.121 jdk、hadoop、spark、scala
    spark-slave01 192.168.252.122 jdk、hadoop、spark
    spark-slave02 192.168.252.123 jdk、hadoop、spark

    2  依赖环境

    Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。安装 Scala:

    • Scala

    Scala-2.13.0 安装及配置(https://link.juejin.im/?target=https%3A%2F%2Fsegmentfault.com%2Fa%2F1190000011314775)  

    • Hadoop

    Hadoop-2.7.4 集群快速搭建(https://link.juejin.im/?target=https%3A%2F%2Fsegmentfault.com%2Fa%2F1190000011266759)

     

    安装

     

    1  下载解压

     

    su hadoopcd /home/hadoop/
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz
    tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz
    mv spark-2.2.0-bin-hadoop2.7 spark-2.2.0

    2  环境变量

    如果是对所有的用户都生效就修改vi /etc/profile 文件如果只针对当前用户生效就修改 vi ~/.bahsrc  文件

    sudo vi /etc/profile
    #sparkexport PATH=${SPARK_HOME}/bin:$PATHexport SPARK_HOME=/home/hadoop/spark-2.2.0/

    使环境变量生效,运行 source /etc/profile使/etc/profile 文件生效

    3  修改配置

     

    修改 spark-env.sh

    cd /home/hadoop/spark-2.2.0/conf
    mv spark-env.sh.template spark-env.sh
    vi spark-env.sh
    #javaexport JAVA_HOME=/lib/jvm#Spark主节点的IPexport SPARK_MASTER_IP=192.168.252.121#Spark主节点的端口号export SPARK_MASTER_PORT=7077

    简单介绍几个变量

    • JAVA_HOME:Java安装目录

    • SCALA_HOME:Scala安装目录

    • HADOOP_HOME:hadoop安装目录

    • HADOOP_CONF_DIR:hadoop集群的配置文件的目录

    • SPARK_MASTER_IP:spark集群的Master节点的ip地址

    • SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小

    • SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目

    • SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目

     

    修改 slaves

    cd /home/hadoop/spark-2.2.0/conf
    mv slaves.template slaves
    vi slaves
    node1
    node2
    node3

    4  配置集群

     

    复制节点

    进去 spark 安装目录 ,打包,并发送,到其他节点

    cd cd /home/hadoop/
    
    tar zcvf spark.tar.gz spark-2.2.0
    
    scp spark.tar.gz hadoop@node2:/home/hadoop/
    scp spark.tar.gz hadoop@node3:/home/hadoop/

    进去 node1,node2 节点 解压

    cd /home/hadoop/
    tar -zxvf spark.tar.gz

    环境变量

    到这里一步 确保你的每一个节点 环境变量够数

    #jdk
    export JAVA_HOME=/lib/jvm
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${SPARK_HOME}/bin:${SCALA_HOME}/bin:${HADOOP_HOME}/bin:${JAVA_HOME}/bin:$PATH
    
    #hadoop
    export HADOOP_HOME=/home/hadoop/hadoop-2.7.4/
    
    #scala
    export SCALA_HOME=/lib/scala
    
    #spark
    export SPARK_HOME=/home/hadoop/spark-2.2.0/

    5  启动集群

    关闭防火墙

    systemctl stop firewalld.service

    启动 Hadoop

    cd /home/hadoop/hadoop-2.7.4/sbin
    ./start-all.sh

    启动 Spark

    cd /home/hadoop/spark-2.2.0/sbin
    ./start-all.sh

    启动 Spark Shell

    cd /home/hadoop/spark-2.2.0/bin ./spark-shell

    spark 访问:192.168.252.121:8080

    spark-shell 访问:192.168.252.121:4040

  • 相关阅读:
    SLA打印机之打印机介绍
    SLA打印机之Slc文件解析
    Rayland-FDM打印机C200介绍
    Android 关机和重启
    AGVS调度系统 控制协议
    AGV 控制协议
    Android wechat 分享
    Android wechat 支付
    Android TimeoutExceptions及 wakelock
    flex 兼容性写法
  • 原文地址:https://www.cnblogs.com/dashujunihaoa/p/10915203.html
Copyright © 2011-2022 走看看