当前位置: 首页 > news >正文

专做西餐的网站做影视类短视频的资源网站

专做西餐的网站,做影视类短视频的资源网站,计算机ui设计是什么,凡科建站转载http://my.oschina.net/Chanthon/blog/150500 map和reduce是hadoop的核心功能#xff0c;hadoop正是通过多个map和reduce的并行运行来实现任务的分布式并行计算#xff0c;从这个观点来看#xff0c;如果将map和reduce的数量设置为1#xff0c;那么用户的任务就没有并行… 转载http://my.oschina.net/Chanthon/blog/150500   map和reduce是hadoop的核心功能hadoop正是通过多个map和reduce的并行运行来实现任务的分布式并行计算从这个观点来看如果将map和reduce的数量设置为1那么用户的任务就没有并行执行但是map和reduce的数量也不能过多数量过多虽然可以提高任务并行度但是太多的map和reduce也会导致整个hadoop框架因为过度的系统资源开销而使任务失败。所以用户在提交map/reduce作业时应该在一个合理的范围内这样既可以增强系统负载匀衡也可以降低任务失败的开销。 1 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集群的效率。 2 reduce的数量 reduce在运行时往往需要从相关map端复制数据到reduce节点来处理因此相比于map任务。reduce节点资源是相对比较缺少的同时相对运行较慢正确的reduce任务的个数应该是0.95或者1.75 *节点数 ×mapred.tasktracker.tasks.maximum参数值。如果任务数是节点个数的0.95倍那么所有的reduce任务能够在 map任务的输出传输结束后同时开始运行。如果任务数是节点个数的1.75倍那么高速的节点会在完成他们第一批reduce任务计算之后开始计算第二批 reduce任务这样的情况更有利于负载均衡。同时需要注意增加reduce的数量虽然会增加系统的资源开销但是可以改善负载匀衡降低任务失败带来的负面影响。同样Reduce任务也能够与 map任务一样通过设定JobConf 的conf.setNumReduceTasks(int num)方法来增加任务个数。 3 reduce数量为0 有些作业不需要进行归约进行处理那么就可以设置reduce的数量为0来进行处理这种情况下用户的作业运行速度相对较高map的输出会直接写入到 SetOutputPath(path)设置的输出目录而不是作为中间结果写到本地。同时Hadoop框架在写入文件系统前并不对之进行排序。 map red.tasktracker.map.tasks.maximum 这个是一个task tracker中可同时执行的map的最大个数默认值为2看《pro hadoop》it is common to set this value to the effective number of CPUs on the node 把ob分割成map和reduce,合理地选择Job中 Tasks数的大小能显著的改善Hadoop执行的性能。增加task的个数会增加系统框架的开销但同时也会增强负载均衡并降低任务失败的开销。一个极端是1个map、1个reduce的情况这样没有任务并行。另一个极端是1,000,000个map、1,000,000个reduce的情况会由于框架的开销过大而使得系统资源耗尽。 Map任务的数量 Map的数量经常是由输入数据中的DFS块的数量来决定的。这还经常会导致用户通过调整DFS块大小来调整map的数量。正确的map任务的并行度似乎应该是10-100 maps/节点尽管我们对于处理cpu运算量小的任务曾经把这个数字调正到300maps每节点。Task的初始化会花费一些时间因此最好控制每个 map任务的执行超过一分钟。 实际上控制map任务的个数是很 精妙的。mapred.map.tasks参数对于InputFormat设定map执行的个数来说仅仅是一个提示。InputFormat的行为应该把输入数据总的字节值分割成合适数量的片段。但是默认的情况是DFS的块大小会成为对输入数据分割片段大小的上界。一个分割大小的下界可以通过一个mapred.min.split.size参数来设置。因此如果你有一个大小是10TB的输入数据并设置DFS块大小为 128M你必须设置至少82K个map任务除非你设置的mapred.map.tasks参数比这个数还要大。最终InputFormat 决定了map任务的个数。 Map任务的个数也能通过使用JobConf 的 conf.setNumMapTasks(int num)方法来手动地设置。这个方法能够用来增加map任务的个数但是不能设定任务的个数小于Hadoop系统通过分割输入数据得到的值。 Reduce任务的个数 正确的reduce任务的 个数应该是0.95或者1.75 ×节点数 ×mapred.tasktracker.tasks.maximum参数值。如果任务数是节点个数的0.95倍那么所有的reduce任务能够在 map任务的输出传输结束后同时开始运行。如果任务数是节点个数的1.75倍那么高速的节点会在完成他们第一批reduce任务计算之后开始计算第二批 reduce任务这样的情况更有利于负载均衡。 目前reduce任务的数量 由于输出文件缓冲区大小(io.buffer.size × 2 ×reduce任务个数 堆大小)被限制在大约1000个左右。直到能够指定一个固定的上限后这个问题最终会被解决。 Reduce任务的数量同时也控制着输出目录下输出文件的数量但是通常情况下这并不重要因为下一阶段的 map/reduce任务会把他们分割成更加小的片段。 Reduce任务也能够与 map任务一样通过设定JobConf 的conf.setNumReduceTasks(int num)方法来增加任务个数。 转载于:https://www.cnblogs.com/huifeidezhuzai/p/9245658.html
http://www.zqtcl.cn/news/973464/

相关文章:

  • 阿里云备案 网站备案现在办宽带多少钱一年
  • 东莞网站建设公司哪家好和黄crm在线
  • 邢台外贸网站建设怎么在抖音上卖东西
  • 光泽县规划建设局网站番禺做哪些做网站的
  • 海南响应式网站建设哪里好衡水哪儿做wap网站
  • 月熊志网站百度网页版
  • 三亚网站建设方案鱼爪商标交易平台
  • phpwind 手机网站模板建立网站的英文短语
  • 年度网站建设工作总结制作微信小程序需要什么技术
  • wordpress打字不显示图片wordpress 访问优化
  • 太原网站建设方案咨询网站开发公司的选择
  • 广西网站建设设计大连嘉良建设有限公司网站
  • 白名单查询网站网站建设改变某个表格大小
  • 青岛网站开发公司电话百度投放
  • 唐山玉田孤树做宣传上什么网站百度推广有效果吗
  • 亚马逊网站特点佛山营销型网页设计
  • 网站建设 长沙开福区做百度移动网站排名软
  • 广州购物网站建设在线解压网站
  • 网站建设教学方法探究购物网站开发中查看订单的实现逻辑
  • 网站建设漂亮的模板西安网络优化大的公司
  • 如何免费简单建一个网站河北优化网站获客qq
  • 如何给网站做seo东莞网站建设星河
  • 什么叫门户类网站哪个网站能帮助做路书
  • 网站建站基础娄底网站推广
  • WordPress网站仿制光明建网站的公司
  • 可以做企业网站昆明seo怎么做
  • 西安那里做网站媒体软文发稿
  • 怎样做网站呢wordpress首页幻灯片尺寸
  • 青岛即墨网站网页设计营销型网站规划建设的七大要素
  • WordPress建站经验固原市住房和城乡建设厅网站