CDH6.0、6.1編:6、CDH最適化

6950 ワード

- 1.MapReduce shuffleハンドラとIFIleリーダーは、HadoopネイティブライブラリがインストールされているLinuxシステム上で、ネイティブLinux呼び出しを使用します.
- 2.ランダムハンドラの改善
	1.       shuffle readahead   MapReduce shuffle       。
	      TaskTracker                 reducer        。
	2.  YARN     ,    mapreduce.shuffle.manage.os.cache   true (  )。
	          ,    mapreduce.shuffle.readahead.bytes。    4 MB。
	3.  MapReduce     ,    mapred.tasktracker.shuffle.fadvise   true (  )。
	          ,    mapred.tasktracker.shuffle.readahead.bytes。    4 MB。

- 3.IFIleリーダーのパフォーマンスの向上IFIle Reader
	  IFile            。  MRv1 YARN     ,
	   mapreduce.ifile.readahead   true(  )。
	        ,    mapreduce.ifile.readahead.bytes。
	    4MB。

- 4.MapReduce構成のベストプラクティス
	             MapReduce        。      mapred-site.xml 。
	1.           
	     mapreduce.tasktracker.outofband.heartbeat   true, TaskTracker                 。     false:
<property>
    				<name>mapreduce.tasktracker.outofband.heartbeat</name>
    				<value>true</value>
</property>
	2.        JobClient       
		  jobclient.progress.monitor.poll.interval   property  JobClient                  (      )。
		    1000  ;                ,                。
		                         -      。
<property>
    				<name>jobclient.progress.monitor.poll.interval</name>
    				<value>10</value>
			</property>
	3.  JobTracker    
		 TaskTracker-to-JobTracker                       MapReduce  。
<property>
    				<name>mapreduce.jobtracker.heartbeat.interval.min</name>
    				<value>10</value>
			</property>

4.直ちにMapReduce JVMを起動する
		  mapred.reduce.slowstart.completed.maps  property       Reduce            Map     。
		             ,      0      ;     (  50%)         。
<property>
    				<name>mapred.reduce.slowstart.completed.maps</name>
    				<value>0</value>
			</property>

- 5.仕事のヒントとベストプラクティス
	1.             JAR      JobConf(Class)       JobConf.setJar()     JobConf.setJarByClas()  。
	2.  JAR      ,    -libjars jar1,jar2。     JAR     HDFS                                 。
	3.     ,    JobConf.setJar,  JAR       ,                     ,        ,
	                HDFS。
	4.  :-libjars  MapReduce      ToolRunner    。    ,     DistributedCache API(Cloudera      )。
	5.            (MRv1)
		1.                。                       (JobConf):
			mapreduce.map.log.level
			mapreduce.reduce.log.level
		      NONE, INFO, WARN, DEBUG, TRACE, and ALL
		2. :
			JobConf conf = new JobConf();
			...
			conf.set(“mapreduce.map.log.level”,“DEBUG”);
			conf.set(“mapreduce.reduce.log.level”,“TRACE”);
			...

- 6.準備領域の削減
	      EXT3   EXT4       5%    root    。          DFS   。
	       ,   tune2fs   :
		# tune2fs -l /dev/sde1 | egrep "Block size:|Reserved block count"
		Reserved block count:  36628312
		Block size:            4096
	   :
		#tune2fs -l / dev / sde1 | egrep“   :|    ”
		    :36628312
		   :4096

	       EXT3/EXT4        。             。     ,         150 GB(139.72    )。
	Cloudera   DataNode  root      5%   1%。
	        1%,   tune2fs   :# tune2fs -m 1 /dev/sde1