草庐IT

s3DistCp

全部标签

java.lang.IllegalAccessError 从 Java 读取 AWS S3 配置时出错

尝试从Java访问配置时出现以下错误。Exceptioninthread"main"java.lang.IllegalAccessError:triedtoaccessmethodorg.apache.hadoop.metrics2.lib.MutableCounterLong.(Lorg/apache/hadoop/metrics2/MetricsInfo;J)Vfromclassorg.apache.hadoop.fs.s3a.S3AInstrumentationatorg.apache.hadoop.fs.s3a.S3AInstrumentation.streamCounter(

java - Apache Spark 错误使用 hadoop 将数据卸载到 AWS S3

我正在使用ApacheSparkv2.3.1并尝试在处理后将数据卸载到AWSS3。类似的东西:data.write().parquet("s3a://"+bucketName+"/"+location);配置似乎没问题:Stringregion=System.getenv("AWS_REGION");StringaccessKeyId=System.getenv("AWS_ACCESS_KEY_ID");StringsecretAccessKey=System.getenv("AWS_SECRET_ACCESS_KEY");spark.sparkContext().hadoopConf

hadoop - 至少一个文件系统不支持 ACL : Distcp HDFS

Asperdistcpdocumentation->If-paisspecified,DistCppreservesthepermissionsalsobecauseACLsareasuper-setofpermissions.buthadoopdistcp-pa-delete-update/src/path/dest/path/isfailingwithACLsnotsupportedonatleastonefilesystem.Completelogsbelow上面的命令执行失败。预期是使用ACL将hdfs文件从源复制到目标。org.apache.hadoop.tools.Copy

hadoop - 从一个集群到另一个集群的 HDFS 数据传输不适用于 distcp

我需要将HDFS数据从一个集群传输到另一个集群。我看到“distcp”命令对这种情况有帮助。但事实并非如此。两个集群Namenode都与其他数据节点私下互连。所以我有两台代理机器与名称节点公开连接。比如说,我让namenode的8070端口在haproxy中运行在20000以下。现在我可以ping两个集群名称节点了。所以,我选择了distcp选项。mapreduce作业开始执行数据传输,但尚未完成。[hdfs@ip-20-0-42-252~]$hadoopdistcphdfs://YY.YY.YY.YY:20000/user/ce_prasith/filter.txthdfs://xx

performance - 协助减少 distcp 操作的执行时间

我们有许多distcp作业将数据从我们的主集群复制到我们的备份集群。这些作业全天运行并复制关键数据库的几乎所有表。我们在这里使用webhdfs。其中一些作业运行数小时(对于巨大的表(ORC格式的))。有什么方法可以优化两个集群之间的distcp操作。欢迎提出任何建议。我们尝试使用带宽来加速。以下是我们脚本的摘录。PROP="-Dmapreduce.task.timeout=300000-Dmapred.job.queue.name=$YARN_QUEUE-Dmapred.job.name="cpy-${jobName}"-bandwidth800"hadoopdistcp${PROP}

java - Flink 1.7.1 无法通过 core-site.xml 验证 s3a

使用Flink1.7.1为kubernetes上的单个作业集群构建它flink无法加载核心站点xml尽管在类路径上,导致忽略配置,但是,如果我将ENV变量AWS_SECRET_ACCESS_KEYAWS_ACCESS_KEY_ID工作找到它,但如果我依赖于core-site.xml,那么没有环境变量它就永远无法工作。我目前正在复制core-site.xml,因为它显示在Dockerfile中,并且正如文档所说,将HADOOP_CONF_DIR作为指向它的环境变量。它仍然不加载它,导致NoCredentialsProvider。异常(exception)是:Causedby:org.ap

scala - 如何在 EMR 上使用 spark 有效地读取/解析 s3 文件夹中的 .gz 文件负载

我正在尝试通过在EMR上执行的spark应用程序读取s3目录中的所有文件。数据以典型格式存储,如“s3a://Some/path/yyyy/mm/dd/hh/blah.gz”如果我使用深度嵌套的通配符(例如“s3a://SomeBucket/SomeFolder/////*.gz”),性能会很糟糕并且需要大约40分钟阅读几万个gzip压缩的小json文件。它可以工作,但是浪费40分钟来测试一些代码真的很糟糕。我的研究告诉我还有另外两种方法性能更高。使用hadoop.fs库(2.8.5)我尝试读取我提供的每个文件路径。privatedefgetEventDataHadoop(events

scala - 我应该添加哪个依赖项以使用 intelliJ 使用 scala-spark 在 s3 中获取 txt 文件?

我正在使用IntelliJide和scala语言,我想使用IAM用户凭证访问存储在AWSS3中的文本文件。我还没有使用依赖项在我的系统上下载Hadoop。我已经使用Aws依赖项和jets3t依赖项完成了此操作。但我想用Spark来做。我遇到的基本错误是:java.lang.RuntimeException:java.lang.ClassNotFoundException:Classorg.apache.hadoop.fs.s3a.S3AFileSystemnotfound,java.lang.RuntimeException:java.lang.ClassNotFoundExcepti

Hadoop Distcp - 增加 distcp.dynamic.max.chunks.tolerable 配置和调整 distcp

我正在尝试使用distcp在两个hadoop集群之间移动数据。大量的小文件需要移动大量的数据。为了让它更快,我尝试使用-strategydynamic,根据文档,它“允许更快的数据节点比更慢的节点复制更多的字节”。我将映射器的数量设置为400。当我启Action业时,我看到此错误:java.io.IOException:使用splitRatio:2、numMaps:400创建的block太多。减少numMaps或降低拆分比率以继续。当我用谷歌搜索时,我找到了这个链接:https://issues.apache.org/jira/browse/MAPREDUCE-5402在这个链接中,作

python - Distcp 与 Hadoop 流作业

我将大致分为两部分完成的工作:我有大量数据(总计约1TB,分为数百个文件),我正在通过distcp从S3复制到HDFS该数据将由hadoop流作业(一个简单的映射器和缩减器,用python编写)处理现在,我必须等到所有数据都复制到HDFS之后,我才能开始我的实际工作。问题是:考虑到DISTCP本身就是一个map-reduce作业,有没有一种方法可以“流线化”这两个作业,即第二个作业是否可以开始处理具有已经被复制(例如distcp已经复制了一些文件,第二个作业在技术上已经可以开始了)?我希望我已经说清楚了。 最佳答案 您可以使用S3I