草庐IT

amazon-ebs

全部标签

hadoop - 将文件从 Amazon s3 复制到 hadoop

我发现了类似的问题,但没有一个能回答我的问题:使用hadoopdistcp或s3-dist-cp在Hadoop和S3之间移动文件时,我应该在哪里存储凭据?我创建了一个新的AmazonEMR集群,现在我想从S3存储桶复制文件。以下方法不起作用:使用hadoopdistcp我在url中对凭据进行了编码:hadoopdistcps3n://:@/pathhdfs://但似乎该软件无法处理包含+的awskey或/,这种情况经常发生。使用urlencode对key进行编码不起作用,但会产生另一个错误,例如:java.lang.IllegalArgumentException:Bucketname

java - Hadoop 2.6.x 和 Amazon AWS SDK Library 冲突 http-core 冲突

我的工作是将每条记录写入Hadoop映射中的DynamoDB。我无法使用具有httpclient-4.2.5.jar和httpcore-4.2.5.jar的Hadoop2.6运行它。我使用的AWS是使用httpclient-4.5.2.jar和httpcore-4.4.4.jar构建的。当我使用类路径来包含新的jar文件时,出现以下异常。java.lang.Exception:java.lang.NoSuchFieldError:INSTANCEatorg.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.j

hadoop - 将中间 Amazon EMR 任务输出写入 S3

我正在运行一个输出数千GB数据的EMR作业。每个map任务输出10GB的数据,据我所知,这些中间输出存储在运行map任务的机器的磁盘上。因此,在同一台机器处理了多个map任务后,它会耗尽磁盘空间来存储这些map任务的中间结果。我知道如何在S3上存储最终结果(在reducer运行之后),但是有没有办法将中间输出(映射器的结果)也存储在S3上?不幸的是,仅仅分配更多的机器(或具有更多内存的机器)并不是一个实际的解决方案,因为我将在数百TB的数据上运行相同的作业。如有任何帮助,我们将不胜感激。 最佳答案 为了防止其他人遇到这个问题,我无法

hadoop - 步骤因 exitCode、Amazon Emr Hadoop、S3DistCp 而失败

我正在尝试创建一个“步骤”并将许多小文件收集到一个文件中,这样我就可以将它分开几天。问题是我正在跑intetando却不让我跑。执行它对我来说效果很好命令:hadoopdistcps3n://buket-name/output-files-hive/*s3n://buket-name/files-hive/test但是如果我已经输入了命令“groupby”或“srcPattern”,它不会让我有任何东西。在AmazonEMR控制台中创建“步骤”后,始终出现错误。你指出了文件命令:awsemradd-steps--cluster-idj-XXXXXXX--stepsName="S3Dis

ruby - 如何通过 Ruby 连接到 Amazon EMR Hive?

我想从Ruby连接到AWSEMRHive实例。我找到了https://github.com/forward3d/rbhive,但不确定服务器地址是否与Hadoop服务器地址相同,也不确定Hive正在监听的端口。 最佳答案 对于AWSEMRHive,这是您连接到默认版本的方式。RBHive.tcli_connect('',10_000)do|connection|connection.fetch('SHOWTABLES')end并且Hive监听端口10000以获取Hive0.13.1版本。如果您想连接到不同的版本,请检查此链接。htt

amazon-web-services - 由 s3 透明支持的 EMR hdfs

有了hadoop,我可以使用s3作为存储url。但目前我有很多使用hdfs://...的应用程序,我想将整个集群和应用程序迁移到EMR和s3。我是否必须将每个应用程序中的url从hdfs://...更改为s3://...或者是否可以以某种方式告诉EMR存储s3上的hdfs内容所以每个应用程序仍然可以使用hdfs://...但实际上它会指向s3?如果是,怎么办? 最佳答案 这是一个很好的问题。有协议(protocol)欺骗这样的东西吗?您真的可以通过编写覆盖协议(protocol)处理方式的内容来影响此行为吗?老实说,这种解决方案让我

hadoop - 用于 sqoop 导入的 Oozie 工作流在 Amazon emr hue 中失败

我创建了一个oozie工作流来执行从mysql到hive系统的sqoop导入。我用于创建sqoop作业的Sqoop作业成功运行,但是当我尝试执行作业以从MySQL导入Hive时,它​​失败了。这里我附上了日志sqoop--hive-import(失败的sqoop操作所做的)分两步发生。首先将sqoop导入到HDFS目录(我的xml中引用了targetDir)。然后将此sqoop导入的输出移动并导入到Hive中。当我通过oozie运行我的sqoop作业时,我在targetDir中看到一个_SUCCESS文件,表明sqoop导入成功。只有后期(第2步)失败了。我以hue用户身份运行Oozi

amazon-web-services - AWS EMR jupyter 密码

我正在使用EMR并想使用jupyter(ipython),所以我向集群添加了引导操作:s3://elasticmapreduce.bootstrapactions/ipython-notebook/install-ipython-notebook我执行了端口隧道以从我的本地主机访问jupyter并且工作正常,但它要求输入登录密码,尝试为空,尝试hadoop,但没有运气,有人知道jypyter密码是什么吗? 最佳答案 当我使用相同的引导操作时,我也遇到了这个问题。我试着加入Args=[--password,jupyter]我也无法工作

amazon-web-services - Amazon S3 错误代码 403 禁止进入 EMR 集群

我知道这个问题可能被问过多次,但我尝试了这些解决方案,但没有成功。因此,在新线程中询问它以获得确定的解决方案。我创建了一个具有S3只读权限(在所有S3资源上获取和列出)的IAM用户,但是当我尝试使用HDFS命令从EMR集群访问S3时,它会针对某些文件夹抛出“错误代码403禁止访问”异常。其他帖子的人回答是权限问题;我没有找到正确的解决方案,因为它是“禁止”而不是“拒绝访问”。此错误的行为仅针对存储桶内的某些文件夹(包含对象)和某些空文件夹出现。据观察,如果我使用nativeAPI调用,那么它会正常工作,如下所示:使用s3a调用时出现“禁止”异常:hdfsdfs-lss3a:///使用s

amazon-web-services - AWS Data Pipeline 中有任何东西可以通过决策脚本停止执行特定事件吗?

我们的数据管道中有5个管道,它们在以下基础上执行:管道1-管道4=每天管道5-月底。我们正在考虑为管道5创建单独管道的选项,因为它对其他管道没有任何依赖性。有没有什么办法可以执行除管道5之外的所有管道,就像我们在OOZIE中所做的那样,它可以成功地忽略管道5的执行并完成管道而没有任何“错误”/“等待依赖项”状态? 最佳答案 您最好创建多个管道并将它们设置在不同的时间表上。如果您想让事情变得有趣,您可以使用Cloudwatch调度和AWSLambda以类似cron的方式安排管道创建/删除。您还可以使用AWSStep函数来定义每个组件的