EM-5上的S3-Dist-Cp失败

时间:2016-10-02 03:40:09

标签: amazon-web-services amazon-emr s3distcp

我在emr-5.0.0版本中面临s3-dist-cp命令的问题。在我的应用程序中,我需要将一些文件从hdfs推送到S3。我正在使用s3-dist-cp命令来实现这一目标。它在emr-4.2.0中运行良好。但它不适用于emr-5.0.0。如果我手动运行该命令它工作正常。但它在我的申请中失败了。我没有对我的应用程序进行任何更改,无法在emr-5上运行它。

如果我需要使用emr-5,是否需要进行任何更改?我们在emr-5中使用s3-dist-cp命令的方式有什么变化吗?

我正在使用以下命令:

s3-dist-cp --src /user/hive/warehouse/abc.text --dest s3n://bucket/abc.text

3 个答案:

答案 0 :(得分:1)

s3-dist-cp仅在主节点上可用(s3-dist-cp.jar)。

以下是申请的位置。

/usr/share/aws/emr/s3-dist-cp/

s3-dist-cp.jar在从属节点中不可用
您可以登录到从机并验证它。

因此,您的应用程序失败的原因可能是,在新的emr中,您可能正在使用一些工作流管理工具,该工具在从属服务器上部署应用程序并从那里开始。由于s3 s3-dist-cp不可用而且失败。

解决方法 第一个选项

捆绑jar并使用以下命令

hadoop jar s3-dist-cp.jar --src location --dest location 

<强>第二

引导绑定群集上的s3-dist-cp.jars

您甚至可以将其作为java程序运行

答案 1 :(得分:0)

您用于s3-dist-cp的语法不正确。请使用以下命令再试一次。

s3-dist-cp --src hdfs:///user/hive/warehouse/abc.text --dest s3n://bucket/abc.text

如果这可以解决您的问题,请告诉我。

答案 2 :(得分:0)

首先,s3n://现已弃用,开始使用s3://作为S3路径。

其次,如果您只是从群集中的本地文件将文件复制到S3,则可以使用aws s3 cp

aws s3 cp /user/hive/warehouse/abc.text s3://bucket/abc.text