start-all.sh究竟做了什么?

  当搭建好了hadoop环境,我们迫不及待的就开始执行start-all.sh脚本,那么这个脚本具体做什么呢

 

Java代码     收藏代码
  1. 1 :hadoop-config.sh   //想使用自己的配置的,需要在这里设置了   
  2. 2 :start-dfs.sh            //start dfs daemons   
  3. 3 :start-mapred.sh     //start mapred daemons   

 

    好吧,看来干活的都是小弟,而且分工明确。

 

    首先来看start-dfs.sh

 

Java代码     收藏代码
  1. 1 :hadoop-daemon.sh     //start namenode   
  2. 2 :hadoop-daemons.sh   //start datanode   
  3. 3 :hadoop-daemons.sh   //masters start secondarynamenode   

 

   这个分工也很明确,我们来细看里面的

   hadoop-daemon.s

 

Java代码     收藏代码
  1. 主要是生成namenode的日志文件,然后将具体的操作请求转发给      
  2.   
  3.  org.apache.hadoop.hdfs.server.namenode.NameNode 这个类。  

 

   hadoop-daemons.sh

 

Java代码     收藏代码
  1. 1 :启动datanade时 调用 slaves.sh  同时将本地的hadoop_home传递过去(所以说slaves和master的hadoop路径要一致了)  
  2.   
  3. 2 : 启动seconddarynamenode 时将具体的请求转发给  
  4. org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode 这个类  

 

 

   再来看下slaves.sh做了什么

 

Java代码     收藏代码
  1. 1 :读取slaves文件里ip配置  
  2. 2 :ssh 每个slave机器  
  3. 3 :到HADOOP_HOME目录下  
  4. 4 :执行hadoop-daemon.sh脚本  
  5. 5 :传递的启动参数为start datanode  
  6. 6 :使用的conf文件为slave机器HADOOP_HOME下的。  

 

    再看slaves机器上的执行情况,其实是把请求转交给

 

Java代码     收藏代码
  1. org.apache.hadoop.hdfs.server.datanode.DataNode  

     这个类来处理了。

 

    好现在来看 start-mapred.sh

 

 

Java代码     收藏代码
  1. 1 :hadoop-config.sh       //mapreduce的配置相关   
  2. 2 :hadoop-daemon.sh    //start jobtracker   
  3. 3 :hadoop-daemons.sh   //start tasktracker   

   再看对mapred的处理,其实是把请求转给以下2个类。

 

Java代码     收藏代码
  1. org.apache.hadoop.mapred.JobTracker   //master机器上   
  2.   
  3. org.apache.hadoop.mapred.TaskTracker  //slaves机器上。   

 

其实hadoop的启动脚本注释都很明确了,我这里只是理清一下过程,所以这里总结下就是;

 

Java代码     收藏代码
  1.  org.apache.hadoop.hdfs.server.namenode.NameNode   
  2.  org.apache.hadoop.mapred.JobTracker  
  3.  org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode   
  4.   
  5. 3 个主要运行在master机器上  
  6.   
  7. org.apache.hadoop.hdfs.server.datanode.DataNode  
  8.   
  9. org.apache.hadoop.mapred.TaskTracker   
  10. 2 个主要是运行在slaves机器上,由ssh连接过去然后在相对应的目录下执行脚本。  

 

 

更多信息请查看 java进阶网 http://www.javady.com

你可能感兴趣的:(hadoop,Hadoop入门,hadoop教程)