玩转Hadoop的几个小技巧

转载 2013年12月05日 12:27:04

Hadoop添加节点的方法 
自己实际添加节点过程:
1.
先在slave上配置好环境,包括sshjdk,相关configlibbin等的拷贝;
2.
将新的datanodehost加到集群namenode及其他datanode中去;
3.
将新的datanodeip加到masterconf/slaves中;
4.
重启cluster,cluster中看到新的datanode节点;
5.
运行bin/start-balancer.sh,这个会很耗时间
备注:
1.
如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mr的工作效率;
2.
也可调用bin/start-balancer.sh命令执行,也可加参数 -threshold 5
   threshold
是平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长。
3. balancer
也可以在有mrjobcluster上运行,默认dfs.balance.bandwidthPerSec很低,为1M/s。在没有mr job时,可以提高该设置加快负载均衡时间。

其他备注: 
1.
必须确保slavefirewall已关闭;
2.
确保新的slaveip已经添加到master及其他slaves/etc/hosts中,反之也要将master及其他slaveip添加到新的slave/etc/hosts
mapper
reducer个数 
url
地址: http://wiki.apache.org/hadoop/HowManyMapsAndReduces

较好的建议:
The right number of reduces seems to be 0.95 or 1.75 multiplied by (<no. ofnodes> * mapred.tasktracker.reduce.tasks.maximum).increasing the number ofreduces increases the framework overhead, but increases load balancing andlowers the cost of failures. 
<property>
  <name>mapred.tasktracker.reduce.tasks.maximum</name>
  <value>2</value>
  <description>The maximum number of reduce tasks that will berun
  simultaneously by a task tracker.
  </description>
</property>

单个node新加硬盘 
1.
修改需要新加硬盘的nodedfs.data.dir,用逗号分隔新、旧文件目录
2.
重启dfs

同步hadoop 代码 
hadoop-env.sh
# host:path where hadoop code should be rsync'd from.  Unset bydefault.
# export HADOOP_MASTER=master:/home/$USER/src/hadoop

用命令合并HDFS小文件 
hadoop fs -getmerge <src> <dest>

重启reduce job方法 
Introduced recovery of jobs when JobTracker restarts. This facility is off bydefault.
Introduced config parameters "mapred.jobtracker.restart.recover","mapred.jobtracker.job.history.block.size", and"mapred.jobtracker.job.history.buffer.size".
还未验证过。

HDFS
退服节点的方法 
目前版本的dfsadmin的帮助信息是没写清楚的,已经file了一个bug了,正确的方法如下:
1.
dfs.hosts 置为当前的slaves,文件名用完整路径,注意,列表中的节点主机名要用大名,即 uname -n 可以得到的那个。
2.
slaves 中要被退服的节点的全名列表放在另一个文件里,如 slaves.ex,使用 dfs.host.exclude 参数指向这个文件的完整路径
3.
运行命令bin/hadoop dfsadmin -refreshNodes
4. web
界面或bin/hadoop dfsadmin -report 可以看到退服节点的状态是 Decomission in progress,直到需要复制的数据复制完成为止
5.
完成之后,从slaves 里(指dfs.hosts 指向的文件)去掉已经退服的节点

附带说一下 -refreshNodes 命令的另外三种用途: 
2.
添加允许的节点到列表中(添加主机名到 dfs.hosts 里来)
3.
直接去掉节点,不做数据副本备份(在 dfs.hosts 里去掉主机名)
4.
退服的逆操作——停止 exclude 里面和 dfs.hosts 里面都有的,正在进行 decomission 的节点的退服,也就是把 Decomission inprogress 的节点重新变为Normal (在 web 界面叫 in service)
distribute cache
使用 
类似一个全局变量,但是由于这个变量较大,所以不能设置在config文件中,转而使用distribute cache
具体使用方法:(详见《the definitive guide,P240)
1.
在命令行调用时:调用-files,引入需要查询的文件(可以是local file, HDFS file(使用hdfs://xxx?)), 或者 -archives (JAR,ZIP, tar)
% hadoop jar job.jar MaxTemperatureByStationNameUsingDistributedCacheFile \
  -files input/ncdc/metadata/stations-fixed-width.txt input/ncdc/alloutput
2.
程序中调用:
   public void configure(JobConf conf) {
      metadata = new NcdcStationMetadata();
      try {
        metadata.initialize(newFile("stations-fixed-width.txt"));
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
   }
另外一种间接的使用方法:在hadoop-0.19.0中好像没有
调用addCacheFile()或者addCacheArchive()添加文件,
使用getLocalCacheFiles() getLocalCacheArchives() 获得文件

hadoop
job显示web 
There are web-based interfaces to both the JobTracker (MapReduce master) andNameNode (HDFS master) which display status pages about the state of the entiresystem. By default, these are located at [WWW] http://job.tracker.addr:50030/and[WWW] http://name.node.addr:50070/ . 

hadoop
监控 
OnlyXP(52388483) 131702
nagios作告警,ganglia作监控图表即可

 

玩转WINDOWS电脑小技巧

  • 2008年11月26日 14:29
  • 94KB
  • 下载

81个小技巧玩转win8.

  • 2015年07月19日 11:23
  • 147KB
  • 下载

轻松制作GIF动画!教你玩转PS时间轴之5个小技巧篇

通过前两篇文章,我们已经知道制作动画的基本知识的和技巧,下面通过5个非常有用的知识点跟大家更深入地探索PS时间轴。文末附上PSD,可以下载后自行分析动画技巧。 往期回顾: 《新手指南!手把手教...

玩转FFmpeg的7个小技巧

FFmpeg堪称音频和视频应用程序的瑞士军刀,提供了丰富的选项和灵活性.很多时候用户为了看视频和听音乐都安装了ffmeg.更多关于ffmeg的详细介绍:here,可以通过ffmpeg -formats...
  • leinn
  • leinn
  • 2013年06月07日 17:35
  • 365

玩转FFmpeg的7个小技巧

FFmpeg堪称音频和视频应用程序的瑞士军刀,提供了丰富的选项和灵活性.很多时候用户为了看视频和听音乐都安装了ffmeg.更多关于ffmeg的详细介绍:here,可以通过ffmpeg -formats...
  • mao0514
  • mao0514
  • 2013年07月22日 16:30
  • 1007

玩转EXCEL系列-选择性粘贴几个实用技巧

EXCEL选择性粘贴在工作中使用也是比较频繁的,今天大飞老师给大家分享一些选择性粘贴实用技巧...

Java对象与XML文件互转的几个小技巧(使用jaxb工具类)

采用Jaxb工具类实现Java对象与XML文件互转时,有一些注意的地方,记录如下: 1、model类需要加注解 @XmlRootElement 否则报错; 2、如果mode类的属性与XML节点名称...

数据绑定的几个页及小技巧.rar

  • 2008年10月14日 11:30
  • 53KB
  • 下载

几个C#编程的小技巧

  • 2010年04月24日 11:26
  • 4KB
  • 下载

android多渠道打包&&几个打包小技巧

多渠道打包的意义、原理;使用友盟实现的步骤;其他几个打包技巧。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:玩转Hadoop的几个小技巧
举报原因:
原因补充:

(最多只允许输入30个字)