hadoop的优化------三大主件

优化的方案:

1.mapreduce:
	切片优化:调整map的数量
	(1)当集群的资源(cpu,内存)比较充足,可以适当将切片大小调大,这时会增加map数量,加快读取处理速度。
	(2)当集群的资源(cpu,内存)比较紧缺,可以适当将切片大小调大,这时减少map数量,可以一定程度提高效率。
	(3)数据本地化,任务本地化处理(就是大小是128M):可以适当增加副本数(前提是磁盘空间充足)
2.调整reduce的数量
	reduce的数量默认由分区决定,也可以直接手动设置reduce个数。
3.yarn
	yarn默认的调度策略是:计算能力调度
	默认的资源任务队列:default
	(1)设置yarn多队列运行:可以在提交执行任务的时候,指定任务所在的队列,队列之间的资源相对独立。
	capacity-scheduler.xml这个文件是用于修改yarn资源情况。(这个文件的在:/usr/local/soft/hadoop-2.6.0/etc/hadoop/)
<!----修改----->
  <property>
    <name>yarn.scheduler.capacity.root.queues</name>
    <value>default,hivetest,sparktest</value>
    <description>
      The queues at the this level (root is the root queue).
    </description>
  </property>

  <property>
    <name>yarn.scheduler.capacity.root.default.capacity</name>
    <value>40</value>
    <description>Default queue target capacity.</description>
  </property>
  <property>
 
 <!---增加--->   
 <name>yarn.scheduler.capacity.root.hivetest.capacity</name>
    <value>30</value>
    <description>Default queue target capacity.</description>
  </property>
  
  <property>
    <name>yarn.scheduler.capacity.root.sparktest.capacity</name>
    <value>30</value>
    <description>Default queue target capacity.</description>
  </property>
	(2)如果是MapReduce任务,还需要修改mapred-site.xml
<property>  
  <name>mapred.queue.names</name>  
  <value>default,hivetest,sparktest</value>  
</property>
	(3)将修改后的配置文件发送到其他的字节点,替换
		scp -r /usr/local/soft/hadoop-2.6.0/etc/hadoop node1:/usr/local/soft/hadoop-2.6.0/etc/hadoop 
		scp -r /usr/local/soft/hadoop-2.6.0/etc/hadoop node2:/usr/local/soft/hadoop-2.6.0/etc/hadoop 
	(4)修改后,重新分发到各节点,重启。
		yarn rmadmin -refreshQueues(刷新队列)
	(5)在MapReduce程序中可以指定执行队列。
		Configuration conf = new Configuration();
		conf.set("mapreduce.job.queuenam","sparktest");
4.HDFS:做HA高可靠。如果磁盘空间充足,可以增加副本数。还有一些小文件合并。
  hdfs的文件存储:比如可以压缩文件等。
 5.MapReduce程序层面的优化:
 	(1)combine:在一些等幂的问题上使用(例如:求和),可以减少shuffle过程。提高计算效率。
 		set.CombinerClass(Class<? extends Reducer> cls)
 	(2)mapjoin:一个大表关联一个小表的时候。一般是512M以下。将小表广播复制到各个计算节点的内存中,用于匹配大表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值