我是whirr和AWS的新手,所以如果我问的问题很愚蠢,请提前致歉。我遵循指示here设置whirr和bin/whirrlaunch-cluster--confighadoop.properties失败并出现以下情况:[~/src/cloudera/whirr-0.1.0+23]$bin/whirrversionrvm:ruby-1.8.7-p299ApacheWhirr0.1.0+23[~/src/cloudera/whirr-0.1.0+23]$bin/whirrlaunch-cluster--confighadoop.propertiesrvm:ruby-1.8.7-p299La
我计划将AmazonEMR用于SparkStreaming应用程序。亚马逊提供了一个很好的界面来显示标准错误和Controller日志。但是对于流式应用程序,我不确定如何管理日志。亚马逊将数据记录到/var/log/hadoop/steps/和Spark的类似地方。http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-manage-view-web-log-files.html我想知道我们如何轮换日志并且仍然可以通过awsemrWeb界面访问。我们可以通过配置hadoop-log4j轻松更改日志轮换策
我正在尝试使用hdfs命令访问amazonS3存储桶。这是我运行的命令:$hadoopfs-lss3n://:@/tpt_files/-ls:InvalidhostnameinURIs3n://:@/tpt_filesUsage:hadoopfs[genericoptions]-ls[-d][-h][-R][...]我的SecretAccessKey包含“/”。这可能是造成这种行为的原因吗?与此同时,我在此服务器上安装了awscli,我可以使用awscli毫无问题地访问我的存储桶(在.aws/credentials中配置的AccessKeyId和SecretAccessKey):aws
我正在使用下表来处理大约15GB(.gz压缩)的iislog。使用亚马逊EMR(1个中型主实例、4个大型核心实例、2个任务实例)。甚至需要大约1小时才能获得此查询的结果:selecturi,cs_CookieasCookie,count(*)ashitsfromtmp1groupbycs_Cookie,uriorderbyhitsDesc;我看到所有DataNode上的cpu利用率每次都是100%。那么,有人可以建议如何减少查询时间和cpu利用率吗?表定义:createexternaltablemarData(logdatestring,timestring,computernames
我开始在HadoopMapReduce框架上实现KMeans算法。在这方面,我正在使用AmazonWebServices提供的弹性MapReduce。我想创建一个HDFS文件以在其上保存初始集群坐标,并在其上存储reducer的最终结果。我在这里完全困惑。无论如何要创建或“上传”这个文件到HDFS格式,以便所有映射器都能看到。有这方面的说明吗?谢谢。 最佳答案 最后我知道了怎么做。所以,为了将HDFS文件上传到集群中。您必须通过Putty连接到您的集群(通过使用安全key)。然后编写这些命令hadoopdistcps3://buck
有了hadoop,我可以使用s3作为存储url。但目前我有很多使用hdfs://...的应用程序,我想将整个集群和应用程序迁移到EMR和s3。我是否必须将每个应用程序中的url从hdfs://...更改为s3://...或者是否可以以某种方式告诉EMR存储s3上的hdfs内容所以每个应用程序仍然可以使用hdfs://...但实际上它会指向s3?如果是,怎么办? 最佳答案 这是一个很好的问题。有协议(protocol)欺骗这样的东西吗?您真的可以通过编写覆盖协议(protocol)处理方式的内容来影响此行为吗?老实说,这种解决方案让我
我正在使用EMR并想使用jupyter(ipython),所以我向集群添加了引导操作:s3://elasticmapreduce.bootstrapactions/ipython-notebook/install-ipython-notebook我执行了端口隧道以从我的本地主机访问jupyter并且工作正常,但它要求输入登录密码,尝试为空,尝试hadoop,但没有运气,有人知道jypyter密码是什么吗? 最佳答案 当我使用相同的引导操作时,我也遇到了这个问题。我试着加入Args=[--password,jupyter]我也无法工作
我知道这个问题可能被问过多次,但我尝试了这些解决方案,但没有成功。因此,在新线程中询问它以获得确定的解决方案。我创建了一个具有S3只读权限(在所有S3资源上获取和列出)的IAM用户,但是当我尝试使用HDFS命令从EMR集群访问S3时,它会针对某些文件夹抛出“错误代码403禁止访问”异常。其他帖子的人回答是权限问题;我没有找到正确的解决方案,因为它是“禁止”而不是“拒绝访问”。此错误的行为仅针对存储桶内的某些文件夹(包含对象)和某些空文件夹出现。据观察,如果我使用nativeAPI调用,那么它会正常工作,如下所示:使用s3a调用时出现“禁止”异常:hdfsdfs-lss3a:///使用s
我们的数据管道中有5个管道,它们在以下基础上执行:管道1-管道4=每天管道5-月底。我们正在考虑为管道5创建单独管道的选项,因为它对其他管道没有任何依赖性。有没有什么办法可以执行除管道5之外的所有管道,就像我们在OOZIE中所做的那样,它可以成功地忽略管道5的执行并完成管道而没有任何“错误”/“等待依赖项”状态? 最佳答案 您最好创建多个管道并将它们设置在不同的时间表上。如果您想让事情变得有趣,您可以使用Cloudwatch调度和AWSLambda以类似cron的方式安排管道创建/删除。您还可以使用AWSStep函数来定义每个组件的
所以我试图从一个步骤中找出EMR集群创建配置单元表所需的最低权限。我发现它需要来自dynamodb的东西,因为它不会工作,除非策略中有“dynamodb:*”(它确实在集群上设置了一致的View)。我想知道它需要的特定权限,而不是通配所有权限。这样做的一种蛮力方法是,我使用一个列出所有dynamodb操作的策略,然后我将它们一个一个地删除,并在集群上的一个步骤中再次创建该表,以查看它是否失败。但是当我使用通配符时它起作用了,但列出所有通配符却不起作用。当我使用时:{"Version":"2012-10-17","Statement":[...(otherstuff){"Effect":