• hadoop+spark集群的版本关系


    刚开始部署分布式计算的时候,常常会遇到这样的问题;如何搭配不同软件的版本呢?我们来梳理一下他们的关系。

    1首先hadoop的底层开发是基于java开发的,自然是依赖于java的版本。

    2另外spark的底层开发是基于scala开发的,而scala是一种范式语言,两者的共同点是都需要在JVM上运行。范式语言的好处是可以支持java,或者python。不会受到开发语言的过分限制。

    3目前hadoop有两个大版本,hadoop2.x 和 hadoop3.x;关于两者的区别,可以移步了解下。对于新手自然推荐先使用hadoop2.x;当熟练之后再考虑搭建hadoop3.x提升效率。这里要特别注意的是hadoop2.x都是基于java7开发的,这是最大的前提,hadoop3.x是基于java8开发的。这也是版本之间最大的区别。虽然都是java,但是他们之间的区别还是需要注意的。

    4选择好hadoop版本之后,就是选择相搭配的scala+spark;在spark官网有这样一句话,非常清楚告诉我们选择的遵循规律。

    总结一下如下表所示,这里我依然推荐新手选择低版本配置,情况1最佳。这样遇到问题也好解决。

    版本号 scala spark
    情况1 2.11 2.x(不包括2.4.2)
    情况2 2.12 2.4.2
    情况3 2.12 3.0+

    综上所述我们基本上就确定了版本的配置问题。

    可能还会有人问具体的版本配置没有限制要求么?我们先看一下大神的版本配置:

    java7--Hadoop2.6.4(2016年2月12日)--scala2.11.6(2015年2月26日)--spark2.0.0(2016年7月26日)

    java8--Hadoop3.1.1(2019年)--scala2.11.x(2016年2月12日)--spark2.3.2(2016年2月12日)

    由上可见,这个集群配置还是相对非常宽松的。注意好上面提出的点,可以大胆选择配置。

    补充1:

           当我配置hadoop2.10.0+scala2.11.6+spark2.4.6的时候,打开spark会出现如下错误。可见我们安装的spark版本过高,导致JVM无法适配。应该将spark改装低版本的才行。

  • 相关阅读:
    js监听手机端点击物理返回键或js监听pc端点击浏览器返回键
    mysql存储emoji问题
    windows环境下 php 将office文件(word/excel/ppt)转化为pdf
    javascript 获取多种主流浏览器显示页面高度
    iframe 加载外部资源,显示隐藏loading,onload失效
    ubuntu 忽略文件的50unattended升级问题
    ubuntu apt 软件源的更改
    Python3.6连接mysql(一)
    H5图片预览、压缩、上传
    前端如何上传图片到七牛云
  • 原文地址:https://www.cnblogs.com/bobyin/p/13234665.html
走看看 - 开发者的网上家园