我正在使用amazonaws、dynamodb和emr集群进行hadoop流媒体。我的任务写在发电机表上。我需要建立并遵守一个向表写入数据的上限,比如50%的写入吞吐量。
我可以查询表的write throughput设置,除以mapred.reduce.tasks,再乘以50%,得到每个任务表的write throughput下限。更好的是,我想查询当前正在处理的reduce任务的数量,以获得每个reduce任务的确切写入吞吐量上限,但我不知道如何获得该数字。我在jobtracker中看到了它,它显示了任务总数、挂起的任务和正在处理的任务。
另一种不那么灵活的方法是使用hadoop流参数“-numreducetasks”设置任务数。
1条答案
按热度按时间hgtggwj01#
你应该使用
JobTracker
这里描述的api。特别是,你有兴趣打电话
getClusterStatus
这将给你一个ClusterStatus
对象的详细信息。从那时起,只需打个电话getReduceTasks
这将为您提供集群中当前正在运行的reduce任务数。你也可以通过使用
getClusterMetrics
提供类似信息的方法。