• Spark- Linux下安装Spark


     Spark- Linux下安装Spark

    前期部署

    1.JDK安装,配置PATH

    可以参考之前配置hadoop等配置

    2.下载spark-1.6.1-bin-hadoop2.6.tgz,并上传到服务器解压

    [root@srv01 ~]# tar -xvzf  spark-1.6.1-hadoop2.6.tgz /usr/spark-1.6.1-hadoop2.6

    3.在 /usr 下创建软链接到目标文件夹

    [root@srv01 usr]# ln -s spark-1.6.1-bin-hadoop2.6   spark

    4.修改配置文件,目标目录 /usr/spark/conf/ 

    [root@srv01 conf]# ls
    docker.properties.template  log4j.properties.template    slaves.template               spark-env.sh.template
    fairscheduler.xml.template  metrics.properties.template  spark-defaults.conf.template
    这里需要把spark-env.sh.template改名为spark-env.sh
    export JAVA_HOME=/usr/jdk
    #这个是单机版的配置,不能实现高可用
    export SPARK_MASTER_IP=srv01
    export SPARK_MASTER_PORT=7077

    再配置slaves ,都是我的集群的机器的hostname

    srv01
    srv02
    srv03

    5.分发到集群各个机器上,再软链接一下,保持集群一致性,参考step-3

    [root@srv01 usr]# scp -r spark-1.6.1-bin-hadoop2.6  srv02:/usr
    [root@srv01 usr]# scp -r spark-1.6.1-bin-hadoop2.6  srv03:/usr

    6.Spark-sell

    配置好,启动spark-shell,注意记得先关闭防火墙(也可以将spark写进PATH中)

    输入 sc ,如果显示下面的,表示安装正常

    scala> sc
    res0: org.apache.spark.SparkContext = org.apache.spark.SparkContext@18811c42

    7.测试单词计算案例

    scala> sc.textFile("/root/file.log").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect.toBuffer
    res7: scala.collection.mutable.Buffer[(String, Int)]
    = ArrayBuffer((scala,2), (spark,2), (hive,1), (hadoop,2), (mapreduce,1), (zookeeper,1), (hello,1), (redis,1), (world,1))

     8.启动Spark集群模式(前提是3台机器的spark配置一样,配置文件spark-env.sh和slaves文件保持一致)

    进入Spark的sbin目录下启动
    ./start-all.sh

    这个脚本文件在sbin目录

    通过Jps查看角色

    [root@srv01 conf]# jps

    13079 Master

    13148 Worker  //这个worker的启动通过配置文件slaves

    13234 Jps

    下面是我的slaves的配置文件

    srv01
    srv02
    srv03

    slaves配置的决定了在哪几台机器上启动worker

    下面的配置文件决定了在哪台机器上启动Master

    启动Spark集群(如果有使用hdfs的场景,需要把hadoop的conf目录下的core-site.xml和dhfs-site.xml拷贝到spark的conf目录下,才能使用高可用的hdfs url)

     

     

    然后在通过网页查看spark的相关信息:

    http://192.168.1.88:8080/

    执行第一个Spark程序

    指定运行程序的主机名(Master)

    ./spark-submit --class org.apache.spark.examples.SparkPi --master spark://srv01:7077  --executor-memory 1G --total-executor-cores 2 /usr/spark-1.6.1-bin-hadoop2.6/lib/spark-examples-1.6.1-hadoop2.6.0.jar 500

    IDEA上面编码使用集群上的spark运行程序

    package com.rz.spark.base
    
    
    
    import org.apache.log4j.{Level, Logger}
    import org.apache.spark.{SparkConf, SparkContext}
    
    object transactionApp {
      def main(args: Array[String]): Unit = {
        Logger.getLogger("org.apache.spark").setLevel(Level.OFF)
        val conf = new SparkConf().setAppName(this.getClass.getSimpleName)
          .setMaster("spark://hdp:7077")
        val sc = new SparkContext(conf)
    
    
        val rdd1 = sc.parallelize(Array(1,2,3,4,5,6,7,8,9))
        println(rdd1.partitions.length)
        sc.stop()
      }
    }
    

      

  • 相关阅读:
    密码学常用解码网站
    macOS VMware Fusion 中 vmtools为灰色
    XSS-Payloads
    Tomcat 漏洞总结
    mac 更新完Big Sur需重新配置项目
    sqlmap的使用 ---- 自带绕过脚本tamper
    FTP 日志分析
    CentOS Java环境问题
    Nginx 学习
    英语学习-邮件表达方法 例句
  • 原文地址:https://www.cnblogs.com/RzCong/p/7447638.html
Copyright © 2020-2023  润新知