其他分享
首页 > 其他分享> > Spark集群搭建(不常用,一般使用yarn整合)

Spark集群搭建(不常用,一般使用yarn整合)

作者:互联网

Spark集群搭建(不常用)

1、上传解压,配置环境变量 配置bin目录,解压

重命名
tar -xvf spark-2.4.5-bin-hadoop2.7.tgz 
配置环境变量
mv spark-2.4.5-bin-hadoop2.7 spark-2.4.5
环境变量配置完成后记得source一下

2. 修改配置文件

修改配置文件 conf
cp spark-env.sh.template spark-env.sh
增加配置
export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077

export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=2g
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171

    master相当于RM  worker相当于NM

    增加从节点配置
    cp slaves.template slaves
    
    node1
    node2

    增加从节点

3. 复制到其它节点

scp -r spark-2.4.5 node1:`pwd`
scp -r spark-2.4.5 node2:`pwd`

4、在主节点执行启动命令

    启动集群,在master中执行
    ./sbin/start-all.sh	

    http://master:8080/  访问spark ui

5.spark提供我们测试的任务(测试圆周率),有两种模式clientcluster模式

  1. standalone client模式 日志在本地输出,一般用于上线前测试(bin/下执行)
需要进入到spark-examples_2.11-2.4.5.jar 包所在的目录下执行
cd /usr/local/soft/spark-2.4.5/examples/jars

提交spark任务
spark-submit --class org.apache.spark.examples.SparkPi --master spark://master:7077 --executor-memory 512m --total-executor-cores 1 spark-examples_2.11-2.4.5.jar 10000
提交后查看ui界面

master

node2节点

​ 2.standalone cluster模式 上线使用,不会再本地打印日志

spark-submit --class org.apache.spark.examples.SparkPi --master spark://master:7077 --executor-memory 512M --total-executor-cores 1 --deploy-mode cluster spark-examples_2.11-2.4.5.jar 10000

运行后UI界面

master

node1

node2

6.自己编写Java代码放到集群中跑任务

代码如下:
package com.core.day2

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo18SparkStandSubmit {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()

    conf.setAppName("submit")

    //我们需要提交到集群上运行,所以不需要这个
    //conf.setMaster("local")
    val sc = new SparkContext(conf)

    val linesRDD: RDD[String] = sc.parallelize(List("java,spark,hadoop", "spark,hadoop,hadoop", "hadoop,java"))

    val wordsRDD: RDD[String] = linesRDD.flatMap(_.split(","))

    val kvRDD: RDD[(String, Int)] = wordsRDD.map((_, 1))

    val countRDD: RDD[(String, Int)] = kvRDD.reduceByKey(_ + _)

    countRDD.foreach(println)

    /**
     * 将项目打包上传到服务器
     *
     * 提交任务
     *
     * spark-submit --class com.core.day2.Demo18SparkStandSubmit --master spark://master:7077 spark-1.0.jar
     */
  }
}
启动命令
spark-submit --class com.core.day2.Demo18SparkStandSubmit --master spark://master:7077 spark-1.0-SNAPSHOT.jar

运行结果如下

标签:--,yarn,export,master,examples,集群,Spark,spark,2.4
来源: https://www.cnblogs.com/atao-BigData/p/16472283.html