为了账号安全,请及时绑定邮箱和手机立即绑定

如何查看hadoop集群中可用的map数目

如何查看hadoop集群中可用的map数目

DIEA 2018-11-27 01:00:09
如何查看hadoop集群中可用的map数目
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

 2.0版本之前可以通过hadoop自带的web管理界面查看,端口是50030;2.0之后没有map和reduce
slot的概念,所以也就没有map数量一说,改成了直接对资源进行管理。

  释义:

  map的数量

  map的数量通常是由hadoop集群的DFS块大小确定的,也就是输入文件的总块数,正常的map数量的并行规模大致是每一个Node是10~100个,对于CPU消耗较小的作业可以设置Map数量为300个左右,但是由于hadoop没一个任务在初始化时需要一定的时间,因此比较合理的情况是每个map执行的时间至少超过1分钟。具体的数据分片是这样的:

  InputFormat在默认情况下会根据hadoop集群的DFS块大小进行分片,每一个分片会由一个map任务来进行处理,当然用户还是可以通过参数mapred.min.split.size参数在作业提交客户端进行自定义设置。还有一个重要参数就是mapred.map.tasks,这个参数设置的map数量仅仅是一个提示,只有当InputFormat
决定了map任务的个数比mapred.map.tasks值小时才起作用。

  同样,Map任务的个数也能通过使用JobConf 的conf.setNumMapTasks(int
num)方法来手动地设置。这个方法能够用来增加map任务的个数,但是不能设定任务的个数小于Hadoop系统通过分割输入数据得到的值。

  当然,为了提高集群的并发效率,可以设置一个默认的map数量,当用户的map数量较小或者比本身自动分割的值还小时可以使用一个相对交大的默认值,从而提高整体hadoop集群的效率。

查看完整回答
反对 回复 2018-12-20
  • 1 回答
  • 0 关注
  • 1285 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信