hadoop之启动脚本的分析

来源:互联网 发布:吉首大学网络服务中心 编辑:程序博客网 时间:2024/06/08 17:52

start-all.sh

1.      {hadoop}\libexec\hadoop-config.sh

这里主要处理的是HADOOP_CONF_DIR=…   //--config参数   的问题

2.      /sbin/start-dfs.sh --config$HADOOP_CONF_DIR

3.      /sbin/start-yarn.sh --config$HADOOP_CONF_DIR

start-dfs.sh

1.      {hadoop}\libexec\hadoop-config.sh

这里主要处理的是HADOOP_CONF_DIR=…   //--config参数   的问题

2.      NAMENODE={hadoop_home}/bin/hdfsgetconf -namenodes

这里提取名称节点的主机名

3.      {hadoop_home}/sbin/hadoop-daemons.sh--config … --hostnames …. --script “{hadoop_home}/bin/hdfs” --start namenode

4.      {hadoop_home}/sbin/hadoop-daemons.sh--config … --hostnames …. --script “{hadoop_home}/bin/hdfs” --start datanode

5.      {hadoop_home}/sbin/hadoop-daemons.sh--config … --hostnames …. --script “{hadoop_home}/bin/hdfs” --start  seconday namenode

 

查看我们的启动的脚本,start-dfs.sh来说的话

首先启动的是namenode

然后是我们的datanodes

最后是我们的secondary namenode

{hadoop_home}/sbin/hadoop-daemons.sh

1.       {hadoop}\libexec\hadoop-config.sh

这里主要处理的是HADOOP_CONF_DIR=…   //--config参数   的问题

2.      exec "$bin/slaves.sh"--config $HADOOP_CONF_DIR cd "$HADOOP_PREFIX" \;"$bin/hadoop-daemon.sh" --config $HADOOP_CONF_DIR "$@"

{hadoop_home}/sbin/slaves.sh

1.      {hadoop}\libexec\hadoop-config.sh

这里主要处理的是HADOOP_CONF_DIR=…   //--config参数   的问题

2.      "${HADOOP_CONF_DIR}/hadoop-env.sh"  处理环境变量

3.      提取slaves文件的所有主机名àSLAVE_HOMES

4.      for SLAVE_NAME àssh @hostname …

$bin/hadoop-daemon.sh"

1.      {hadoop}\libexec\hadoop-config.sh

这里主要处理的是HADOOP_CONF_DIR=…   //--config参数   的问题

2.       namenode|secondarynamenode|datanode|journalnode|dfs|dfsadmin|fsck|balancer|zkfc

这个脚本可以单独启动我们的进程

hadoop-daemon.sh和hadoop-daemons.sh的区别

hadoop-daemon.sh只可以启动一个守护进程,hadoop-daemons.sh可以启动相同的多个守护进程
例如:hadoop-daemon.sh start datanode   这个命令是启动我们操作本机的datanode节点

hadoop-daemons.sh start datanode  这个命令是将我们所有的datanode节点启动