草庐IT

hadoop - 在 Amazon EMR 中的所有 Hadoop 节点上运行脚本

如何在AmazonEMR上的所有节点(主节点和从节点)上运行脚本,script-runner.jar仅在Namenode上运行。 最佳答案 您有Bootstrap选项:您可以使用引导操作来安装其他软件并更改集群上应用程序的配置。引导操作是在AmazonEMR启动集群时在集群节点上运行的脚本。它们在Hadoop启动之前和节点开始处理数据之前运行。您可以创建自定义引导操作,或使用AmazonEMR提供的预定义引导操作。来自文档:http://docs.aws.amazon.com/ElasticMapReduce/latest/Deve

hadoop - 如何静音 apache zookeeper 调试消息 (AWS EMR)?

如何在AWSElasticMapReduce主节点上静音DEBUG消息?hbase(main):003:0>listTABLEmydb1row(s)in0.0510secondshbase(main):004:0>00:25:17.104[main-SendThread(ip-172-31-14-206.ec2.internal:2181)]DEBUGorg.apache.zookeeper.ClientCnxn-Gotpingresponseforsessionid:0x1493a5c3b78001bafter1mshbase(main):005:0*00:26:17.165[mai

java - AWS EMR Step 失败,因为它创建的作业失败

我正在尝试分析Wikipediaarticleviewdataset使用亚马逊电子病历。该数据集包含三个月期间(2011年1月1日至2011年3月31日)的页面浏览统计数据。我试图找到那段时间浏览量最多的文章。这是我正在使用的代码:publicclassmostViews{publicstaticclassMapextendsMapReduceBaseimplementsMapper{privatefinalstaticIntWritableviews=newIntWritable(1);privateTextarticle=newText();publicvoidmap(LongWr

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