Cloudera 管理Hadoop API 依赖

翻译: https://www.cloudera.com/documentation/enterprise/release-notes/topics/cdh_vd_hadoop_api_dependencies.html
版本: 5.14.2

在CDH 3中,所有Hadoop API 都被限制在单个JAR文件中(hadoop-core),只需要再加上其他一些依赖即可。

CDH 4和CDH 5更复杂:它们将MRv1和MRv2(YARN)捆绑在一起。为了简化事情,CDH 4和CDH 5提供了一种基于Maven的管理Hadoop API依赖关系方式,使您无需弄清楚提供Hadoop API所需的所有JAR文件的确切名称和位置。

在CDH 5中,Cloudera建议您使用 hadoop-client 所有客户端的工件,而不是手动管理基于JAR文件的依赖关系。

继续阅读:

  • hadoop-client
  • hadoop-client的版本
  • 将hadoop-client用于基于Maven的Java项目
  • 将hadoop-client用于基于Ivy的Java项目
  • 使用hadoop-client包中提供的JAR文件

hadoop-client

有两种不同的 hadoop-client 工件:基于Maven的项目对象模型(POM)工件和Linux软件包。前者允许您在编译和运行时为基于Maven或Ivy的项目管理Hadoop API依赖项; 后者以可以直接添加到类路径中的JAR文件集合的形式提供接口。

hadoop客户端工件的版本

CDH 5提供了两个不同的版本 hadoop-client 工件:一个用于MRv1,一个用于MRv2(YARN)。如果您使用的是基于Maven的POM hadoop-client 工件,您可以使用版本字符串来区分它们:


图片.png

更换 5.x.x 为 CDH版本号。如果您使用Linux软件包,则可以通过JAR文件的位置来区分:/usr/lib/hadoop/client-0.20 用于MRv1 API和 /usr/lib/hadoop/client 为YARN。

重要:

确保只有一个版本的 hadoop-client 工件可用于您的项目。混合MRv1和YARN hadoop-client 工件可能会导致难以调试的故障。

将hadoop-client用于基于Maven的Java项目

确保将以下依赖关系规范添加到您的 pom.xml 文件:

  
     org.apache.hadoop
     hadoop-client
     VERSION
     provided
   

见CDH版本字符串对Maven的VERSION 串。

将hadoop-client用于基于Ivy的Java项目

确保将以下依赖关系规范添加到您的 ivy.xml 文件:


字符串可以是 2.2.0-cdh5.x.x 对于YARN API或 2.2.0-mr1-cdh5.x.x MR
1 为版本号。

使用hadoop-client包中提供的JAR文件

确保你添加到你的项目中提供的所有JAR文件 /usr/lib/hadoop/client-0.20 (对于MRv1 API)或 /usr/lib/hadoop/client (对于YARN)。

例如,您可以将此位置添加到JVM类路径中:

$ export CLASSPATH=/usr/lib/hadoop/client-0.20/\*

你可能感兴趣的:(Cloudera 管理Hadoop API 依赖)