草庐IT

hadoop - 获取 "No space left on device"大约。 EMR m1.large 实例上的 10 GB 数据

当我使用m1.large作为作业流创建的hadoop实例的实例类型运行我的AmazonEMR作业时,我收到错误“设备上没有剩余空间”。该工作产生约。最大10GB的数据,因为m1.large实例的容量应该是420GB*2(根据:EC2instancetypes)。我很困惑为什么只有10GB的数据会导致“磁盘空间已满”之类的消息。我知道如果我们完全耗尽了文件系统上允许的inode总数,也可能会产生这种错误,但这就像一个数百万的大数字,我很确定我的工作不是产生那么多文件。我已经看到,当我尝试独立于m1.large类型创建一个EC2实例时,默认情况下它会为其分配一个8GB的​​根卷。这是否也是

hadoop - 将 s3distcp 与 Amazon EMR 结合使用以复制单个文件

我只想使用s3distcp将一个文件复制到HDFS。我试过使用srcPattern参数,但它没有帮助,它一直在抛出java.lang.Runtime异常。我正在使用的正则表达式可能是罪魁祸首,请帮忙。我的代码如下:elastic-mapreduce-j$jobflow--jars3://us-east-1.elasticmapreduce/libs/s3distcp/1.latest/s3distcp.jar--args'--src,s3:///'--args'--dest,hdfs:///output'--arg--srcPattern--arg'(filename)'异常抛出:Ex

python - mrjob:在 EMR 上设置日志记录

我正在尝试使用mrjob在EMR上运行hadoop,但不知道如何设置日志记录(用户在map/reduce步骤中生成的日志),因此我将能够在集群终止后访问它们。我尝试使用logging模块、print和sys.stderr.write()来设置日志记录,但到目前为止还没有成功。对我有用的唯一选择是将日志写入文件,然后SSH机器并读取它,但它很麻烦。我希望我的日志转到stderr/stdout/syslog并自动收集到S3,这样我就可以在集群终止后查看它们。这是带有日志记录的word_freq示例:"""TheclassicMapReducejob:countthefrequencyofw

java - 如何使用亚马逊的 EMR 在 CLI 中使用自定义 jar 指定 mapred 配置和 java 选项?

我想知道如何在使用自定义jar运行流作业时指定mapreduce配置,例如ma​​pred.task.timeout、mapred.min.split.size等。当我们使用外部脚本语言如ruby或python运行时,我们可以使用以下方式来指定这些配置:rubyelastic-mapreduce-j--stream--step-name"mystream"--jobconfmapred.task.timeout=0--jobconfmapred.min.split.size=52880--mappers3://somepath/mapper.rb--reducers3:somepath

hadoop - EMR 集群中的 "LOST"节点

如何对长期运行的EMR集群中丢失的节点进行故障排除和恢复?该节点几天前停止报告。主机似乎很好,HDFS也很好。我仅从Hadoop应用程序UI注意到该问题。 最佳答案 EMR节点是短暂的,一旦它们被标记为丢失,您就无法恢复它们。您可以首先通过在集群启动期间启用“终止保护”功能来避免这种情况。关于寻找LOST节点的原因,您可以检查集群的YARNResourceManager日志和/或实例Controller日志,以找到有关根本原因的更多信息。 关于hadoop-EMR集群中的"LOST"节点

amazon-web-services - 如何在 EMR 中设置自定义环境变量以供 spark 应用程序使用

我需要在EMR中设置一个自定义环境变量,以便在运行spark应用程序时可用。我试过添加这个:...--configurations'[{"Classification":"spark-env","Configurations":[{"Classification":"export","Configurations":[],"Properties":{"SOME-ENV-VAR":"qa1"}}],"Properties":{}}]'...还尝试用hadoop-env替换“spark-env”但似乎没有任何效果。有this来自aws论坛的回答。但我不知道如何应用它。我在EMR5.3.1上

hadoop - 使用 Hive、S3、EMR 和恢复分区加载数据

已解决:有关此问题的“解决方案”,请参阅下面的更新#2。~~~~~~~在s3中,我有一些log*.gz文件存储在嵌套目录结构中,例如:s3://($BUCKET)/y=2012/m=11/d=09/H=10/我正在尝试将这些加载到ElasticMapReduce(EMR)上的Hive,使用多级分区规范,例如:createexternaltablelogs(contentstring)partitionedby(ystring,mstring,dstring,hstring)location's3://($BUCKET)';表的创建工作。然后我尝试恢复所有现有分区:altertablel

hadoop - 如何在 AWS EMR 上重启 yarn

我正在使用Hadoop2.6.0(emr-4.2.0图片)。我在yarn-site.xml中做了一些更改,并想重新启动yarn以使更改生效。是否有我可以使用的命令? 最佳答案 编辑(2017年10月26日):有关如何执行此操作的更详细的知识中心文章已由AWS在此处正式发布-https://aws.amazon.com/premiumsupport/knowledge-center/restart-service-emr/.您可以通过ssh进入您的EMR集群的主节点并运行-"sudo/sbin/stophadoop-yarn-reso

amazon-s3 - 如何将文件从 S3 复制到 Amazon EMR HDFS?

我在EMR上运行hive,并需要将一些文件复制到所有EMR实例。据我所知,一种方法是将文件复制到每个节点上的本地文件系统,另一种方法是将文件复制到HDFS,但是我还没有找到直接从S3复制到HDFS的简单方法。解决这个问题的最佳方法是什么? 最佳答案 最好的方法是使用Hadoop的distcp命令。示例(在其中一个集群节点上):%${HADOOP_HOME}/bin/hadoopdistcps3n://mybucket/myfile/root/myfile这会将名为myfile的文件从名为mybucket的S3存储桶复制到HDFS中的

python - boto EMR 添加步骤并自动终止

python2.7.12boto3==1.3.1如何向正在运行的EMR集群添加一个步骤并在该步骤完成后终止集群,无论它是失败还是成功?创建集群response=client.run_job_flow(Name=name,LogUri='s3://mybucket/emr/',ReleaseLabel='emr-5.9.0',Instances={'MasterInstanceType':instance_type,'SlaveInstanceType':instance_type,'InstanceCount':instance_count,'KeepJobFlowAliveWhenN