hadoop最基本配置及build(ant代理) 转

网上的大多数都是hadoop-site.xml
20的版本,分成了3个配置文件,core-site.xml,hdfs-site.xml,mapred-site.xml,
默认的在core.jar里面,源码在
hadoop-0.20.2\src\core\core-default.xml
hadoop-0.20.2\src\mapred\mapred-default.xml
hadoop-0.20.2\src\hdfs\hdfs-default.xml
core.jar里面还打了个hadoop-metrics.properties不知道干什么的
bin.tgz是把bin目录下的东西打包了,这样就能用了?
还有两个slaves,masters也相关
5个最基本的比较重要
1.fs.default.name
2.hadoop.tmp.dir
3.mapred.job.tracker
4.dfs.name.dir
5.dfs.data.dir
6.dfs.http.address


core-site.xml中hadoop.tmp.dir为临时目录,如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个hadoop.tmp.dir中了

Java代码   收藏代码
  1. <?xml version= "1.0" ?>  
  2. <?xml-stylesheet type="text/xsl"  href= "configuration.xsl" ?>  
  3. <configuration>  
  4.         <property>  
  5.                 <name>fs.default .name</name>  
  6.                 <value>hdfs://192.168.200.12:8888</value>   
  7.         </property>  
  8.         <property>  
  9.                 <name>dfs.replication</name>  
  10.                 <value>1 </value>  
  11.         </property>  
  12.         <property>  
  13.                 <name>hadoop.tmp.dir</name>  
  14.                 <value>/home/Administrator/tmp</value>  
  15.         </property>  
  16. </configuration>  


hdfs-site.xml中
dfs.http.address提供web页面显示的地址和端口默认是50070,ip是namenode的ip
dfs.data.dir是datanode机器上data数据存放的位置,没有则放到core-site.xml的tmp目录中
dfs.name.dir是namenode机器上name数据粗放的位置,没有则放到core-site.xml的tmp目录中
<property>
    <name>dfs.hosts.exclude</name>
    <value>conf/excludes</value>
</property>这个不知道是啥,放上报错就去掉了

Java代码   收藏代码
  1. <configuration>  
  2.   <property>  
  3.     <name>dfs.http.address</name>  
  4.     <value>192.168 . 200.12 : 50071 </value>  
  5.   </property>  
  6.   <property>  
  7.     <name>dfs.balance.bandwidthPerSec</name>  
  8.     <value>12582912 </value>  
  9.   </property>  
  10.   <property>  
  11.     <name>dfs.block.size</name>  
  12.     <value>134217728 </value>  
  13.     <final > true </ final >  
  14.   </property>  
  15.   <property>  
  16.     <name>dfs.data.dir</name>  
  17.     <value>/home/Administrator/data/</value>  
  18.     <final > true </ final >  
  19.   </property>  
  20.   <property>  
  21.     <name>dfs.datanode.du.reserved</name>  
  22.     <value>1073741824 </value>  
  23.     <final > true </ final >  
  24.   </property>  
  25.   <property>  
  26.     <name>dfs.datanode.handler.count</name>  
  27.     <value>10 </value>  
  28.     <final > true </ final >  
  29.   </property>  
  30.   <property>  
  31.     <name>dfs.name.dir</name>  
  32.     <value>/home/Administrator/name/</value>  
  33.     <final > true </ final >  
  34.   </property>  
  35.   <property>  
  36.     <name>dfs.namenode.handler.count</name>  
  37.     <value>64 </value>  
  38.     <final > true </ final >  
  39.   </property>  
  40.   <property>  
  41.     <name>dfs.permissions</name>  
  42.     <value>True</value>  
  43.     <final > true </ final >  
  44.   </property>  
  45.   <property>  
  46.     <name>dfs.replication</name>  
  47.     <value>3 </value>  
  48.   </property>  
  49. </configuration>  


mapred-site.xml内容为,mapred.job.tracker为jobtracker的ip和端口

Java代码   收藏代码
  1. <?xml version= "1.0" ?>  
  2. <?xml-stylesheet type="text/xsl"  href= "configuration.xsl" ?>  
  3. <configuration>  
  4.         <property>  
  5.                 <name>mapred.job.tracker</name>  
  6.                 <value>192.168 . 200.12 : 9999 </value>  
  7.         </property>  
  8. </configuration>  


常见问题:
一。防火墙在学习阶段就全关了吧,iptables -L查看 ,网络问题1.互信;2.iptables
二。如果调用./bin/hadoop namenode -format前最好清空/tmp目录和基本配置中的目录(否则有可能运行后dfsadmin -report显示全0)
三。logs很重要,没事就看看,job那个总出问题


看到hadoop中用了ivy ,下了个apache-ivy-2.2.0
需要把ivy-2.2.0.jar放到ant的lib目录,比如D:\oracle\apache-ant-1.8.1\lib
可以用apache-ivy-2.2.0\src\example\hello-ivy下ant看ivy是否好使
参考http://www.iteye.com/wiki/ivy/1945-ivy-tutorials-quick-start

----------------★★---------------
因为有代理,所以ant配合ivy有问题
上网找的http://liu-hliang.iteye.com/blog/456664
改了之后不好使啊
又找到https://issues.apache.org/jira/browse/IVY-529
拿apache-ivy-2.2.0\src\example\hello-ivy>apache-ivy-2.2.0\src\example\hello-ivy为例子
在<ivy:retrieve/>前加入proxy,并加depends="proxy"解决

Java代码   收藏代码
  1. <target name= "proxy" >  
  2.     <property name="proxy.host"  value= "代理的ip地址" />  
  3.     <property name="proxy.port"  value= "8080" />  
  4.     <input message="Please enter proxy username"  addproperty= "proxy.user"  />  
  5.     <input message="Please enter proxy password - NOTE: CLEAR TEXT"  addproperty= "proxy.pass" />  
  6.     <setproxy proxyhost="${proxy.host}"  proxyport= "${proxy.port}"  proxyuser= "${proxy.user}"  proxypassword= "${proxy.pass}" />  
  7. </target>  
  8. <target name="resolve"  depends= "proxy"  description= "--> retreive dependencies with ivy" >  
  9.     <ivy:retrieve/>  
  10. </target>  


在hadoop-0.20.2\build.xml中
找到<target name="ivy-download" ...
修改为

Java代码   收藏代码
  1. <target name= "proxy" >  
  2.     <property name="proxy.host"  value= "代理的ip地址" />  
  3.     <property name="proxy.port"  value= "8080" />  
  4.     <input message="Please enter proxy username"  addproperty= "proxy.user"  />  
  5.     <input message="Please enter proxy password - NOTE: CLEAR TEXT"  addproperty= "proxy.pass" />  
  6.     <setproxy proxyhost="${proxy.host}"  proxyport= "${proxy.port}"  proxyuser= "${proxy.user}"  proxypassword= "${proxy.pass}" />  
  7. </target>  
  8. <target name="ivy-download"  depends= "proxy"  description= "To download ivy"  unless= "offline" >  
  9.     <get src="${ivy_repo_url}"  dest= "${ivy.jar}"  usetimestamp= "true" />  
  10. </target>  


---------------★★------------------
ant之后
\hadoop-0.20.2\src\hdfs,hadoop-0.20.2\src\mapred,hadoop-0.20.2\src \core下的所有代码会变成hadoop-0.20.2\build\hadoop-0.20.3-dev-core.jar替换原来的hadoop- 0.20.2-core.jar即可
如果用eclipse创建工程,build path--source--Link Source选上面三个目录(如果看例子可以引个examples目录),lib引用\hadoop-0.20.2\lib下的所有jar和外面的除了 core.jar,还需要个ant.jar,
-------------★★----------------------
hadoop还用到了这个东西The JR Concurrent Programming Language
http://www.cs.ucdavis.edu/~olsson/research/jr/
安装http://www.cs.ucdavis.edu/~olsson/research/jr/versions/2.00602/install.html
这有个helloworld
http://developer.51cto.com/art/201006/208197.htm
尝试一下jr windows上跑需要perl,放redhat5上测试,把jr.zip解压到/usr/local/hadoop/
设置环境变量

Java代码   收藏代码
  1. export CLASSPATH=$CLASSPATH:/usr/local/hadoop/jr/classes/jrt.jar:/usr/local/hadoop/jr/classes/jrx.jar:.  
  2. export JR_HOME=/usr/local/hadoop/jr  
  3. export PATH=$PATH:/usr/local/hadoop/jr/bin:/usr/local/hadoop/jr/jrv  


cd /usr/local/hadoop/jr/vsuite

Java代码   收藏代码
  1. [root @122226  vsuite]# jrv quick  
  2. Starting JRV  
  3. JR_HOME= /usr/local/hadoop/jr  
  4. JRC=     perl "/usr/local/hadoop/jr/bin/jrc"   
  5. JRRUN=   perl "/usr/local/hadoop/jr/bin/jrrun"   
  6. JAVAC=   "/usr/java/jdk1.6.0_23/bin/javac"   
  7. JAVA=    "/usr/java/jdk1.6.0_23/bin/java"   
  8. ccr2jr=  perl "/usr/local/hadoop/jr/bin/ccr2jr"   
  9. csp2jr=  perl "/usr/local/hadoop/jr/bin/csp2jr"   
  10. m2jr=    perl "/usr/local/hadoop/jr/bin/m2jr"   
  11. WHICH=   /usr/bin/which  
  12. CMP=     perl "/usr/local/hadoop/jr/bin/cmp.pl"   
  13. GREP=    perl "/usr/local/hadoop/jr/bin/grep.pl"   
  14. SORT=    perl "/usr/local/hadoop/jr/bin/sort.pl"   
  15. TAIL=    perl "/usr/local/hadoop/jr/bin/tail.pl"   
  16. jr compiler version "2.00602 (Mon Jun 1 10:59:20 PDT 2009)"   
  17. jr rts      version "2.00602 (Mon Jun 1 10:59:25 PDT 2009)"   
  18. HOST= 122226   
  19. Start Directory= /usr/local/hadoop/jr/vsuite  
  20. JR.JRT = /usr/local/hadoop/jr/classes/jrt.jar   
  21.   -rw-r--r--   1  root     root        2090324  Jun   2    2009  /usr/local/hadoop/jr/classes/jrt.jar  
  22. JR.JRX = /usr/local/hadoop/jr/classes/jrx.jar   
  23.   -rw-r--r--   1  root     root         227198  Jun   2    2009  /usr/local/hadoop/jr/classes/jrx.jar  
  24. Operating System=   
  25. original CLASSPATH= /usr/java/jdk1.6 .0_23/lib:/usr/local/hadoop/jr/classes/jrt.jar:/usr/local/hadoop/jr/classes/jrx.jar:.  
  26. jrv sets CLASSPATH= .:/usr/local/hadoop/jr/classes/jrt.jar:/usr/local/hadoop/jr/classes/jrx.jar  
  27. DATE= Thu Oct 14   20 : 14 : 21   2010   
  28. quick/baby:  
  29.     expected 0 , got  1  from jrrun < null   
  30. quick/fact_2:  
  31.     expected 0 , got  1  from jrrun < null   
  32. quick/misc_invocation_count_st_by_0:  
  33.     expected 0 , got  1  from jrrun < null   
  34. DATE= Thu Oct 14   20 : 14 : 34   2010   
  35. Elapsed time (hh:mm:ss)= 00 : 00 : 13   
  36. [root@122226  vsuite]# pwd  
  37. /usr/local/hadoop/jr/vsuite  

你可能感兴趣的:(hadoop)