亚马逊网络服务EMR文件系统
我正在尝试在AWS EMR群集上运行一份工作.我得到的问题是: aws java.io.io.ioexception:无针对计划的文件系统:HDFS 我不知道我的问题到底在哪里(在我的Java Jar工作或作业的配置中) 在我的S3存储桶中,要制作一个文件夹(输入),其中我将一堆文件放在我的数据中.然后在参数中给出输入文件夹的路径,然后将相同的路径用作fileInputpath.getInputpath(args [0]). 我的问题是 - 首先,该作业会在输入文件夹中获取所有文件并全部处理它们,否则我必须提供每个文件的所有路径? 第二个问题 - 如何解决上述例外? 谢谢 解决方案 将输入文件保留在S3中.例如s3://mybucket/input/ 将所有文件保留在我的存储桶下方的输入文件夹中. 在您的地图中,降低使用代码如下 FileInputFormat.addInputPath(job,"s3n://mybucket/inp
0 2024-01-26
编程技术问答社区
在我输出到HDFS的EMR工作中使用darcp和s3distcp的问题
我已经在AWS的EMR上运行了一份工作,并将输出存储在EMR作业的HDFS中.然后,我正在尝试通过DISTCP或S3DISTCP将结果复制到S3,但是两者都如下所述失败. (注意:我不仅将EMR作业的输出直接发送到S3的原因是由于我在在我完成的工作中,我的AWS EMR还原器输出在哪里(应该在S3上,但是那里什么都没有)? 对于distcp,我运行(以下这篇文章的建议): elastic-mapreduce --jobflow --jar \ s3://elasticmapreduce/samples/distcp/distcp.jar \ --args -overwrite \ --args hdfs:///output/myJobOutput,s3n://output/myJobOutput \ --step-name "Distcp output to s3" 在错误日志中 With failures, global
0 2024-01-26
编程技术问答社区
AWS Elastic mapreduce似乎没有正确地将流媒体转换为jar格式。
我有一个映射器和还原器,当我在管道版本中运行它们时可以正常工作: cat data.csv | ./mapper.py | sort -k1,1 | ./reducer.py 我使用了Elastic MapReducer向导,已加载的输入,输出,引导程序等.Bootstrap成功了,但是我仍会遇到执行错误. 这是我在步骤1中遇到的错误... + /etc/init.d/hadoop-state-pusher-control stop + PID_FILE=/mnt/var/run/hadoop-state-pusher/hadoop-state-pusher.pid + LOG_FILE=/mnt/var/log/hadoop-state-pusher/hadoop-state-pusher.out + SVC_FILE=/mnt/var/lib/hadoop-state-pusher/run-hadoop-state-pusher + case $1 in + s
2 2024-01-26
编程技术问答社区
亚马逊Elastic MapReduce Bootstrap Actions不工作
我尝试了以下Bootstrap动作的组合来增加我的工作量,但它们似乎都没有用: --mapred-key-value mapred.child.java.opts=-Xmx1024m --mapred-key-value mapred.child.ulimit=unlimited --mapred-key-value mapred.map.child.java.opts=-Xmx1024m --mapred-key-value mapred.map.child.ulimit=unlimited -m mapred.map.child.java.opts=-Xmx1024m -m mapred.map.child.ulimit=unlimited -m mapred.child.java.opts=-Xmx1024m -m mapred.child.ulimit=unlimited 什么是正确的语法? 解决方案 您有两个选择: 自定义JVM设置
6 2024-01-26
编程技术问答社区
用于Hadoop的DynamoDB输入格式
我必须使用Hadoop Map减少处理一些在Amazon Dynamo DB中持续存在的数据. 我正在通过Internet搜索Hadoop InputFormat以寻找Dynamo DB,但找不到它.我不熟悉Dynamo DB,所以我猜想有一些与DynamoDB和Hadoop有关的技巧?如果有此输入格式的任何实现,您可以分享吗? 解决方案 在大量搜索之后,我在亚马逊的一个库中找到了DynamoDbinputFormat和DynamoDboutputformat. 在Amazon弹性地图上,有库称为Hive-Bigbird Handler,其中包含DynamoDB的输入和输出格式. 完整的班级名称为:org.apache.hadoop.hive.dynamodb.write.dynamodboutputformat和org.apache.hadoop.hadoop.hive.hive.dynamodb.dynamodb.dynamodbinpunputformat
亚马逊EMR:配置数据节点上的存储
我正在使用Amazon EMR,我可以很好地运行大多数作业.当我开始加载并在EMR集群中生成更多数据时,我会遇到问题.集群耗尽存储空间. 每个数据节点是C1.Medium实例.根据链接在这里和当我在Namenode上运行hadoop dfsadmin -Report时,每个数据节点的存储空间约为10GB.通过运行DF -H 进一步验证了这一点 hadoop@domU-xx-xx-xx-xx-xx:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 9.9G 2.6G 6.8G 28% / tmpfs 859M 0 859M 0% /lib/init/rw udev 10M 52K 10M 1% /dev tmpfs 859M 4
2 2024-01-26
编程技术问答社区
在亚马逊EMR上从java使用hbase的问题
因此,我试图使用自定义JAR I启动作为MAPREDUCE步骤来查询我的HBase群集在Amazon EC2上.我是我的罐子(在地图功能中),我将HBase称为: public void map( Text key, BytesWritable value, Context contex ) throws IOException, InterruptedException { Configuration conf = HBaseConfiguration.create(); HTable table = new HTable(conf, "tablename"); ... 问题是,当它到达该线路线并试图连接到HBase时,步骤失败,我会得到以下错误: 2014-02-28 18:00:49,936 INFO [main] org.apache.zookeeper.ZooKeeper: Initiating client connection,
2 2024-01-26
编程技术问答社区
Hive-split数据跨文件
有没有办法指示Hive将数据拆分为多个输出文件?或者也许是输出文件的大小. 我打算使用Redshift,建议将数据分配到多个文件中以允许并行加载我们在Hive中预处理所有数据,我想知道是否有一种创建方法,例如10 1GB文件,可以更快地复制到Redshift. 我正在寻找 https://cwiki.apache.org/hive/hive/hive/adminmanual-configuration.htmfiguration.htmuration.htmltmltmltmlfun/a>和 https://cwiki.apache.org/conflue/confluence/display/display/display/hive/chive/configuration+Configuration+Configuration+Properperties+Properperties+Properperties+Properperties+Properperties+Prop
2 2024-01-26
编程技术问答社区
Hadoop中分布式缓存的寿命
当文件使用Hadoop流词中的分布式缓存机制传输到节点时,在作业完成后,系统是否删除这些文件?如果删除它们,我认为它们是什么,是否有一种方法可以使缓存保留在多个工作中?这在亚马逊的弹性MapReduce上以相同的方式工作吗? 解决方案 我在源代码中进行挖掘,并且当他们的参考计数降至零时,大约每分钟删除了TrackerDistributedCacheManager的文件. TaskRunner在任务结束时明确释放其所有文件.也许您应该编辑TaskRunner不执行此操作,并通过更明确的方式控制缓存? 其他解决方案 i Cross在AWS论坛上发布了这个问题并有一个很好的建议,可以使用hadoop fs -get以跨作业持续存在的方式传输文件.
2 2024-01-26
编程技术问答社区
用Hive、S3、EMR和恢复分区加载数据
已解决:有关此问题的"解决方案",请参见下面的更新#2. ~~~~~~~~ 在S3中,我有一些log*.gz文件存储在嵌套目录结构中,例如: s3://($BUCKET)/y=2012/m=11/d=09/H=10/ 我正在尝试使用多级分区规格上的弹性地图减少(EMR)将它们加载到Hive中. create external table logs (content string) partitioned by (y string, m string, d string, h string) location 's3://($BUCKET)'; 创建桌子有效.然后,我尝试恢复所有现有分区: alter table logs recover partitions; 这似乎有效,并且确实通过我的S3结构进行了钻探并添加所有各个级别的目录: hive> show partitions logs; OK y=2012/m=11/d=06/h=08 y
8 2024-01-26
编程技术问答社区
我的AWS EMR减速器输出的完成作业在哪里(应该在S3上,但那里没有)?
我有一个问题,我在AWS的EMR上的Hadoop工作没有保存到S3.当我在较小的样本上运行作业时,工作将输出存储正好.当我运行相同的命令但在完整数据集中时,作业再次完成,但是S3上没有任何目前指定输出要进行的. 显然有一个其他人遇到这个问题吗?我仍然在网上拥有集群,希望数据掩埋在服务器上的某个地方.如果有人知道我可以在哪里找到这些数据,请让我知道! 更新:当我查看其中一个还原器的日志时,一切看起来都很好: 2012-06-23 11:09:04,437 INFO org.apache.hadoop.fs.s3native.NativeS3FileSystem (main): Creating new file 's3://myS3Bucket/output/myOutputDirFinal/part-00000' in S3 2012-06-23 11:09:04,439 INFO org.apache.hadoop.fs.s3native.NativeS3FileSy
0 2024-01-25
编程技术问答社区
在AWS EC2上调度一个作业
我有一个在AWS EC2上运行的网站.我需要创建一个夜间作业,该作业生成站点地图文件并将文件上传到各种浏览器.我正在寻找允许此功能的AWS上的实用程序.我已经考虑了以下内容: 1)生成对Web服务器的请求,该请求触发它执行此任务 我不喜欢这种方法,因为它绑定了服务器线程并在主机上使用CPU周期 2)在机器上创建一个CRON作业,Web服务器正在运行以执行此任务 再次,我不喜欢这种方法,因为它将CPU循环从Web服务器中删除 3)创建另一个EC2实例并设置一个CRON作业以运行任务 这解决了Web服务器资源问题,但是为什么还要支付额外的EC2实例来运行 还有其他选择吗?这是弹性的工作吗? 解决方案 Amazon刚刚发布了弹性豆键的新功能[1].现在,您可以创建一个包含cron.yaml的工人环境,该环境配置了使用cron语法调用URL的调度任务: http://docs.aws.amazon.com/elasticbeanbeanstalk
2 2024-01-25
编程技术问答社区
从Hadoop中删除文件/文件夹
我正在在数据管道中运行EMR活动,以分析日志文件,当我的管道失败: 时,我会遇到以下错误 Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://10.208.42.127:9000/home/hadoop/temp-output-s3copy already exists at org.apache.hadoop.mapred.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:121) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:944) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:905) a
0 2024-01-25
编程技术问答社区
如何在Hadoop 2.4.0中精确设置每个节点并发运行任务的最大数量,在Elastic MapReduce上
根据min (yarn.nodemanager.resource.memory-mb / mapreduce.[map|reduce].memory.mb, yarn.nodemanager.resource.cpu-vcores / mapreduce.[map|reduce].cpu.vcores) . 但是,将这些参数设置为(对于C3.2xlarges的群集): yarn.nodemanager.resource.memory-mb = 14336 mapReduce.map.memory.mb = 2048 yarn.nodemanager.resource.cpu-vcores = 8 mapReduce.map.cpu.vcores = 1, 我发现,当公式说7应该是时,我只能在每个节点同时执行4个任务.有什么交易? 我在AMI 3.1.0上运行Hadoop 2.4.0. 解决方案 我的经验公式不正确. Cloudera提供的
在启动时将Python文件从S3复制/使用到Amazon Elastic MapReduce中
我已经想出了如何使用BOTO在引导步骤安装Python软件包(Numpy等),以及将文件从S3复制到我的EC2实例,仍然使用Boto. . 我尚未确定的是如何使用BOTO将python脚本(或任何文件)从S3存储键分配到每个EMR实例.有指针吗? 解决方案 如果您使用的是boto,我建议在存档(.tar.gz格式)中包装所有Python文件,然后在Hadoop/Emr中使用Cachearchive指令访问它. 这就是我要做的: 将所有必要的Python文件放在子目录中,例如"必需/",然后在本地进行测试. 创建以下内容的存档:cd必需&& tar czvf必要.tgz * 将此存档上传到s3:s3cmd put oirces.tgz s3://yourbucket/required.tgz 将此命令行选项添加到您的步骤:-CACHEREARCHIVE S3://yourbucket/required.tgz#required 最后一步将确保包含Pyth
0 2024-01-25
编程技术问答社区
写1亿个文件到s3
我的主要目的是根据每个记录的ID将记录拆分为文件,目前有超过150亿的记录可以增加.我需要使用Amazon EMR的可扩展解决方案.我已经为一个大约9亿张记录的较小数据集完成了此操作. 输入文件为CSV格式,其中一个字段需要是输出中的文件名. 因此,说有以下输入记录: awesomeId1, somedetail1, somedetail2 awesomeID1, somedetail3, somedetail4 awesomeID2, somedetail5, somedetail6 现在,现在2个文件应为输出,一个文件命名为awesomeID1.dat,另一个称为awesomeID2.dat,每个文件都有与各自ID有关的记录. 输入的大小:每月总计600 GB(Gzippef文件的大小),每个文件约为2 3 GB.我需要一次处理大约6个月或更长时间.因此总数据大小为6*600 GB(压缩). 以前,我使用FileByKeyTextOutputFormat
0 2024-01-25
编程技术问答社区
使用s3distcp从亚马逊s3复制文件到hdfs失败
我正在尝试使用EMR中的工作流将文件从S3复制到HDF,并且当我运行以下命令时成功启动JobFlow,但是当该文件试图将文件复制到HDFS时,我需要设置任何输入.文件权限? 命令: ./弹性-mapreduce -Jobflow J-35D6Joyedcela -jar s3://us-east-1.elasticmapreduce/libs/s3distcp/1.latest/s3distcp.jar--s3distcp.jar-args-args-args'-args'-src,s3:s3:s3::s3::s3:://odsh/input/, - dest,hdfs:///用户 输出 task taskID =" task_201301310606_0001_r_000000" task_type ="降低" task_status =" Failed" fination_tir_time =" 1359612576612"错误=" .dat等 在com.am
2 2024-01-25
编程技术问答社区
将Hive表导出到S3桶中
我已经通过弹性MapReduce Interactive会话创建了一个蜂巢表,并从类似的CSV文件中填充了它: CREATE TABLE csvimport(id BIGINT, time STRING, log STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; LOAD DATA LOCAL INPATH '/home/hadoop/file.csv' OVERWRITE INTO TABLE csvimport; 我现在想将蜂巢表存储在S3存储桶中,因此一旦我终止MapReduce实例,就保留了表. 有人知道该怎么做吗? 解决方案 是的,您必须在Hive Session的开始和结尾导出和导入数据 要执行此操作,您需要创建一个映射到S3桶和目录 的表格 CREATE TABLE csvexport ( id BIGINT, time STRING, log STRING )
0 2024-01-25
编程技术问答社区
备份AWS Dynamodb到S3
在 Amazon Docs http://aws.amazon.com/dynamodb/除其他地方,您可以使用弹性映射减少备份DynamoDB表, 我对这可能如何工作有一般的了解,但我找不到任何指南或教程, 所以我的问题是如何自动化DynamoDB备份(使用EMR)? 到目前为止,我认为我需要使用映射功能创建一个"流"作业,该函数读取DynamoDB的数据,并将其写入S3,我相信可以用Python(或Java或一些其他语言). 对任何评论,澄清,代码样本,更正都表示赞赏. 解决方案 介绍AWS数据管道,并带有用于DynamoDB到S3备份的现成模板,最简单的方法是安排数据管道中的备份 [link] , 如果您有特殊需求(数据转换,非常好的谷物控制...)考虑@greg 的答案 其他解决方案 有一些用于使用MapReduce和DynamoDB的好指南.我跟随这一天这是一个,并将数据导出到S3的情况下毫不痛苦地进行.我认为您最好的选择是创建执行备
6 2024-01-25
编程技术问答社区
Elasticsearch可以跨多个索引和多种类型进行查询
我是新手到Elasticsearch .i我正在使用AWS弹性搜索实例5.1.1. 我有一个要求我需要在Elasticsearch的请求主体中指定多个索引和类型进行搜索操作,是否有可能?最简单的方法是一个示例,将不胜感激. 预先感谢! 解决方案 参考文档您可以尝试按下以下简单的卷发 curl -XGET 'localhost:9200/_search?pretty' 理想情况下应该查询所有索引和类型. 希望这会有所帮助! 其他解决方案 创建规范请求时,您需要用 (例如 )编码URI > str.replaceAll("%20", " "))).toString() > .replaceAll("%3A", ":") > .replaceAll("%2F", "/") > .replaceAll("%3B", ";") >
0 2024-01-24
编程技术问答社区