我正在尝试从Hadoop的mapred-site.xml文件中调整这3个配置:
我正在Hadoop 2.0.0-cdh4.3.0,mapreduce 0.20上运行。未安装YARN。
每个数据节点具有2个物理cpu,每个cpu具有22个核心。由于启用了超线程技术,因此每个都有44个物理核心或88个虚拟核心。
从《优化MapReduce的Hadoop》一书中,我得到了这样的计算: mapred.tasktracker.map.tasks.maximum =(物理核心数量-预留核心(TaskTracker 1个,HDFS 1个) ))*超线程系数在120%到170%之间。
所以在我的情况下:
mapred.tasktracker.map.tasks.maximum =(44-2)* 1.2 = 50(向下舍入)
然后计算mapred.tasktracker.reduce.tasks.maximum,该书建议将该值乘以2/3,因此 mapred.tasktracker.reduce.tasks.maximum = 50 * 2/3 = 33(向下舍入)
本书建议“在集群容量的50%到99%之间”。我有37个datanode,将使用95%。因此 mapred.reduce.tasks =(37 * .95)-35(向下舍入)
^这对我的设置来说是个不错的性能配置吗?
top
获得当前输出,以获取更多信息。如果您需要更多信息,请告诉我
$ vmstat -S M 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 3065 2261 441408 0 0 497 744 0 0 10 1 87 1 0
3 0 0 2964 2261 441512 0 0 43148 67808 32989 38283 3 1 97 0 0
5 1 0 2900 2261 441571 0 0 50424 97012 30685 30832 4 0 95 0 0
2 1 0 2795 2261 441685 0 0 43564 101632 42614 45709 3 1 95 1 0
3 0 0 2766 2261 441703 0 0 47772 12492 35291 39281 4 1 95 0 0
$ top -M
top - 23:19:05 up 128 days, 8:07, 1 user, load average: 5.68, 6.76, 6.51
Tasks: 1062 total, 2 running, 1059 sleeping, 0 stopped, 1 zombie
Cpu(s): 5.9%us, 1.4%sy, 0.8%ni, 85.9%id, 6.0%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 503.498G total, 501.075G used, 2481.953M free, 2243.645M buffers
Swap: 2046.996M total, 0.000k used, 2046.996M free, 431.561G cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16129 hbase 20 0 17.1g 16g 18m S 137.2 3.3 83117:26 java
82697 hbase 20 0 9280m 7.8g 17m S 1.3 1.5 761:55.52 java
646 root 20 0 0 0 0 S 0.7 0.0 3779:25 kswapd0:0
5642 root 20 0 19104 2488 1480 S 0.7 0.0 190:25.45 irqbalance
405 root 20 0 0 0 0 S 0.3 0.0 27:53.88 rcuos/56
454 root 20 0 0 0 0 S 0.3 0.0 113:27.72 rcuos/63
14706 emcadm 20 0 11.5g 427m 16m S 0.3 0.1 739:00.90 java
23969 root 20 0 8936 1832 1656 S 0.3 0.0 0:02.60 sadc
26920 mapred 20 0 1847m 358m 23m S 0.3 0.1 0:09.46 java
30684 mapred 20 0 1851m 385m 23m S 0.3 0.1 0:20.89 java
43583 mapred 20 0 1853m 385m 23m S 0.3 0.1 0:50.93 java
$ iostat -xm 4
avg-cpu: %user %nice %system %iowait %steal %idle
6.71 0.79 1.08 0.53 0.00 90.89
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda 0.00 24.25 0.00 4.50 0.00 0.11 51.11 0.01 2.22 0.00 2.22 0.50 0.23
sdc 0.00 11.75 0.00 0.75 0.00 0.05 133.33 0.00 0.33 0.00 0.33 0.33 0.03
sde 0.00 15.00 0.50 121.25 0.00 29.73 500.14 18.09 122.38 113.50 122.42 1.65 20.07
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdf 0.00 11.50 51.00 0.75 10.57 0.05 420.06 0.18 3.48 3.52 0.33 0.83 4.30
sdg 0.50 17.25 158.75 1.00 15.54 0.07 200.20 0.57 3.54 3.56 0.50 1.92 30.75
sdh 0.00 5.25 19.75 12.00 4.30 0.25 293.35 0.09 2.96 4.41 0.58 0.52 1.65
sdi 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdk 0.00 12.50 0.00 1.25 0.00 0.05 88.00 0.00 0.20 0.00 0.20 0.20 0.03
sdj 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdl 0.00 0.00 0.00 0.25 0.00 0.00 8.00 0.00 1.00 0.00 1.00 1.00 0.03
sdm 0.00 0.00 27.25 0.25 5.63 0.00 419.05 0.27 9.85 9.93 1.00 2.00 5.50