您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试管理 > 配置管理 > 正文

Hadoop集群参数配置原则

发表于:2017-01-09 作者:网络转载 来源:

  fs.datanode.handler.count
  datanode上用于处理RPC的线程数。默认为3,较大集群,可适当调大些,比如8。需要注意的是,每添加一个线程,需要的内存增加。
  tasktracker.http.threads
  HTTP server上的线程数。运行在每个TaskTracker上,用于处理map task输出。大集群,可以将其设为40~50。
  dfs.replication
  文件副本数,通常设为3,不推荐修改
  dfs.block.size
  HDFS中数据block大小,默认为64M,我们是128MB
  mapred.local.dir
  运行 mapreduce 中间结果存储处
  dfs.data.dir
  HDFS Block 存储空间
  数据 使用 压缩  - LZO (使用更多 map)
  FileInputFormat.setMaxInputSplitSize(job, 64 *1024 * 1024);
  {map/reduce}.tasks.maximum
  同时运行在TaskTracker上的最大map/reduce task数,
  io.sort.factor
  当一个map task执行完之后,本地磁盘上(mapred.local.dir)有若干个spill文件,merge sort 把这些文件合成一个。执行merge sort的时候,每次同时打开多少个spill文件由该参数决定。打开的文件越多,不一定merge sort就越快,所以要根据数据情况适当的调整。
  mapred.child.java.opts
  设置JVM堆的最大可用内存,需从应用程序角度进行配置。
  io.sort.mb
  Map task的输出结果在内存中所占的buffer总大小。
  mapred.compress.map.output/ Mapred.output.compress
  中间结果和最终结果是否要进行压缩,如果是,指定压缩方式(Mapred.compress.map.output.codec/ Mapred.output.compress.codec)。推荐使用LZO压缩。Intel内部测试表明,相比未压缩,使用LZO压缩的 TeraSort作业运行时间减少60%,且明显快于Zlib压缩。
  reduce task相关配置
  Reduce shuffle阶段copier线程数。默认是5,对于较大集群,可调整为16~25。