精华内容
下载资源
问答
  • 这是我在centos7上安装hadoop单机版,和spark单机版的详细步骤,全是我自己确定能用才写好的笔记,还有一些centos7的操作,如NFS共享文件,ssh无秘登陆的详细步骤,全都做好了详细的笔记,且保证能用的。
  • spark安装

    2016-05-09 17:38:00
    Spark开发环境搭建.pdf
  • Spark的介绍,spark安装配置,认识spark,spark的特点
  • spark 安装部署与介绍

    千次阅读 2019-10-09 07:56:54
    Spark安装四. Spark部署模式1、单机本地模式(Spark所有进程都运行在一台机器的JVM中)2、伪分布式模式 (在一台机器中模拟集群运行,相关的进程在同一台机器上)。3、分布式模式包括:Spark自带的 Standalone、Yarn...

    spark 概述

    一. spark和hadoop

    MapReduceSpark
    数据存储结构:磁盘HDFS文件系统的split使用内存构建弹性分布式数据集RDDs对数据进行运算和cache
    编程范式:Map + ReduceDAG: Transformation + Action
    计算中间结果落到磁盘IO及序列化、反序列化代价大计算中间结果在内存中维护存取速度比磁盘高几个数量级
    Task以进程的方式维护,需要数秒时间才能启动任务Task以线程的方式维护对于小数据集读取能够达到亚秒级的延迟
    hadoop缺点:
    	1.表达能力有限(MapReduce)
    	2.磁盘IO开销大(shuffle)
    	3.延迟高
    spark:
    	1.Spark的计算模式属于MapReduce,在借鉴Hadoop MapReduce优点的同时很好地解决了MapReduce所面临的问题
    	2.不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更灵活
    	3.Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高
    	4.Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制(函数调用)
    	
    	使用Hadoop进行迭代计算非常耗资源;
    	Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间结果作运算,避免了从磁盘中频繁读取数据
    

    在这里插入图片描述

    二. 应用常景和解决

    在实际应用中,大数据处理主要包括以下三个类型:
    1.复杂的批量数据处理:
       通常时间跨度在数十分钟到数小时之间
    2.基于历史数据的交互式查询:
       通常时间跨度在数十秒到数分钟之间
    3.基于实时数据流的数据处理:
       通常时间跨度在数百毫秒到数秒之间

    当同时存在以上三种场景时,就需要同时部署三种不同的软件比如:
    MapReduce:离线批处理
    Impala:交互式查询处理
    Storm:实时流处理
    这样做难免会带来一些问题:
    不同场景之间输入输出数据无法做到无缝共享,通常需要进行数据格式的转换
    不同的软件需要不同的开发和维护团队,带来了较高的使用成本
    比较难以对同一个集群中的各个系统进行统一的资源协调和分配

    Spark:既能够提供内存计算框架,也可以支持SQL即席查询、实时流式计算、机器学习和图计算等
    Spark可以部署在资源管理器YARN之上,提供一站式的大数据解决方案
    Spark所提供的生态系统足以应对上述三种场景,即同时支持批处理、交互式查询和流数据处理

    生态系统组件

    Spark的生态系统主要包含了Spark Core、Spark SQL、Spark Streaming、MLLib和GraphX 等组件。
    在这里插入图片描述

    应用场景
    应用场景时间跨度其他框架Spark生态系统组件
    复杂的批量数据处理小时级MapReduceHive Spark
    基于历史数据的交互式查询分钟级、秒级Impala、Dremel、DrillSpark SQL
    基于实时数据流的数据处理毫秒、秒级Storm、S4Spark Streaming
    基于历史数据的数据挖掘-MahoutMLlib
    图结构数据的处理-Pregel、HamaGraphX
    Spark执行任务流程图

    在这里插入图片描述

    1、Spark运行架构包括:Master(集群资源管理)、Slaves(运行任务的工作节点)、应用程序的控制节点(Driver)和每个工作节点上负责任务的执行进程(Executor);

    2、Master是集群资源的管理者(Cluster Manager)。支持:Standalone,Yarn,Mesos;

    3、Slaves在spark中被称为Worker,工作节点,包括Executor。;

    4、Driver Program。该进程运行应用的 main() 方法并且创建了SparkContext。由Cluster Manager分配资源,SparkContext将发送Task到Executor上执行。
    5、每个工作节点上负责任务的执行进程(Executor);
    Executor包括cache、分配到Executor上的task任务(task1、task2…tasksN)

    三. Spark安装

       1.从https://spark.apache.org/获得Spark的安装包
      2.解压并安装Spark
       tar –zxvf  spark-****-bin-hadoop2.7.tgz
      3.配置Spark
       在YARN平台上运行Spark需要配置HADOOP_CONF_DIR、YARN_CONF_DIR和HDFS_CONF_DIR环境变量
       3.1 vim /etc/profile
    	   export HADOOP_CONF_DIR=$HADOOP_HOME/home/lyb/hadoop
    	   export HDFS_CONF_DIR=$HADOOP_HOME/home/lyb/hadoop
    	   export YARN_CONF_DIR=$HADOOP_HOME/home/lyb/hadoop
       	   保存关闭后执行 
       3.2 source /etc/profile
        	 使环境变量生效
       3.3 修改spark-env.sh
    	   cp spark-env.sh.tmplate  spark-env.sh
    	   vim spark-env.sh
    	   JAVA_HOME=/home/lyb/jdk
       4.验证Spark安装
    		计算圆周率PI的值
    	   进入Spark安装主目录
    	   ./bin/spark-submit
    	       --class org.apache.spark.examples.SparkPi 
    	       --master yarn-cluster  模式选择(yarn-client;local)
    		   --num-executors 3      进程数
    		   --driver-memory 1g 	  驱动内存
    		   --executor-memory 1g   运行时内存
    		   --executor-cores 1     核数
    	 	    /home/lyb/spark/examples/jars/spark-examples*.jar 10
    	 	    
    

    四. Spark部署模式

    1、单机本地模式(Spark所有进程都运行在一台机器的JVM中)

    local:本地模式。在本地启动一个线程来运行作业;
    local[N]:也是本地模式。启动了N个线程;
    local[*]:还是本地模式。用了系统中所有的核;
    local[N,M]:第一个参数表示用到核的个数;第二个参数表示容许该 作业失败 的次数。上面的几种模式没有指定M参数,其默认值都是1;

    2、伪分布式模式 (在一台机器中模拟集群运行,相关的进程在同一台机器上)。

    local-cluster[N, cores, memory]:伪分布式模式。N模拟集群的Slave节点个数;cores模拟集群中各个Slave节点上的内核数;memory模拟集群的各个Slave节点上的内存大小.

    3、分布式模式包括:Spark自带的 Standalone、Yarn、Mesos。

    spark:// :Spark的Standalone模式;
    yarn:YARN模式;
    (mesos|zk) : //:Mesos模式;

    simr://:simr是Spark In MapReduce的缩写。在MapReduce 1中是没有 YARN的,如果要在MapReduce 中使用Spark,就使用这种模式。

    3.1 Spark On yarn模式

    1、Spark On yarn模式。是一种最有前景的部署模式。但限于YARN自身的发展,目前仅支持粗粒度模式(Coarse-grained Mode);
       2、由于YARN上的Container资源是不可以动态伸缩的,一旦Container启动之后,可使用的资源不能再发生变化;
       3、YARN拥有强大的社区支持,且逐步已经成为大数据集群资源管理系统的标准;
       4、spark on yarn 的支持两种模式:
       yarn-cluster:适用于生产环境
       yarn-client:适用于交互、调试,希望立即看到app的输出

    	1.Spark支持资源动态共享,运行于Yarn的框架都共享一个集中配置好的资源池
    	2.可以很方便的利用Yarn的资源调度特性来做分类·,隔离以及优先级控制负载,
    	  拥有更灵活的调度策略
    	3.Yarn可以自由地选择executor数量
    	4.Yarn是唯一支持Spark安全的集群管理器,使用Yarn,Spark可以运行于Kerberized Hadoop
    	  之上,在它们进程之间进行安全认证 
    				
    yarn-client和yarn-cluster的区别:
    	1)yarn-cluster:适用于生产环境;
    	2)yarn-client:适用于交互、调试,希望立即看到应用程序的输出
    	3)SparkContext初始化不同,这也导致了Driver所在位置的不同,YarnCluster
    	   的Driver是在集群的某一台NM上,但是Yarn-Client就是在RM在机器上;
    	4)而Driver会和Executors进行通信,这也导致了Yarn_cluster在提交App之后可
    	   以关闭Client,而Yarn-Client不可以;
    	5) Client结果当场就可看到,而cluster则需要到hadoop/logs/userlogs下找或者
    	   自己配置的logs路径下
    
    3.2 Standalone:spark://主机名:port

    standalone模式,即独立模式,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。从一定程度上说,该模式是其他两种的基础。
    standalone-cluster:适用于生产环境
    standalone-client:默认模式。适用于交互、调试,希望立即看到app的输出

    是spark自己实现的,它是一个资源调度框架。
    运行流程:
    	1)当spark集群启动以后,worker节点会有一个心跳机制和master保持通信;
    	2)SparkContext连接到master以后会向master申请资源,而master会根据worker
    	   心跳来分配worker的资源,并启动worker的executor进程;
    	3)SparkContext将程序代码解析成dag结构,并提交给DagScheduler;
    		DAGScheduler:负责分析用户提交的应用,并根据计算任务的依赖关系建立DAG,
    		且将DAG划分为不同的Stage,每个Stage可并发执行一组task。
    		注:DAG在不同的资源管理框架实现是一样的。
    		一个Job会被拆分为多组Task,每组任务被称为一个Stage就像Map Stage,Reduce Stage
    	4)dag会在DagScheduler中分解成很多stage,每个stage包含着多个task;							
    	5)stage会被提交给TaskScheduler,而TaskScheduler会将task分配到worker,提交
    	   给executor进程,executor进程会创建线程池去执行task,并且向SparkContext
    	   报告执行情况,直到task完成;
    	6)所有task完成以后,SparkContext向Master注销并释放资源;
    总结:
    	standalone的是spark默认的运行模式,它的运行流程主要就是把程序代码解析成dag
    	结构,并再细分到各个task提交给executor线程池去并行计算。
    	在运行流程中我们并没有提到job这个概念,只是说dag结构会被分解成很多的stage。
    	其实,分解过程中如果遇到action操作(这不暂时不关注action操作是什么),那么
    	就会生成一个job,而每一个job都包含着一个或者多个stage,所以job和stage也是
    	一个总分的逻辑关系。
    
    3.2.1 Standalone 配置
    1.修改配置	
    	1)修改spark-env.sh
    		 SPARK_MASTER_HOST=master 
    			//主节点host名称
    		 SPARK_MASTER_PORT=7077
    			//spark传输端口号
    		 SPARK_WORKER_CORES=2
    			// 分配给每个Worker core的个数
    		 SPARK_WORKER_MEMORY=2g
    			// 分配给每个Worker内存的数量
    		 SPARK_DAEMON_MEMORY=1g
    			//配给服务器的内存
    		 SPARK_WORKER_INSTANCES=3
    			//实例数(一台虚拟机默认一个worker实例但配完后每台就有几个worker)
    			//从节点的worker数
    		HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    			//如果有这一项spark-shell启动是会检查hadoop的相关配置
    			//但如果环境变量配置了就不用配置了
    	2)修改spark-default.conf
    		 spark.master                     spark://master:7077
    			//访问地址
    		 spark.eventLog.dir               hdfs://namenode:8021/directory
    			//日志地址路径
    		 spark.serializer                 org.apache.spark.serializer.KryoSerializer
    			//序列化
    		 spark.driver.memory              1g		
    			//diver内存
    		 spark.cores.max=6
    			//核心最大数
    			//当超过时会kill 将要运行的Standalone的executor
    			
    	3)修改slaves
    		slave1
    		slave2
    		//这里面写的是从节点的节点主机名称
    		//worker所在节点主机
    		
    2.启动
    	//尽量在spark/sbin启动start-all.sh
    	//因为这里的start-all.sh与hadoop启动的脚本相同
    	//虽然说是根据Path路径顺序来但会冲突
    	注意:启动前先启动hadoop
    	
    	spark/sbin/start-all.sh
    		当在slave1和slave2上看到每个节点都有3个worker时就成功了
    	
    	webUI:
    			master:8080
    			//master需要在本机上配置c:windows/system32/Driver/etc/hosts
    
    3.2.2 Standalone有两种模式
    3.测试
    	Standalone有两种模式:
    			Standalone-client模式
    			Standalone-cluster模式
    	spark-submit --master  spark://master:7077 
    				 --class org.apache.spark.examples.SparkPi jar地址 main函数需要参数
    		
    		//不写默认client模式
    		
    	spark-submit --master  spark://master:7077
    				 --deploy-mode client  //依靠
    				 --class org.apache.spark.examples.SparkPi  jar地址 100
    				 
    	1.client模式适用于测试调试程序。Driver进程是在客户端启动的,这里的客户端就是指提交应用程序的当前节点。
    		在Driver端可以看到task执行的情况。生产环境下不能使用client模式,是因为:假设要提交100个application到集群运行
    		Driver每次都会在client端启动,那么就会导致客户端100次网卡流量暴增的问题。
    		(因为要监控task的运行情况,会占用很多端口,如上图的结果图)客户端网卡通信,都被task监控信息占用。
    		
    	spark-submit  --master spark://master:7077  
    				  --deploy-mode cluster 
    				  --class org.apache.spark.examples.SparkPi jar路径 100
    	 1.当在客户端提交多个application时,Driver会在Woker节点上随机启动,这种模式会将单节点的网卡流量激增问题分散到集群中。
    	   在客户端看不到task执行情况和结果。要去webui中看。 
    	 2.cluster模式适用于生产环境 
    	 3.Master模式先启动Driver,再启动Application。		
    	运行时可以在
    				master:8080 查看进度
    
    3.3 Mesos模式

    Spark On Mesos模式。也是很多公司采用的模式,官方推荐这种模式。Spark开发之初就考虑到支持Mesos,因此,目前而言,Spark运行在Mesos上会比运行在YARN上更加灵活,更加自然;
    目前在Spark On Mesos环境中,用户可选择两种调度模式之一运行自己的应用程序:
    粗粒度模式(Coarse-grained Mode):每个应用程序的运行环境由一个Dirver和若干个Executor组成,其中,每个Executor占用若干资源,内部可运行多个Task(对应多少个“slot”)。应用程序的各个任务正式运行之前,需要将运行环境中的资源全部申请好,且运行过程中要一直占用这些资源,即使不用,最后程序运行结束后,回收这些资源。
    细粒度模式(Fine-grained Mode):鉴于粗粒度模式会造成大量资源浪费,Spark On Mesos还提供了另外一种调度模式:细粒度模式,这种模式类似于现在的云计算,思想是按需分配

    4、Spark专业术语

    在这里插入图片描述

       
    

    五.spark-submit 详解

       Options:
      --master MASTER_URL         
       spark://host:port, mesos://host:port, yarn, or local.
      --deploy-mode DEPLOY_MODE   
       driver运行之处,client运行在本机,cluster运行在集群
      --class CLASS_NAME          
       应用程序包的要运行的class
      --name NAME              
        应用程序名称
      --jars JARS             
         用逗号隔开的driver本地jar包列表以及executor类路径
      --py-files PY_FILES         
       用逗号隔开的放置在Python应用程序PYTHONPATH上的.zip, .egg, .py文件列表
      --files FILES               
       用逗号隔开的要放置在每个executor工作目录的文件列表
      --properties-file FILE     
       设置应用程序属性的文件放置位置,默认是conf/spark-defaults.conf
      --driver-memory MEM         
       driver内存大小,默认512M
      --driver-java-options       
       driver的java选项
      --driver-library-path       
       driver的库路径Extra library path entries to pass to the driver
      --driver-class-path         
       driver的类路径,用--jars 添加的jar包会自动包含在类路径里
      --executor-memory MEM       
       executor内存大小,默认1G
    

    Spark standalone with cluster deploy mode only:

    –driver-cores NUM
       driver使用内核数,默认为1
    –supervise
       如果设置了该参数,driver失败是会重启

    Spark standalone and Mesos only:

    –total-executor-cores NUM
       executor使用的总核数

    YARN-only:
    –executor-cores NUM
       每个executor使用的内核数,默认为1
    –queue QUEUE_NAME
       提交应用程序给哪个YARN的队列,默认是default队列
    –num-executors NUM
       启动的executor数量,默认是2个
    –archives ARCHIVES
       被每个executor提取到工作目录的档案列表,用逗号隔开

    六.Spark启停命令

    1、在主节点启动所有服务(包括slave节点,需要做免密码登录)
    start-all.sh stop-all.sh
    与hadoop的命令有冲突,需要调整

    2、逐一启动主节点、从节点(在不同的节点上发指令)
    start-master.sh | stop-master.sh
    start-slave.sh spark://node1:7077

    3、一次启停全部的从节点
    start-slaves.sh | stop-slaves.sh

    备注:
    以上命令成对出现,有start一般就有stop

    4、spark-daemon.sh
    spark-daemon.sh start org.apache.spark.deploy.master.Master
    spark-daemon.sh stop org.apache.spark.deploy.master.Master
    spark-daemon.sh status org.apache.spark.deploy.master.Master
    备注:很少使用

    Spark webUI 及 History Server

    1、能在主从节点启动相应服务(启动后用jps检查)
    start-dfs.sh / stop-dfs.sh
    start-all.sh / stop-all.sh

    2、spark的日志文件
    缺省位置$SPARK_HOME/logs/

    3、进入spark-shell,执行命令

    4、Web UI
    http://hostIp:8080/
    不要从windows的IE中连接linux主机查看。就在Linux环境中查看

    5、run example
    run-example SparkPi 10
    需要启动hdfs、spark;同时检查二者的安装是否正确

    启动Spark集群

    cd $SPARK_HOME/sbin

    使用start-all.sh、stop-all.sh命令来启动/停止Spark集群

    启动之后在master主节点运行的Spark守护进程为:
    Master(一个)
    在slaves从节点运行的守护进程为:
    Worker
    每个从节点运行的worker进程个数根据设置的SPARK_WORKER_INSTANCES=3 实例个数决定,集群中的worker个数为从节点的数量乘以worker实例的个数,此处为 2 * 3共6个,相应的cores的个数,根据SPARK_WORKER_CORES=2 就是:6 * 2 共12个。
    在这里插入图片描述
    此处注意:
    因为启动Spark集群之前,已经启动了Hadoop集群,hadoop集群的启停命令也有start-all.sh / stop-all.sh,所以启动了hadoop之后需要再启动Spark需要切换到Spark的主目录的sbin路径下运行相应的启停命令,防止对hadoop集群造成影响。

    七.spark shell

    进入spark-shell

    启动Spark集群之后,可以使用spark-shell命令进入Spark的交互式窗口进行Spark的操作。

    启动spark-shell命令
    spark-shell --master 		模式名称
    			--name  		application的名字
    			......
    与submit参数类似
    模式分为:local[Tasknum]
    	     yarn
    	     spark://master:7077
    

    1、spark-shell本地单机模式

    spark-shell --master local[2]
    在这里插入图片描述
    相当于使用spark-submit命令提交了一个spark进程,使用jps命令可以看到,开启了一个SparkSubmit的守护进程。
    在这里插入图片描述

    2、spark-shell sparkalone模式

    spark-shell --master spark://master200:7077
    在这里插入图片描述

    3、spark-shell on yarn模式

    spark-shell --master yarn
    在这里插入图片描述

    4、spark-shell操作练习

    shell:交互式运行spark代码,类似于scala交互式终端
    可用于快速体验spark,查看程序运行结果.
    // 在使用spark-shell进入的时候就创建的SparkContext的实例对象sc、SparkSession实例对象spark
    scala> sc
    res0: org.apache.spark.SparkContext = org.apache.spark.SparkContext@54f69311

    scala> spark
    res0: org.apache.spark.sql.SparkSession = org.apache.spark.sql.SparkSession@663622b1

    // 使用sc.parallelize()方法将一般的数据类型转为RDDs的数据集
    scala> val nums = sc.parallelize(List(1,2,3,4,5))
    nums: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize at < console>:24

    scala> nums.count()
    res1: Long = 5

    scala> nums.take(3)
    res2: Array[Int] = Array(1, 2, 3)

    scala> val words = sc.parallelize(List(“Hello, this is my spark shell program.”, “Hello, this is my book”, “spark shell”))
    words: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[0] at parallelize at < console > : 24

    scala> words.flatMap(.split(" ")).map((,1)).reduceByKey(+).collect()
    res14: Array[(String, Int)] = Array((this,2), (program.,1), (is,2), (my,2), (shell,2), (Hello,2), (book,1), (spark,2))

    4.1读取HDFS文件系统
    val rdd2 = sc.textFile("hdfs://master:9000/words.txt")
    读取本地文件
    val rdd2 = sc.textFile(“file:///root/words.txt”)
    			//在哪存储二进制格式
    			.saveAsSequenceFile("存储路径") 
    			.saveAsTextFile("存储路径")  //txt格式
    

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    展开全文
  • spark安装与配置; hadoop安装与配置; IDEA的安装与配置 版本说明 jdk:1.8 spark:2.4.5 hadoop:2.7.1 我把的安装软件的放到云盘了,链接:https://pan.baidu.com/s/1SLdfe40SZx9FjRl_09_beQ  提取码:tp7p...
  • spark安装步骤详解

    2018-04-13 14:07:01
    spark安装步骤详解;spark安装步骤详解;spark安装步骤详解;spark安装步骤详解;spark安装步骤详解;spark安装步骤详解;spark安装步骤详解;spark安装步骤详解
  • spark 安装详细步骤

    千次阅读 2019-09-18 14:23:19
    1.下载 spark 安装包 选择自己Hadoop对应的版本,不然会不兼容 spark下载链接 2.解压 tar -zvxf spark.2.3 3.删除安装包,修改解压后的文件名字 rm -rf 安装包名 mv spark-2.3.4-bin-hadoop2.7 spark 4. 配置...

    1.下载 spark 安装包

    选择自己Hadoop对应的版本,不然会不兼容

    spark下载链接
    在这里插入图片描述

    2.解压

    tar -zvxf spark.2.3
    

    3.删除安装包,修改解压后的文件名字

    rm -rf  安装包名
    mv spark-2.3.4-bin-hadoop2.7 spark
    

    在这里插入图片描述
    4. 配置文件
    进入到spark 目录下

    cd conf
    

    在这里插入图片描述
    (1).修改配置文件名字:

    mv spark-env.sh.template     spark-env.sh
    vim spark-env.sh
    

    (2).并往里添加几行代码:

    export SCALA_HOME=/usr/local/scala
    export JAVA_HOME=/usr/local/java/jdk
    export HADOOP_HOME=/usr/local/hadoop
    export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
    SPARK_MASTER_IP=Master11                            #这里的Master11是我的主机名
    SPARK_LOCAL_DIRS=/usr/local/spark
    SPARK_DRIVER_MEMORY=1G
    

    (3).保存并退出:wq

    (4).编辑slaves

    mv slaves.template slaves
    vim slaves
    

    里面的内容改成自己的子节点的名称:
    在这里插入图片描述

    5.远程把spark传给两个节点:
    进入到Scala的上一级目录:
    在这里插入图片描述

     scp -r spark/ Master2:/usr/local/
     scp -r spark/ Master3:/usr/local/
    

    把Scala也一起传过去

     scp -r scala/ Master2:/usr/local/
     scp -r scala/ Master3:/usr/local/
    
    

    6.进入到spark的sbin目录 启动集群

    在这里插入图片描述

    [root@Master11 spark]# cd sbin
    [root@Master11 sbin]# ./start-all.sh
    

    在这里插入图片描述

    jps
    

    主机上:有Master
    在这里插入图片描述
    节点上:有Worker

    在这里插入图片描述
    在这里插入图片描述

    安装完毕!!

    7.启动spark shell

    进入spark bin 目录
    在这里插入图片描述

    [root@Master11 bin]# spark-shell
    

    在这里插入图片描述

    完美!!

    展开全文
  • 第1章 安装VMWare Workstation 10;第2章 VMware 10安装CentOS 6;第3章 CentOS 6安装Hadoop;第4章 安装部署Spark;第5章Spark上机操作;第6章 开发Spark分布式程序
  • Spark安装-ubuntu 18.04下安装

    千次阅读 2019-06-26 14:28:42
    安装spark之前,首先需要安装配置Hadoop,这个就不做详细介绍了,可以参看另一篇: https://blog.csdn.net/weixin_42001089/article/details/81865101 本文参考:...

    在安装spark之前,首先需要安装配置Hadoop,这个就不做详细介绍了,可以参看另一篇:

    https://blog.csdn.net/weixin_42001089/article/details/81865101

     

    本文参考:https://blog.csdn.net/weixin_42001089/article/details/82346367

     

    一、查看Hadoop安装情况

    1. 打开终端

    2. 查看hadoop版本:hadoop version

    3. 启动hdfs文件系统:start-dfs.sh

    4. 启动yarn资源调度器:start-yarn.sh

    5. 使用jps查看是否启动成功:jps

    说明:

    ResourceManager和NodeManager是yarn资源调度器启动的

    DataNode、 NameNode和SecondaryNameNode是hdfs文件系统启动的

    所以如果有哪项没有启动成功,就说明对应(yarn或hdfs)的配置文件没有配置成功,需要去看日志手动解决

    二者都有相应的web即:

    yarn:

    http://localhost:8088/cluster

    hdfs:

    http://localhost:50070/

    二、Scala安装

    1. 下载地址:https://www.scala-lang.org/download/2.11.8.html

    2. 下载好后解压到:/home/wangsiyao/

    sudo tar zxvf '/home/wangsiyao/下载/scala-2.11.8.tgz' -C /home/wangsiyao/
    

    3. 重命名为:scala

    4. 配置环境变量

    sudo vim /etc/profile

    结尾位置添加:

    SCALA_HOME=/home/wangsiyao/scala
    export SCALA_HOME
    $SCALA_HOME/bin

    5. 配置文件

    source /etc/profile

    6. 测试:

    scala -version

    三、Spark安装:

    1. 下载地址:http://spark.apache.org/downloads.html

    点击3. Download Spark: ****

    点击加粗部分

    等待下载

    2. 下载好后解压到:/home/wangsiyao/

    sudo tar zxvf  '/home/wangsiyao/下载/spark-2.3.3-bin-hadoop2.7.tgz'  -C  /home/wangsiyao/

    3. 重命名为:spark

     

    4. 配置环境

    sudo vim /etc/profile

    添加:

    SPARK_HOME=/home/wangsiyao/spark
    :$SPARK_HOME/bin
    export SPARK_HOME

    即:

    配置:

    source /etc/profile

    5. 配置spark-env.sh

    进入到spark/conf/:

    cd spark/conf/
    sudo cp spark-env.sh.template spark-env.sh
    sudo vim spark-env.sh

    注:具体配置按照个人路径

    6. 配置Slave

    sudo cp slaves.template  slaves
    vim slaves

    默认就是localhost

    7. 启动

    前提是之前的伪分布式已经启动

    即:

    进入spark/sbin/

    cd spark/sbin/

    启动start-master.sh以及start-slaves.sh

    sudo ./start-master.sh 
    sudo ./start-slaves.sh 

    在启动start-slaves.sh出现错误!!

    root@localhost's password:localhost:permission denied,please try again。

    解决办法:https://www.cnblogs.com/hmy-blog/p/6500909.html

    重新尝试本步骤:

    Spark的web界面:http://127.0.0.1:8099/

    8. 启动bin目录下的spark-shell

    注意:这里是bin目录,而不是sbin了!!!

    进入scala环境:

    可以编写代码了!!!

    spark-shell的web界面http://127.0.0.1:4040

     

    展开全文
  • Spark 安装配置及下载地址

    千次阅读 2020-02-05 22:29:03
    使用安装包版本: spark-2.0.0-bin-hadoop2.6 下载地址 https://spark.apache.org/ Spark概述 Apache Spark是一个快速的通用集群计算系统。...一、安装 1、解压 [root@master app] # tar -zxvf spark-2.0.0-b...

    使用安装包版本:
    spark-2.0.0-bin-hadoop2.6
    下载地址 https://spark.apache.org/

    Spark概述

    Apache Spark是一个快速的通用集群计算系统。它提供Java,Scala,Python和R中的高级API,以及支持常规执行图的优化引擎。

    一、安装

    1、解压

    [root@master app] # tar -zxvf spark-2.0.0-bin-hadoop2.6.tgz -C /usr/local/src/
    [root@master app]# cd /usr/local/src/
    [root@master src]# ls
    anaconda-ks.cfg        hbase-1.2.0       mysql                          zookeeper-3.4.5
    apache-hive-1.2.2-bin  jdk1.8.0_221      spark-2.0.0-bin-hadoop2.6
    hadoop-2.6.0           kafka_2.11-1.0.0  sqoop-1.4.7.bin__hadoop-2.6.0
    [root@master src]# cd sqoop-1.4.7.bin__hadoop-2.6.0/
    

    2、环境变量

    [root@master conf]# vi ~/.bash_profile
    [root@master conf]# source ~/.bash_profile
    export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
    export SQOOP_HOME=/usr/local/src/sqoop-1.4.7.bin__hadoop-2.6.0
    export PATH=$PATH:$SQOOP_HOME/bin
    

    3、配置spark-env.sh

    环境变量

    通过环境变量配置确定的Spark设置。环境变量从Spark安装目录下的conf/spark-env.sh脚本读取(或者windows的conf/spark-env.cmd)。在独立的或者Mesos模式下,这个文件可以给机器确定的信息,如主机名。当运行本地应用程序或者提交脚本时,它也起作用。
    注意,当Spark安装时,conf/spark-env.sh默认是不存在的。你可以复制conf/spark-env.sh.template创建它。
    可以在spark-env.sh中设置如下变量:

    [root@master conf]# pwd
    /usr/local/src/spark-2.0.0-bin-hadoop2.6/conf
    [root@master conf]# cp spark-env.sh.template spark-env.sh
    [root@master conf]# vi spark-env.sh
    
    export JAVA_HOME=/usr/local/src/jdk1.8.0_221
    
    # export SCALA_HOME=/usr/etc/scala-2.12.4 # 未安装SCALA
    export HADOOP_HOME=/usr/local/src/hadoop-2.6.0
    export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.6.0/etc/hadoop
    
    
    # 本机名 master 在/etc/hosttname映射了自身IP
    export SPARK_MASTER_IP=master
    
    export SPARK_HOME=/usr/local/src/spark-2.0.0-bin-hadoop2.6
    export SPARK_DIST_CLASSPATH=$(/usr/local/src/hadoop-2.6.0/bin/hadoop classpath)
    export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native
    

    变量说明
    - 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节点的数目

    4、添加配置项到spark-default.conf

    按需调整,增加运算速度,合理资源调度

    [root@master conf]# pwd
    /usr/local/src/spark-2.0.0-bin-hadoop2.6/conf
    [root@master conf]# cp spark-defaults.conf.template  spark-defaults.conf
    [root@master conf]# vi spark-defaults.conf
    spark.eventLog.enabled true
    spark.eventLog.dir hdfs://master:9000/Spark/historyserverforSpark
    spark.yarn.historyServer.address master:18080
    spark.history.fs.logDirectory hdfs://master:9000/Spark/historyserverforSpark
    spark.executor.extraJavaOptions -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"
    

    参数说明 http://spark.apache.org/docs/1.6.1/configuration.html

    5、 在hdfs上创建文件

    [root@master jars]# hdfs dfs -mkdir /Spark/
    [root@master jars]# hdfs dfs -mkdir /Spark/historyserverforSpark
    

    6、配置slaves

    [root@master conf]# cp slaves.template slaves
    [root@master conf]# vi slaves
    # A Spark Worker will be started on each of the machines listed below.
    slave1
    slave2
    

    7、删除spark的slf4Jar包,因为hadoop有这个Jar包了

    [root@master jars]# pwd
    /usr/local/src/spark-2.0.0-bin-hadoop2.6/jars
    [root@master conf]# rm slf4j-log4j12-1.7.16.jar
    

    8、scp

    [root@master conf]# scp ~/.bash_profile slave1:~/.bash_profile
                                                    
    [root@master conf]# scp ~/.bash_profile slave2:~/.bash_profile
    
    
    [root@master conf]# scp -r /usr/local/src/spark-2.0.0-bin-hadoop2.6/ slave1:/usr/local/src
    [root@master conf]# scp -r /usr/local/src/spark-2.0.0-bin-hadoop2.6/ slave2:/usr/local/src
    

    二、启动Spark集群

    1、启动hadoop的HDFS文件系统

    因为我们只需要使用hadoop的HDFS文件系统,所以我们并不用把hadoop全部功能都启动。

    [root@master conf]# start-dfs.sh
    [root@master conf]# jps
    2418 Jps
    2166 JournalNode
    1959 DataNode
    1849 NameNode
    2361 DFSZKFailoverController
    [root@master conf]#
    

    2、启动Spark,

    因为hadoop/sbin以及spark/sbin均配置到了系统的环境中,它们同一个文件夹下存在同样的start-all.sh文件。最好是打开spark-2.2.0,在文件夹下面打开该文件。这个可以改名然后加入环境变量
    ./sbin/start-all.sh

    [root@master spark-2.0.0-bin-hadoop2.6]# cd sbin/
    [root@master sbin]# ls
    slaves.sh                  start-mesos-shuffle-service.sh  stop-mesos-dispatcher.sh
    spark-config.sh            start-shuffle-service.sh        stop-mesos-shuffle-service.sh
    spark-daemon.sh            start-slave.sh                  stop-shuffle-service.sh
    spark-daemons.sh           start-slaves.sh                 stop-slave.sh
    start-all.sh               start-thriftserver.sh           stop-slaves.sh
    start-history-server.sh    stop-all.sh                     stop-thriftserver.sh
    start-master.sh            stop-history-server.sh
    start-mesos-dispatcher.sh  stop-master.sh
    [root@master sbin]# pwd
    /usr/local/src/spark-2.0.0-bin-hadoop2.6/sbin
    [root@master sbin]# ./start-all.sh
    [root@master sbin]# jps
    2483 Master
    2166 JournalNode
    1959 DataNode
    1849 NameNode
    2361 DFSZKFailoverController
    2589 Jps
    

    出现 Master 验证成功

    3、打开 slave1 slave2

    [root@slave1 ~]# jps
    3250 Jps
    1875 JournalNode
    1780 DataNode
    3160 Worker
    2473 QuorumPeerMain
    2634 DFSZKFailoverController
    2957 NameNode
    [root@slave2 ~]# jps
    2096 QuorumPeerMain
    1717 DataNode
    2504 Jps
    2413 Worker
    [root@slave2 ~]#
    

    出现 Worker 验证成功

    4、打开spark

    [root@master sbin]# spark-shell
    
    
    Welcome to
          ____              __
         / __/__  ___ _____/ /__
        _\ \/ _ \/ _ `/ __/  '_/
       /___/ .__/\_,_/_/ /_/\_\   version 2.0.0
          /_/
    
    Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_221)
    Type in expressions to have them evaluated.
    Type :help for more information.
    
    scala>
    

    5、打开 master:8080

    在这里插入图片描述

    展开全文
  • Linux环境Spark安装配置及使用

    千次阅读 2019-05-07 11:37:13
    Linux环境Spark安装配置及使用 1. 认识Spark (1) Spark介绍 大数据计算引擎 官网:spark.apache.org/ 官方介绍:Apache Spark™ is a unified analytics engine for large-scale data processing.(Apache Spark™...
  • spark踩坑记——windows环境下spark安装和运行

    万次阅读 多人点赞 2018-08-10 17:08:10
    本文主要记录windows系统上安装spark,scala,和intelj IDEA,并实现本地spark运行。同时介绍了利用maven构建工具对spark工程构建的方法。本地运行需要本地安装scala,spark,hadoop。而如果利用maven构建工具则只...
  • Spark安装和配置

    万次阅读 2016-03-18 16:06:17
    http://blog.csdn.net/pipisorry/article/details/50924395安装HadoopSpark默认使用HDFS充当...spark单机环境安装{linux下的安装,windows上也类似}安装jdk依赖[java环境配置:安装jdk]下载spark相应hadoop2.*版本选择
  • 【Hadoop安装】Spark安装详解

    千次阅读 2021-03-03 22:20:31
    Spark安装详解Spark的详情Spark的安装详解Spark Local的安装Spark Standalone模式Spark On YARN模式Spark HA模式 Spark的详情 Spark的简绍 Spark是一种通用的大数据计算框架,是基于RDD(弹性分布式数据集)的一种计算...
  • Spark安装及配置详细步骤

    千次阅读 2020-05-03 13:03:37
    1、解压scala、spark: tar -zxvf scala-2.11.8.tgz tar -zxvf spark-2.4.4-bin-hadoop2.6.tgz 2、配置环境变量(master、slave1、slave2分别执行): export SCALA_HOME=/usr/local/src/scala-2.11.8 export SPARK_...
  • 自制Spark安装详细过程(含Scala)

    千次阅读 2018-09-18 09:12:42
    推荐spark安装链接http://blog.csdn.net/weixin_36394852/article/details/76030317 一、scala下载安装与配置  1.下载  cd /usr/scala //若不存在则新建  wget https://downloads.lightb...
  • Apache Spark安装部署

    千次阅读 2018-12-03 08:58:35
    一、此文档安装spark在以下节点上: zgl-1:192.168.127.121 zgl-2:192.168.127.122 zgl-3:192.168.127.123 二、安装部署 1、上传安装包( spark-2.0.2-bin-hadoop2.7.tgz)到/usr/local目录下 如图: 2...
  • python3 实战Spark 安装

    千次阅读 2019-09-18 15:06:30
    java 环境搭建 Scala环境搭建 Hadoop环境搭建 Maven环境搭建 python3环境部署 Spark源码编译及部署 一、java环境搭建 二、Scala环境搭建 三、 Hadoop环境搭建 ...
  • spark安装及环境配置(win10)

    千次阅读 2020-10-25 17:10:36
    需要安装的包: Jdk Hadoop Spark Scala JDK: 下载官网 往下拉,选择JAVA SE 8 根据选择自己需要的版本号,本人下载的是jdk-8u211-windows-x64 环境变量配置 Scala: 下载网址 本人下载的是2.13.3版本...
  • spark安装具体步骤

    千次阅读 2016-08-23 09:47:41
    最近,在大波面试来袭的时候,我默默的在这钻研spark安装,以前的linux的基础知识都忘得差不多了,所以安装起来比较麻烦,于是写下这篇安装博文,希望有用。
  • spark2 安装教程

    2017-11-30 10:28:13
    单独搭建spark2.0,和spark1.3共存,适用于新老spark版本共存的情况
  • Spark安装及其测试

    2016-02-29 09:05:33
    详细解说spark搭建伪分布环境,及其测试案例
  • linux下Spark安装与环境配置

    千次阅读 2020-02-26 12:41:22
    按照上一篇文章安装完Hadoop集群之后,启动hdfs文件系统及yarn资源管理器(也可通过start-dfs.sh和start-yarn.sh完成): start-all.sh 之后通过jps查看是否成功: jps 成功之后如下图: 点击链接...
  • TensorflowOnSpark 安装

    千次阅读 热门讨论 2017-03-21 13:14:32
    Tensorflow on Spark 安装
  • spark学习-spark安装和启动

    万次阅读 2018-06-23 17:29:46
    安装前准备 spark下载 由于我们的hadoop的版本是2.7.6.所以在选中spark版本的时候,要注意. 要选中pre-built for apache hadoop2.7 and later的版本 #下载spark [root@spark-master local]# wget ...
  • Spark 安装 Standalone模式 (单机与集群)

    千次阅读 2019-03-29 17:09:04
    今天我们了解下Spark安装. Spark安装模式有很多模式, 主要包括 Spark Standalone、Running Spark on YARN、Running Spark on Kubernetes、Running Spark on Mesos. 其中YARN/Mesos/Kubernetes都是资源的调度器. ...
  • 实验报告七 Spark安装与配置

    千次阅读 2019-05-18 20:38:16
    最后一章学习 Spark安装与配置以下是实验步骤 一、在Windows下下载Scala和Spark 官网下载安装Spark:spark-2.4.2-bin-hadoop2.7.tgz 官网下载安装Scala: https://www.scala-lang.org/download/ 二、将压缩包从...
  • 【Hadoop/Spark】Hadoop、Spark安装详解

    千次阅读 2017-10-24 21:33:36
    Hadoop、Spark安装详解
  • 关于spark安装的方法这里不再赘述,说说我在安装过程中的问题及解决办法吧: 首先,正常情况下,我们安装完成后,在命令行下输入 pyspark,会出现如下的内容:    那么,就证明我们的安装是成功的。 ...
  • Spark安装与部署

    2020-05-18 09:42:13
    介绍Spark生态和安装部署、Spark运行架构、Spark编程模型、Spark的多语言编程及Spark Streaming原理等知识与技术,通过课程的学习掌握Spark大数据基本原理,具备基于Spark构建数据分析系统的技能。本课程充分参考...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,789
精华内容 23,915
关键字:

spark安装