⑴ spark需要先安装hadoop吗
Spark与Hadoop一样,是一种开源的集群计算环境,但在特定工作负载情况下比Hadoop更高效。Spark采用基于内存的分布式数据集,优化了迭代式的工作负载以及交互式查询。Spark采用Scala语言实现,使用Scala作为应用框架。与Hadoop不同的是,Spark和Scala紧密集成,Scala像管理本地collective对象那样管理分布式数据集。Spark支持分布式数据集上的迭代式任务,实际上它可以在Hadoop文件系统上与Hadoop一起运行,这是由第三方集群框架Mesos实现的。Spark由加州大学伯克利分校开发,用于构建大规模、低延时的数据分析应用。Spark集群计算架构Spark是一种类似于Hadoop的新型集群计算框架。不同的是,Spark用于特定工作负载类型的集群计算,这种计算在多个并行操作之间重用工作数据集(如机器学习算法)。为了优化这种类型的计算,Spark引入基于内存的集群计算,即将数据集缓存在内存中,减少访问延迟。Spark还引入了一个抽象概念,即弹性分布式数据集RDD(resilientdistributeddatasets)。RDD是一个分布在一组节点之间的只读的对象集合。这些集合是弹性的,即能够在部分数据集丢失的情况下重建。重建部分数据集的过程需要一种维护血统(lineage,即重建部分数据集所需的信息,说明数据是根据什么过程产生的)的容错机制支持。一个RDD可以是:(1)一个从文件创建的Scala对象,或(2)一个并行切片(分布在各个节点之间),或(3)从其他RDD转换得来,或(4)改变已有RDD的持久性,如请求将已有RDD缓存在内存中。Spark应用称为driver,实现单个节点或一组节点上的操作。与Hadoop一样,Spark支持单节点和多节点集群。对于多节点操作,Spark依附于Mesos集群管理器。Mesos为分布式应用提供了有效的资源共享和隔离的平台(见图1)。这种配置允许Spark与Hadoop共用一个节点共享池。图1Spark依赖于Mesos集群管理器实现资源共享和隔离Spark编程模型Driver在数据集上执行两种操作:行为(action)和转换(transformation)。action,即在数据集上执行计算,并向driver返回一个值;transformation,即从已有数据集创建新的数据集。例如,执行Rece操作(使用某个函数)、遍历数据集(即在每个元素上执行一个函数,类似Map操作),属于action;Map操作、Cache操作(即请求新的数据集缓存在内存中),属于transformation。下面我们将简单介绍一下这两种操作的实例。不过首先熟悉一下Scala语言。Scala简介很多著名网站都使用Scala,像Twitter,LinkedIn,及Foursquare(其web应用框架叫Lift)。此外,有证据表明金融机构也对Scala的性能感兴趣(例如使用EDFTrading进行衍生工具定价)。Scala是一种多范式的编程语言,支持命令式、函数式和面向对象的编程范式。从面向对象的角度来看,Scala中的每个值都是一个对象。同理,从函数式编程的角度来看,每个函数也都是一个值。Scala还是一种静态类型语言,其类型系统表达能力强且安全。此外,Scala还是一种虚拟机语言,Scala编译器生成字节码,使用JRE2直接在java虚拟机(JVM)上运行。这样,Scala可以在几乎任何支持JVM的地方运行(需要增加Scala运行时库),并使用已有的Java库和Java代码。最后,Scala是可扩展的,可以以库的形式轻易无缝地集成到其他语言中去。Scala实例现在我们来看看Scala的几个实例。Scala有自己的解释器,可以交互式地使用它。本文不对Scala语言进行具体论述,可以参考这里。清单1使用解释器快速了解一下Scala语言。启动Scala之后,出现命令提示符,你就可以在交互模式下评估表达式和程序。创建变量有两种方式,一是使用val创建不可变变量(称为单一赋值的变量),二是使用var创建可变变量。如果试图对val变量进行更改,将提示错误。清单1Scala中的变量$scalaWelcometoScalaversion2.8.1.final(OpenJDKClientVM,Java1.6.0_20)..Type:helpformoreinformation.scala>vala=1a:Int=1scala>varb=2b:Int=2scala>b=b+ab:Int=3scala>a=26:error:reassignmenttovala=2^接下来,定义一个简单的函数,计算一个Int类型的平方并返回这个值。使用def定义函数,后面紧跟函数名和参数列表。不需要指定返回值,函数本身可以推断出返回值。注意,这与变量赋值操作类似。这里我演示了在3这个对象上执行这个函数,返回一个名为res0的结果变量(该变量是Scala解释器自动创建的)。见清单2。清单2Scala中的函数scala>defsquare(x:Int)=x*xsquare:(x:Int)Intscala>square(3)res0:Int=9scala>square(res0)res1:Int=81接着,我们看看如何在Scala中创建简单的类(见清单3)。定义一个简单的类Dog,接受String类型的参数(相当于构造器)。注意这里类直接接受参数,而不需要在类主体中定义这个类参数。类中只有一个打印该字符串的函数。创建一个类的实例,然后调用这个函数。注意解释器会插入一些竖线,它们不是代码的一部分。清单3Scala中的类scala>classDog(name:String){|defbark()=println(name+"barked")|}definedclassDogscala>valstubby=newDog("Stubby")stubby:[email protected]>stubby.barkStubbybarkedscala>完成工作以后,只需要敲入:quit就可以退出Scala解释器。安装Scala和Spark首先下载和配置Scala。清单4给出了Scala的下载命令,并准备安装。根据Spark文档,这里使用2.8版本。清单4Scala安装$wgetetoScalaversion2.8.1.final(OpenJDKClientVM,Java1.6.0_20)..Type:helpformoreinformation.scala>println("Scalaisinstalled!")Scalaisinstalled!scala>:quit$现在可以看到Scala命令提示符了,输入:quit退出。注意Scala在JVM上下文中执行,所以还需要JVM。我用的是Ubuntu,默认自带了OpenJDK。接下来,根据清单6获取最新的Spark框架。清单6下载和安装Spark框架$wgetpile注意这一步需要连接到互联网。完成以后,按照清单7测试一下Spark。这个测试例子运行SparkPi计算pi的估计值(在单位正方形中随机取点)。命令格式是示例程序(spark.examples.SparkPi),加上主机参数(即定义Mesosmaster)。本例实在localhost上运行,因为这是一个单节点集群。注意清单7执行了两个任务,但是它们是顺序执行的(任务0结束后任务1才开始)。
⑵ scala 2.1里面jdk1.8对应哪个spark
1,构建系统的选择,sbt更合适用来构建Scala工程,maven更合适用来构建Java工程2,对于spark中的API来说,Java和Scala有差别,但差别并不大3,如果用Scala开发spark原型程序,可以用spark-shell“打草稿”,或者直接使用spark-shell做交互式实时查询4,用Scala代码量将减少甚至一个数量级,不过Scala的使用门槛较高!
⑶ spark 集群 mysql 驱动放在哪
1. 安装环境简介 硬件环境:两台四核cpu、4G内存、500G硬盘的虚拟机。 软件环境:64位Ubuntu12.04 LTS;主机名分别为spark1、spark2,IP地址分别为1**.1*.**.***/***。JDK版本为1.7。集群上已经成功部署了Hadoop2.2,详细的部署过程可以参见另一…
⑷ 如何设置Spark
在Windows上安装与配置Spark 本节介绍在Windows系统上安装Spark的过程。在Windows环境下需要安装Cygwin模拟Linux的命令行环境来安装Spark。 (1)安装JDK 相对于Linux、Windows的JDK安装更加自动化,用户可以下载安装Oracle JDK或者OpenJDK。
⑸ 如何在本地安装运行Spark
2.1.2在Windows上安装与配置Spark本节介绍在Windows系统上安装Spark的过程。在Windows环境下需要安装Cygwin模拟Linux的命令行环境来安装Spark。(1)安装JDK相对于Linux、Windows的JDK安装更加自动化,用户可以下载安装Oracle JDK或者OpenJDK。只安装JRE是不够的,用户应该下载整个JDK。安装过程十分简单,运行二进制可执行文件即可,程序会自动配置环境变量。(2)安装CygwinCygwin是在Windows平台下模拟Linux环境的一个非常有用的工具,只有通过它才可以在Windows环境下安装Hadoop和Spark。具体安装步骤如下。1)运行安装程序,选择install from internet。2)选择网络最好的下载源进行下载。3)进入Select Packages界面(见图2-2),然后进入Net,选择openssl及openssh。因为之后还是会用到ssh无密钥登录的。另外应该安装“Editors Category”下面的“vim”。这样就可以在Cygwin上方便地修改配置文件。最后需要配置环境变量,依次选择“我的电脑”→“属性”→“高级系统设置”→“环境变量”命令,更新环境变量中的path设置,在其后添加Cygwin的bin目录和Cygwin的usr\bin两个目录。(3)安装sshd并配置免密码登录1)双击桌面上的Cygwin图标,启动Cygwin,执行ssh-host-config -y命令,出现如图2-3所示的界面。2)执行后,提示输入密码,否则会退出该配置,此时输入密码和确认密码,按回车键。最后出现Host configuration finished.Have fun!表示安装成功。3)输入net start sshd,启动服务。或者在系统的服务中找到并启动Cygwin sshd服务。注意,如果是Windows 8操作系统,启动Cygwin时,需要以管理员身份运行(右击图标,选择以管理员身份运行),否则会因为权限问题,提示“发生系统错误5”。(4)配置SSH免密码登录1)执行ssh-keygen命令生成密钥文件,如图2-4所示。2)执行此命令后,在你的Cygwin\home\用户名路径下面会生成.ssh文件夹,可以通过命令ls -a /home/用户名 查看,通过ssh -version命令查看版本。3)执行完ssh-keygen命令后,再执行下面命令,生成authorized_keys文件。cd ~/.ssh/ cp id_dsa.pub authorized_keys 这样就配置好了sshd服务。(5)配置Hadoop修改和配置相关文件与Linux的配置一致,读者可以参照上文Linux中的配置方式,这里不再赘述。(6)配置Spark修改和配置相关文件与Linux的配置一致,读者可以参照上文Linux中的配置方式,这里不再赘述。(7)运行Spark1)Spark的启动与关闭①在Spark根目录启动Spark。./sbin/start-all.sh ②关闭Spark。./sbin/stop-all.sh 2)Hadoop的启动与关闭①在Hadoop根目录启动Hadoop。./sbin/start-all.sh ②关闭Hadoop。./sbin/stop-all.sh 3)检测是否安装成功正常状态下会出现如下内容。-bash-4.1# jps 23526 Jps 2127 Master 7396 NameNode 7594 SecondaryNameNode 7681 ResourceManager 1053 DataNode 31935 NodeManager 1405 Worker 如缺少进程请到logs文件夹下查看相应日志,针对具体问题进行解决。
⑹ spark能运行jdk1.6的jar包么
可以啊,但是要看版本
⑺ 为什么运行不成功 spark
本节介绍在Windows系统上安装Spark的过程。在Windows环境下需要安装Cygwin模拟Linux的命令行环境来安装Spark。(1)安装JDK相对于Linux、Windows的JDK安装更加自动化,用户可以下载安装Oracle JDK或者OpenJDK。只安装JRE是不够的,用户应该下载整个JDK。安装过程十分简单,运行二进制可执行文件即可,程序会自动配置环境变量。(2)安装CygwinCygwin是在Windows平台下模拟Linux环境的一个非常有用的工具,只有通过它才可以在Windows环境下安装Hadoop和Spark。具体安装步骤如下。1)运行安装程序,选择install from internet。2)选择网络最好的下载源进行下载。3)进入Select Packages界面(见图2-2),然后进入Net,选择openssl及openssh。因为之后还是会用到ssh无密钥登录的。另外应该安装“Editors Category”下面的“vim”。这样就可以在Cygwin上方便地修改配置文件。最后需要配置环境变量,依次选择“我的电脑”→“属性”→“高级系统设置”→“环境变量”命令,更新环境变量中的path设置,在其后添加Cygwin的bin目录和Cygwin的usr\bin两个目录。(3)安装sshd并配置免密码登录1)双击桌面上的Cygwin图标,启动Cygwin,执行ssh-host-config -y命令,出现如图2-3所示的界面。2)执行后,提示输入密码,否则会退出该配置,此时输入密码和确认密码,按回车键。最后出现Host configuration finished.Have fun!表示安装成功。3)输入net start sshd,启动服务。或者在系统的服务中找到并启动Cygwin sshd服务。注意,如果是Windows 8操作系统,启动Cygwin时,需要以管理员身份运行(右击图标,选择以管理员身份运行),否则会因为权限问题,提示“发生系统错误5”。(4)配置SSH免密码登录1)执行ssh-keygen命令生成密钥文件,如图2-4所示。2)执行此命令后,在你的Cygwin\home\用户名路径下面会生成.ssh文件夹,可以通过命令ls -a /home/用户名 查看,通过ssh -version命令查看版本。3)执行完ssh-keygen命令后,再执行下面命令,生成authorized_keys文件。cd ~/.ssh/ cp id_dsa.pub authorized_keys 这样就配置好了sshd服务。(5)配置Hadoop修改和配置相关文件与Linux的配置一致,读者可以参照上文Linux中的配置方式,这里不再赘述。(6)配置Spark修改和配置相关文件与Linux的配置一致,读者可以参照上文Linux中的配置方式,这里不再赘述。(7)运行Spark1)Spark的启动与关闭①在Spark根目录启动Spark。./sbin/start-all.sh ②关闭Spark。./sbin/stop-all.sh 2)Hadoop的启动与关闭①在Hadoop根目录启动Hadoop。./sbin/start-all.sh ②关闭Hadoop。./sbin/stop-all.sh 3)检测是否安装成功正常状态下会出现如下内容。-bash-4.1# jps 23526 Jps 2127 Master 7396 NameNode 7594 SecondaryNameNode 7681 ResourceManager 1053 DataNode 31935 NodeManager 1405 Worker 如缺少进程请到logs文件夹下查看相应日志,针对具体问题进行解决。
⑻ spark最佳实践电子版 spark是什么版本
《Spark大数据处理技术》以Spark 0.9版本为基础进行编写,是一本全面介绍Spark及Spark生态圈相关技术的书籍,是国内首本深入介绍Spark原理和架构的技术书籍。主要内容有Spark基础功能介绍及内部重要模块分析,包括部署模式、调度框架、存储管理以及应用监控;同时也详细介绍了Spark生态圈中其他的软件和模块,包括SQL处理引擎Shark和Spark SQL、流式处理引擎Spark Streaming、图计算框架Graphx以及分布式内存文件系统Tachyon。《Spark大数据处理技术》从概念和原理上对Spark核心框架和生态圈做了详细的解读,并对Spark的应用现状和未来发展做了一定的介绍,旨在为大数据从业人员和Spark爱好者提供一个更深入学习的平台。 《Spark大数据处理技术》适合任何大数据、Spark领域的从业人员阅读,同时也为架构师、软件开发工程师和大数据爱好者展现了一个现代大数据框架的架构原理和实现细节。相信通过学《Spark大数据处理技术》,读者能够熟悉和掌握Spark这一当前流行的大数据框架,并将其投入到生产实践中去。 《Spark大数据处理:技术、应用与性能优化》根据最新技术版本,系统、全面、详细讲解Spark的各项功能使用、原理机制、技术细节、应用方法、性能优化,以及BDAS生态系统的相关技术。 通过上面两本熟悉Spark的原理架构以及应用,想深入学习的话,还有《Apache Spark源码剖析》,它全面、系统地介绍了Spark源码,深入浅出。
⑼ 如何配置Eclipse来使用Java编写Spark App
1. 环境准备Eclipse 请不要使用最新的 Neon(4.6) ,太多Bug了。 还是使用最新的Mars(4.5) 系列吧JDK 版本8.x (Linux推荐Oracle, 没有测试过OpenJDK)因为只是用Java,因此无需安装Scala及其相应的插件2. 创建一个新的maven项目3. pom.xml<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.6.0</version><exclusions><exclusion><groupId>javax.servlet</groupId><artifactId>*</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.10</artifactId><version>1.6.1</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-streaming_2.10</artifactId><version>1.6.1</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-mllib_2.10</artifactId><version>1.6.1</version></dependency><dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>2.10.5</version></dependency>这里只列出了必要的几个依赖。 其他的请根据你自己的项目需求添加4. 使用maven打包右键项目-》run as-》maven build之后在Goal 之中填写clean package 即可如果在修改了与Spark相关的代码之后,需要重新编译打包才行。 否则会有异常提示。5. 代码编写注意事项:在创建JavaSparkContext的时候,需要把自己加进去。public static JavaSparkContextgetContext(String taskName) {JavaSparkContextsc = new JavaSparkContext(SparkConnUtils.getSparkConf(taskName));sc.addJar("target/sparkstat-0.0.1-SNAPSHOT.jar");return sc;}其中target/sparkstat-0.0.1-SNAPSHOT.jar是maven 运行之后生成的完整的jar包上面几步完成之后 就可以开些写属于你自己的Spark App啦