|
1)NameNode为主 DataNode为从
2)JobTracker为主 TaskTracker为从
3)开启调试模式
export HADOOP_ROOT_LOGGER=DEBUG,console
4)hadoop编译
http://pirate2089.github.io/blog/2013/07/19/hadoop-2-dot-0-5-alphabu-shu/
编译时,libprotoc2.4.1
具体参照
http://www.iyunv.com/shaobin0604/archive/2011/11/01/2232144.html
编译native的命令
mvn package -Pdist,native -DskipTests -Dtar
5)关于hadoop升级。配置文件中,有些类可能会变换。如果拿旧版本的配置文件应用于新版本。由于类已经变换位置了。所以新的找不到。
6)发觉2.1.0的beta版本,share下面,有mapreduce和yarn两个,在设eclispe插件的时候,要注意,设置错了,会发觉很多类找不到。
7)在eclipse中用maven插件,显示
Missing artifact jdk.tools:jdk.tools:jar:1.6,可以这样来解决
发觉这个问题是有在windows下才有的。我后来转到linux下没有的。
jdk.tools
jdk.tools
${java.version}
system
${JAVA_HOME}/lib/tools.jar
8)Exception in thread "main" java.lang.NullPointerException
at java.lang.ProcessBuilder.start(Unknown Source)
这个问题,只有用2.1.0-beta,且在windows下的人才会碰到的。
如果你用这个版本,然后再windows下搭建开发环境。装了cygwin。调试时,你会发现不断的抛这个错误。
后来细查之下,是hadoop没有发布一个winutils.exe的文件。而这个文件则说明,hadoop打算支持windows。
在org.apache.hadoop.util.shell里面,有很多操作系统的判断。而调用系统命令的时候,有一个拼字符串的地方。看到是windows系统。就在前面加一个winutils
但是发布包里面木有这个。想了一个笨点的解决办法,就是运行程序前。加一句
System.setProperty("os.name", "Linux");前提是要装了cygwin
试了一下,发现不行。主要是后台还是会采用linux系统特有的方法。没法搞。
研究了下源代码。发现其实winutils这个东西实在源代码里面有的。估计发布的版本实在linux下面编译。所以这玩意没有编出来。
后来试着在windows下编译。就是没有编译成功。也不想深究,也就装个ubuntu的虚拟机,做开发环境。
具体编译什么的。可以从下面地址获得。
http://svn.apache.org/repos/asf/hadoop/common/trunk/BUILDING.txt
9)http://www.iyunv.com/gpcuster/archive/2010/06/04/1751538.html
hadoop常用的命令 |
|
|