`
侯上校
  • 浏览: 223462 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hadoop的namenode Shell执行启动过程

 
阅读更多
./start-all.sh中主要做的三件事件:
...获取到hadoop的bin目录
1.执行$bin/../libexec/hadoop-config.sh脚本
   A.获取当前脚本及其整个目录this="${BASH_SOURCE-$0}"
   B.获取到目录,不包含此目录下的脚本
     common_bin=$(cd -P -- "$(dirname -- "$this")" && pwd -P)
   C.获取到当前脚本 及 脚本包含整个目录
     script="$(basename -- "$this")"
     this="$common_bin/$script"
   D.得到hadoop安装目录
     export HADOOP_PREFIX=`dirname "$this"`/..
     export HADOOP_HOME=${HADOOP_PREFIX}
   E.获取安装目录下的conf目录
     HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-$HADOOP_PREFIX/$DEFAULT_CONF_DIR}"
2.启动dfs
   ..传二个参数--config  和  hadoop的conf目录 (这里发现脚本里调用脚本是启动一
   个进程, 除非使用. 来调用不会)
   A.获取到当前脚本的目录,即hadoop的bin目录
     bin=`dirname "$0"`
     bin=`cd "$bin"; pwd`
   B.再次调用hadoop目录下的libexec/hadoop-config.sh脚本
     ..start-all给start-dfs传过来的参数无法传到hadoop-config.sh脚本中
     (重启进程无法传参数)
     也没做什么,基本上和start-all中调用hadoop-config一样,获取hadoop安装目录
     及conf目录
   C.发现给start-dfs传过来的参数,调用. "$bin"/../libexec/hadoop-config.sh完后
     参数都得不到了; 调用此脚本不是重启一个进程
   [b]D[/b].接下来重点了,调用三个脚本来启动name结点及data结点
           D1<hadoop-daemon>.给hadoop-daemon.sh传了几个参数,分别为如下:
              --config /usr/local/hadoop/libexec/../conf start namenode 
           D2<hadoop-daemon>. . "$bin"/../libexec/hadoop-config.sh时候会把
                              start-dfs传过来的参数传进去的,调用此脚本也就是
                              export一些参数
           D3<hadoop-daemon>.startStop=start    command=namenode   
                            export HADOOP_IDENT_STRING="$USER" #root
                            export HADOOP_LOG_DIR="$HADOOP_HOME/logs"   
                            mkdir -p "$HADOOP_LOG_DIR" #hadoop安装目录下
                            export HADOOP_LOGFILE=hadoop-$HADOOP_IDENT_STRING-
                            $command-$HOSTNAME.log
                            120 export HADOOP_ROOT_LOGGER="INFO,DRFA"   
                            mkdir -p "$HADOOP_PID_DIR"  #/tmp目录 
                            log=$HADOOP_LOG_DIR/hadoop-$HADOOP_IDENT_STRING-
                                 $command-$HOSTNAME.out
                             pid=$HADOOP_PID_DIR/hadoop-$HADOOP_IDENT_STRING-
                                 $command.pid
[b]小知识点:kill -0 PID
向某一进程发送一个无效的信号,如果该进程存在(能够接收信号),echo $?为0,否则为1,已证明此进程是否存在[/b]
           D4<hadoop-daemon>.接着调用hadoop脚本了,
                             1.判断$HADOOP_HOME_WARN_SUPPRESS是否有值,如果没有
                               提示也就是启动的时候可以见到这个提示
                               调用hadoop-config.sh脚本做些初始化CONF目录等
                             2.判断是否在WIN下运行的,
                               case "`uname`" in
                               CYGWIN*) cygwin=true;;
                               esac
                             3.判断JAVA_HOME是否设置,并把/share/hadoop/此目录下的
                               所有jar文件添加到CLASSPATH城
                               for f in $HADOOP_PREFIX/share/hadoop/lib/*.jar; do
                                   CLASSPATH=${CLASSPATH}:$f;
                               done
                               //linux  unset  命令
                                 功能说明:删除变量或函数。
                                 参   数:
                                          -f  仅删除函数。 
                                          -v  仅删除变量。
                                 root@debian:/usr/local/hadoop/share/hadoop# set
                                             查看当前环境变量
                            4.设置namenode结点的类
                               org.apache.hadoop.hdfs.server.namenode.NameNode
                            
           
//2.启动mapredure


  • 大小: 91.9 KB
分享到:
评论

相关推荐

    hadoop-shell.pdf

    Hadoop读写数据的过程涉及到客户端程序、NameNode(管理元数据)、DataNode(存储实际数据)等组件之间的交互。写入数据时,客户端首先与NameNode通信,获取可用的DataNode信息,然后将数据分块传输到DataNode上;...

    hadoop shell命令

    - **`hadoop namenode -format`**:格式化Namenode,通常在初次启动HDFS时使用。 #### 6. **hadoop datanode** Datanode负责存储实际的数据块,并响应来自Namenode的指令。 #### 7. **hadoop secondarynamenode**...

    hadoop环境部署自动化shell脚本(伪分布式、完全分布式集群搭建).docx

    【Hadoop环境部署自动化Shell脚本】是一种高效的方法,用于快速搭建Hadoop集群,无论是用于学习还是开发。本文档提供了一个详细的脚本,涵盖了从Java环境配置到Hadoop集群的完全分布式安装的所有步骤,旨在降低...

    Hadoop dfs shell

    Hadoop DFS Shell Hadoop DFS Shell 是 Hadoop Distributed Filesystem(HDFS)提供的一个命令行接口,用于客户端和 HDFS 之间的数据交互。它提供了类似于 Unix Shell 的命令接口,用于管理和维护 HDFS 中的文件和...

    大数据中Hadoop Shell介绍

    ### 大数据中Hadoop Shell介绍 在大数据处理领域,Hadoop无疑占据着举足轻重的地位。Hadoop是一款能够高效存储和处理大规模数据集的开源软件框架,它支持在集群环境中运行分布式应用程序。为了更好地管理和操作...

    hadoop2安装和常用shell命令

    本文详细介绍了Hadoop2的安装步骤以及一些常用的Shell命令,包括系统配置、Hadoop用户和目录的准备、Hadoop的安装、集群的启动与维护等。通过这些步骤,你可以成功地搭建起一个功能完备的Hadoop2集群,并利用各种...

    hadoop配置运行错误

    问题描述:在hadoop程序执行过程中出现空指针异常Error: java.lang.NullPointerException。 解决方法: 1. 确保java程序的正确:检查java程序的正确性,确保变量的使用前实例化声明,不要有数组越界之类的现象。 ...

    shell脚本配置Hadoop伪分布式.zip

    5. **install_hadoop.sh**: 这是一个shell脚本,用于自动化Hadoop的安装过程。它通常会包括解压Hadoop二进制文件、配置环境变量、创建目录结构等步骤。 6. **hdfs-site.sh**: HDFS站点配置文件,用于设定HDFS的特定...

    hadoop集群一键启动、关闭

    这一步骤通常只在首次启动或NameNode损坏时执行。 3. **启动DataNodes和NameNodes**:HDFS的启动始于NameNode,接着启动各个DataNode。NameNode负责元数据管理,DataNode负责数据存储。 4. **启动YARN**:YARN...

    Hadoop高可用自动化安装使用Shell脚本

    Shell脚本是一种强大的自动化工具,可以用来执行一系列命令,如配置、安装、启动等操作。在Hadoop集群中,一个完善的自动化脚本可以大大简化安装过程,减少人为错误,提高效率。脚本通常包括以下步骤: 1. **环境...

    Hadoop HDFS_Shell命令详解.pdf

    ### Hadoop HDFS Shell 命令详解 #### 概述 Hadoop HDFS Shell 是一组用于与Hadoop分布式文件系统 (HDFS) 进行交互的命令行工具。通过这些命令,用户能够执行诸如创建、删除、移动文件以及设置文件权限等操作。本文...

    Hadoop Shell命令

    调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。 所有的的FS shell命令使用URI路 径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件 系统,scheme是file。其中...

    hadoop入门教程.pdf

    首先,执行`hadoop namenode -format`命令对HDFS进行格式化。然后,使用`start-all.sh`脚本启动所有Hadoop守护进程。成功启动后,你应该能看到NameNode、DataNode、Secondary NameNode、JobTracker和TaskTracker的...

    hadoop在win需要的插件

    这些工具提供了一个类Unix的shell环境,使得Hadoop的bash脚本可以在Windows上执行。 3. **环境变量配置** - 安装JDK后,需要在系统环境变量中设置`JAVA_HOME`,指向JDK的安装路径。 - 同样,需要配置`HADOOP_HOME...

    hadoop-2.8.3 在windows环境下的执行文件

    首先,Hadoop最初设计时主要考虑的是在Linux集群上运行,其启动和停止命令通常是以.sh结尾的Unix shell脚本。然而,由于Windows系统并不支持.sh格式,我们需要将这些脚本转换为.cmd格式,以便在Windows的命令提示符...

    windows下安装hadoop

    4. 启动 Hadoop 服务,例如使用命令"hadoop namenode"和"hadoop datanode"。 四、配置 Hadoop 集群 Hadoop 集群是指由多个节点组成的分布式计算系统,用于处理大规模数据。 1. 配置 Hadoop 集群节点,例如配置 ...

    Hadoop期末考试题总结.doc

    4. SecondaryNameNode是HDFS中的一个组件,负责合并编辑日志,减少NameNode的负担和冷启动时的加载时间。 5. 使用Hadoop shell命令可以将本地文件放到集群中,命令是hadoop fs -put。 6. 要修改集群的备份数量,需要...

    Hadoop分布式安装笔记.rar

    1. **启动Hadoop**: 首先启动DataNode,接着启动NameNode,最后启动ResourceManager和NodeManager。 2. **检查Hadoop状态**: 使用`jps`命令查看各个进程是否正常运行,或者通过Web界面(默认端口50070)监控Hadoop...

    Hadoop框架之HDFS的shell操作

    在执行操作之前,确保Hadoop集群运行正常是十分重要的,使用jps命令查看各个Hadoop进程,如NameNode、DataNode等是否正常运行。如果需要停止操作,可以通过kill命令终止进程。在处理大规模数据时,HDFS shell提供了...

    Spark+Hadoop+IDE环境搭建

    6. **格式化NameNode**:执行命令`hadoop namenode -format`,初始化NameNode。 7. **启动Hadoop**:运行`start-dfs.sh`和`start-yarn.sh`启动HDFS和YARN。 **Spark的安装与配置:** 1. **下载Spark**:从Apache...

Global site tag (gtag.js) - Google Analytics