zoukankan      html  css  js  c++  java
  • spark2.4 分布式安装

    一.Spark2.0的新特性
    Spark让我们引以为豪的一点就是所创建的API简单、直观、便于使用,Spark 2.0延续了这一传统,并在两个方面凸显了优势:
      1、标准的SQL支持;
      2、数据框(DataFrame)/Dataset (数据集)API的统一。

      在SQL方面,我们已经对Spark的SQL功能做了重大拓展,引入了新的ANSI SQL解析器,并支持子查询功能。Spark 2.0可以运行所有99个TPC-DS查询(需求SQL:2003中的很多功能支持)。由于SQL是Spark应用所使用的主要接口之一,对SQL功能的拓展大幅削减了将遗留应用移植到Spark时所需的工作。

    在编程API方面,我们合理化了API:

      1、在Scala/Java中统一了DataFrames与Dataset:从Spark 2.0开始,DataFrames只是行(row)数据集的typealias了。无论是映射、筛选、groupByKey之类的类型方法,还是select、groupBy之类的无类型方法都可用于Dataset的类。此外,这个新加入的Dataset接口是用作Structured Streaming的抽象,由于Python和R语言中编译时类型安全(compile-time type-safety)不属于语言特性,数据集的概念无法应用于这些语言API中。而DataFrame仍是主要的编程抽象,在这些语言中类似于单节点DataFrames的概念,想要了解这些API的相关信息,请参见相关笔记和文章。

      2、SparkSession:这是一个新入口,取代了原本的SQLContext与HiveContext。对于DataFrame API的用户来说,Spark常见的混乱源头来自于使用哪个“context”。现在你可以使用SparkSession了,它作为单个入口可以兼容两者,点击这里来查看演示。注意原本的SQLContext与HiveContext仍然保留,以支持向下兼容。
    更简单、性能更佳的Accumulator API:我们设计了一个新的Accumulator API,不但在类型层次上更简洁,同时还专门支持基本类型。原本的Accumulator API已不再使用,但为了向下兼容仍然保留。

      3、基于DataFrame的机器学习API将作为主ML API出现:在Spark 2.0中,spark.ml包及其“管道”API会作为机器学习的主要API出现,尽管原本的spark.mllib包仍然保留,但以后的开发重点会集中在基于DataFrame的API上。

      4、机器学习管道持久化:现在用户可以保留与载入机器学习的管道与模型了,Spark对所有语言提供支持。查看这篇博文以了解更多细节,这篇笔记中也有相关样例。
    R语言的分布式算法:增加对广义线性模型(GLM)、朴素贝叶斯算法(NB算法)、存活回归分析(Survival Regression)与聚类算法(K-Means)的支持。

    二.Spark2.4 安装
    环境要求jdk 1.8以上版本,scala-2.12以上
    基于的Hadoop版本,我的现有hadoop为2.6
    官网下载时注意:http://spark.apache.org/downloads.html

    安装架构
    h220 为主节点
    H221,h222 为从节点
    1.解压缩spark
    [hadoop@h220 spark]$ cp spark-2.4.1-bin-hadoop2.6.tgz /home/hadoop/
    [hadoop@h220 ~]$ tar -zxvf spark-2.4.1-bin-hadoop2.6.tgz
    2.安装jdk,scala
    [hadoop@h220 usr]$ tar -zxvf jdk-8u151-linux-x64.tar.gz
    [hadoop@h220 ~]$ tar -zxvf scala-2.12.4.tgz
    3.设置环境变量
    [hadoop@h220 ~]$ vi .bash_profile
    export JAVA_HOME=/usr/jdk1.8.0_151
    export JAVA_BIN=/usr/jdk1.8.0_151/bin
    export SCALA_HOME=/home/hadoop/scala-2.12.4
    export SPARK_HOME=/home/hadoop/spark-2.4.1-bin-hadoop2.6

    [hadoop@h220 ~]$ source .bash_profile

    4.配置spark
    [hadoop@h220 ~]$ cd spark-2.4.1-bin-hadoop2.6/conf/
    [hadoop@h220 conf]$ cp spark-env.sh.template spark-env.sh
    [hadoop@h220 conf]$ vi spark-env.sh
    添加:
    export JAVA_HOME=/usr/jdk1.8.0_151
    export SCALA_HOME=/home/hadoop/scala-2.12.4
    export SPARK_MASTER_IP=h220
    export SPARK_WORDER_INSTANCES=1
    export SPARK_WORKER_CORES=1
    export SPARK_WORKER_MEMORY=1g
    export HADOOP_HOME=/home/hadoop/hadoop-2.6.0-cdh5.5.2
    export HADOOP_CONF_DIR=/home/hadoop/hadoop-2.6.0-cdh5.5.2/etc/hadoop

    [hadoop@h220 conf]$ cp slaves.template slaves
    [hadoop@h220 conf]$ vi slaves
    删除localhost
    添加:
    h221
    h222

    5.copy到从节点
    配置ssh证书
    [hadoop@h220 ~]$ scp -r spark-2.4.1-bin-hadoop2.6 h221:/home/hadoop/
    [hadoop@h220 ~]$ scp -r spark-2.4.1-bin-hadoop2.6 h222:/home/hadoop/

    6.启动,验证
    主节点:
    [hadoop@h220 spark-2.4.1-bin-hadoop2.6]$ sbin/start-all.sh
    [hadoop@h220 spark-2.4.1-bin-hadoop2.6]$ jps
    6970 Master
    从节点:
    [hadoop@h221 spark-2.4.1-bin-hadoop2.6]$ jps
    3626 Worker
    主节点:
    [hadoop@h220 spark-2.4.1-bin-hadoop2.6]$ bin/spark-shell
    没有报错

  • 相关阅读:
    Eclipse部署项目到Tomcat中,class文件夹为空的解决方案
    微软(北京).NET俱乐部活动 (2010年6月26日) – Visual Studio 2010 /*LIFE RUNS ON CODE*/
    失望的Vista SP1
    急聘BI DW OLAP开发工程师 (北京)
    急聘.NET开发工程师 (北京)
    开篇
    Windows Vista User Account Control (UAC) 全新安全模块“用户帐户控制”
    Tidy your desktop
    [导入]Vista的屏幕截图小工具:Snipping Tool
    微软发布官方TFS 2010 Scrum 模板
  • 原文地址:https://www.cnblogs.com/xiguage119/p/10750131.html
Copyright © 2011-2022 走看看