安装与Spark相关的其他组件的时候,例如JDK,Hadoop,Yarn,Hive,Kafka等,要考虑到这些组件和Spark的版本兼容关系。这个对应关系可以在Spark源代码的pom.xml文件中查看。

一、 下载Spark源代码

打开网址https://github.com/apache/spark,例如选择v2.4.0-rc5版本,再点击“Clone or download”按钮,点击下方的“Download ZIP”进行下载。

二、查看pom.xml文件
将下载的源代码压缩包解压后,打开里面的pom.xml文件,查看properties标签内各配置项,里面有列出其他组件的兼容版本信息,例如<hadoop.version>2.6.5</hadoop.version>表示hadoop版本为2.6.5。如下:

  1. <properties>
  2. <project.build.sourceEncoding>UTF-</project.build.sourceEncoding>
  3. <project.reporting.outputEncoding>UTF-</project.reporting.outputEncoding>
  4. <java.version>1.8</java.version>
  5. <maven.compiler.source>${java.version}</maven.compiler.source>
  6. <maven.compiler.target>${java.version}</maven.compiler.target>
  7. <maven.version>3.5.</maven.version>
  8. <sbt.project.name>spark</sbt.project.name>
  9. <slf4j.version>1.7.</slf4j.version>
  10. <log4j.version>1.2.</log4j.version>
  11. <hadoop.version>2.6.</hadoop.version>
  12. <protobuf.version>2.5.</protobuf.version>
  13. <yarn.version>${hadoop.version}</yarn.version>
  14. <flume.version>1.6.</flume.version>
  15. <zookeeper.version>3.4.</zookeeper.version>
  16. <curator.version>2.6.</curator.version>
  17. <hive.group>org.spark-project.hive</hive.group>
  18. <!-- Version used in Maven Hive dependency -->
  19. <hive.version>1.2..spark2</hive.version>
  20. <!-- Version used for internal directory structure -->
  21. <hive.version.short>1.2.</hive.version.short>
  22. <derby.version>10.12.1.1</derby.version>
  23. <parquet.version>1.10.</parquet.version>
  24. <orc.version>1.5.</orc.version>
  25. <orc.classifier>nohive</orc.classifier>
  26. <hive.parquet.version>1.6.</hive.parquet.version>
  27. <jetty.version>9.3..v20180605</jetty.version>
  28. <javaxservlet.version>3.1.</javaxservlet.version>
  29. <chill.version>0.9.</chill.version>
  30. <ivy.version>2.4.</ivy.version>
  31. <oro.version>2.0.</oro.version>
  32. <codahale.metrics.version>3.1.</codahale.metrics.version>
  33. <avro.version>1.8.</avro.version>
  34. <avro.mapred.classifier>hadoop2</avro.mapred.classifier>
  35. <aws.kinesis.client.version>1.8.</aws.kinesis.client.version>
  36. <!-- Should be consistent with Kinesis client dependency -->
  37. <aws.java.sdk.version>1.11.</aws.java.sdk.version>
  38. <!-- the producer is used in tests -->
  39. <aws.kinesis.producer.version>0.12.</aws.kinesis.producer.version>
  40. <!-- org.apache.httpcomponents/httpclient-->
  41. <commons.httpclient.version>4.5.</commons.httpclient.version>
  42. <commons.httpcore.version>4.4.</commons.httpcore.version>
  43. <!-- commons-httpclient/commons-httpclient-->
  44. <httpclient.classic.version>3.1</httpclient.classic.version>
  45. <commons.math3.version>3.4.</commons.math3.version>
  46. <!-- managed up from 3.2. for SPARK- -->
  47. <commons.collections.version>3.2.</commons.collections.version>
  48. <scala.version>2.11.</scala.version>
  49. <scala.binary.version>2.11</scala.binary.version>
  50. <codehaus.jackson.version>1.9.</codehaus.jackson.version>
  51. <fasterxml.jackson.version>2.6.</fasterxml.jackson.version>
  52. <fasterxml.jackson.databind.version>2.6.7.1</fasterxml.jackson.databind.version>
  53. <snappy.version>1.1.7.1</snappy.version>
  54. <netlib.java.version>1.1.</netlib.java.version>
  55. <calcite.version>1.2.-incubating</calcite.version>
  56. <commons-codec.version>1.10</commons-codec.version>
  57. <commons-io.version>2.4</commons-io.version>
  58. <!-- org.apache.commons/commons-lang/-->
  59. <commons-lang2.version>2.6</commons-lang2.version>
  60. <!-- org.apache.commons/commons-lang3/-->
  61. <commons-lang3.version>3.5</commons-lang3.version>
  62. <datanucleus-core.version>3.2.</datanucleus-core.version>
  63. <janino.version>3.0.</janino.version>
  64. <jersey.version>2.22.</jersey.version>
  65. <joda.version>2.9.</joda.version>
  66. <jodd.version>3.5.</jodd.version>
  67. <jsr305.version>1.3.</jsr305.version>
  68. <libthrift.version>0.9.</libthrift.version>
  69. <antlr4.version>4.7</antlr4.version>
  70. <jpam.version>1.1</jpam.version>
  71. <selenium.version>2.52.</selenium.version>
  72. <!--
  73. Managed up from older version from Avro; sync with jackson-module-paranamer dependency version
  74. -->
  75. <paranamer.version>2.8</paranamer.version>
  76. <maven-antrun.version>1.8</maven-antrun.version>
  77. <commons-crypto.version>1.0.</commons-crypto.version>
  78. <!--
  79. If you are changing Arrow version specification, please check ./python/pyspark/sql/utils.py,
  80. ./python/run-tests.py and ./python/setup.py too.
  81. -->
  82. <arrow.version>0.10.</arrow.version>
  83.  
  84. <test.java.home>${java.home}</test.java.home>
  85. <test.exclude.tags></test.exclude.tags>
  86. <test.include.tags></test.include.tags>
  87.  
  88. <!-- Package to use when relocating shaded classes. -->
  89. <spark.shade.packageName>org.spark_project</spark.shade.packageName>
  90.  
  91. <!-- Modules that copy jars to the build directory should do so under this location. -->
  92. <jars.target.dir>${project.build.directory}/scala-${scala.binary.version}/jars</jars.target.dir>
  93.  
  94. <!-- Allow modules to enable / disable certain build plugins easily. -->
  95. <build.testJarPhase>prepare-package</build.testJarPhase>
  96. <build.copyDependenciesPhase>none</build.copyDependenciesPhase>
  97.  
  98. <!--
  99. Dependency scopes that can be overridden by enabling certain profiles. These profiles are
  100. declared in the projects that build assemblies.
  101.  
  102. For other projects the scope should remain as "compile", otherwise they are not available
  103. during compilation if the dependency is transivite (e.g. "graphx/" depending on "core/" and
  104. needing Hadoop classes in the classpath to compile).
  105. -->
  106. <flume.deps.scope>compile</flume.deps.scope>
  107. <hadoop.deps.scope>compile</hadoop.deps.scope>
  108. <hive.deps.scope>compile</hive.deps.scope>
  109. <orc.deps.scope>compile</orc.deps.scope>
  110. <parquet.deps.scope>compile</parquet.deps.scope>
  111. <parquet.test.deps.scope>test</parquet.test.deps.scope>
  112.  
  113. <!--
  114. Overridable test home. So that you can call individual pom files directly without
  115. things breaking.
  116. -->
  117. <spark.test.home>${session.executionRootDirectory}</spark.test.home>
  118.  
  119. <CodeCacheSize>512m</CodeCacheSize>
  120. </properties>

完毕。

查看Spark与Hadoop等其他组件的兼容版本的更多相关文章

  1. 对于spark以及hadoop的几个疑问(转)

    Hadoop是啥?spark是啥? spark能完全取代Hadoop吗? Hadoop和Spark属于哪种计算计算模型(实时计算.离线计算)? 学习Hadoop和spark,哪门语言好? 哪里能找到比 ...

  2. Spark学习之基础相关组件(1)

    Spark学习之基础相关组件(1) 1. Spark是一个用来实现快速而通用的集群计算的平台. 2. Spark的一个主要特点是能够在内存中进行计算,因而更快. 3. RDD(resilient di ...

  3. 【Hadoop】ZooKeeper组件

    目录 一.配置时间同步 二.部署zookeeper(master节点) 1.使用xftp上传软件包至~ 2.解压安装包 3.创建 data 和 logs 文件夹 4.写入该节点的标识编号 5.修改配置 ...

  4. Spark和hadoop的关系

    1. Spark VSHadoop有哪些异同点? Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘和数据分析. Spark:是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速, ...

  5. Spark和Hadoop作业之间的区别

    Spark目前被越来越多的企业使用,和Hadoop一样,Spark也是以作业的形式向集群提交任务,那么在内部实现Spark和Hadoop作业模型都一样吗?答案是不对的. 熟悉Hadoop的人应该都知道 ...

  6. Spark与Hadoop计算模型的比较分析

    http://tech.it168.com/a2012/0401/1333/000001333287.shtml 最近很多人都在讨论Spark这个貌似通用的分布式计算模型,国内很多机器学习相关工作者都 ...

  7. 完全卸载hadoop安装的组件(hdp版本)

    yum remove -y hadoop_* zookeeper* ranger* hbase_* ranger* hbase_* ambari-* hadoop_* zookeeper_* hbas ...

  8. 大数据 --> Spark和Hadoop作业之间的区别

    Spark和Hadoop作业之间的区别 熟悉Hadoop的人应该都知道,用户先编写好一个程序,我们称为Mapreduce程序,一个Mapreduce程序就是一个Job,而一个Job里面可以有一个或多个 ...

  9. 大数据 --> Spark与Hadoop对比

    Spark与Hadoop对比 什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法 ...

随机推荐

  1. [CSGO]跑图CFG

    bot_kick //剔除所有电脑 sv_cheats 1 //允许作弊指令 bot_stop 1 //bot静止 mp_warmup_end //结束热身时间 mp_freezetime 0 //开 ...

  2. 微信小程序组件构建UI界面小练手 —— 表单登录注册微信小程序

    通过微信小程序中丰富的表单组件来完成登录界面.手机快速注册界面.企业用户注册界面的微信小程序设计. 将会用到view视图容器组件.button按钮组件.image图片组件.input输入框组件.che ...

  3. Centos7内核版安装nginx环境问题及解决方法

    错误信息:./configure: error: C compiler cc is not found解决方案:yum -y install gcc gcc-c++ autoconf automake ...

  4. opencv —— threshold、adaptiveThreshold 固定阈值 & 自适应阈值 进行图像二值化处理

    阈值化 在对图像进行处理操作的过程中,我们常常需要对图像中的像素做出取舍与决策,直接剔除一些低于或高于一定值的像素. 阈值分割可以视为最简单的图像分割方法.比如基于图像中物体与背景之间的灰度差异,可以 ...

  5. rxjs简单的Observable用例

    import React from 'react'; import { Observable } from 'rxjs'; const FlowPage = () => { const onSu ...

  6. spring cloud微服务快速教程之(八) Spring Cloud Alibaba--nacos(二)、配置中心

    0-前言 上一篇我们介绍了nacos作为服务注册发现组件的功能,nacos还具有配置中心的功能,而且支持热加载: 在此之前,配置中心有Spring Cloud Config,实际上,用这个有很多风险和 ...

  7. Jenkins+robotframework持续集成环境(一)

    一.安装JDK 系统环境:CentOS Linux release 7.3.1611 x86_64 GNU/Linux Jenkins是基于Java开发的持续集成系统(CI),所以运行环境必须安装JD ...

  8. itest(爱测试) 4.4.0 发布,开源BUG 跟踪管理 & 敏捷测试管理软件

    itest 简介 test 开源敏捷测试管理,testOps 践行者.可按测试包分配测试用例执行,也可建测试迭代(含任务,测试包,BUG)来组织测试工作,也有测试环境管理,还有很常用的测试度量:对于发 ...

  9. #AcWing系列课程Level-2笔记——2. 归并排序算法

    归并排序算法 编写归并排序,记住下面的思路,代码也就游刃有余了! 1.首先确定数组的中间位置的分界点(下标),也就是mid=(left+right)>>1,分成left,right两段. ...

  10. 腾讯云nginx配置https

    给腾讯nginx服务器配置https, 之前申请https配置后直接给node配置了,还没有用nginx. 按照 https://cloud.tencent.com/document/product/ ...