`
侯上校
  • 浏览: 216496 次
  • 性别: 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命令

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

    Hadoop从入门到上手企业开发

    近百节课视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程目录 000 上课方式和课程大纲介绍 ...065 回顾MapReduce执行过程以及MapReduce核心 066 Hadoop MapReduce框架数据类型讲解 067

    02_Hadoop 分布式文件系统(HDFS).docx

    ■ HDFS 提供什么功能 ■ HDFS 如何读取和写入文件 ■ NameNode 如何使用内存 ■ Hadoop 如何提供文件安全性 ■ 如何使用NameNode Web UI ■ 如何使用Hadoop 文件Shell

    Hadoop实战手册

    启动执行和异常检查17#通过界面查看集群部署部署成功18#通过执行 Hadoop pi 运行样例检查集群是否成功19#安装部署 常见错误207. Hadoop 集群系统 配置安装配置20#检查node节点linux 基础环境是否正常,参考 [ linux ...

    实验项目 MapReduce 编程

    1. 启 动 全 分 布 模 式 Hadoop 集 群 , 守护进程 包 括 NameNode 、 DataNode 、 SecondaryNameNode、ResourceManager、NodeManager 和 JobHistoryServer。 2. 在 Hadoop 集群主节点上搭建 MapReduce 开发环境 ...

    Hadoop之HDFS的shell操作

    Hadoop之HDFS概述 :https://blog.csdn.net/weixin_45102492/article/details/104369155 ...Hadoop之HDFS的数据流:...NameNode和SecondaryNameNode:https://blog.csdn.net/weixin_451024

    hfind:查找Hadoop实现

    export HFIND_OPTS = "-Dhfind.hadoop.ugi='pierre\\,pierre' -Dhfind.hadoop.namenode.url=hdfs://namenode.company.com:9000" 然后,您可以从展开的tarball目录中简单运行./hfind: [pierre@mouraf ~/downloads]...

    妳那伊抹微笑_云计算之Hadoop完美笔记2.0

    Day2 介绍HDFS体系结构及shell、java操作方式 Day3 介绍MapReduce体系结构(1) Day4 介绍MapReduce体系结构(2) Day5 介绍Hadoop集群、zookeeper操作 Day6 介绍HBase体系结构及基本操作 Day7 介绍Hive、sqoop体系结构...

    docker-hadoop-cluster:Docker上的多节点集群以进行自我开发

    $ cd docker-hadoop-cluster$ cp /path/to/hadoop-3.0.0-alpha3-SNAPSHOT.tar.gz hadoop-base$ make 构建基于hadoop-base映像后,即可使用docker-compose启动hadoop集群。 $ docker-compose up -d或者$ make run...

    hadoop-docker:hadoop docker

    master容器配置参数namenode文件夹地址: /root/hdfs/namenode环境IMAGE_ROLE容器类型为从属容器,当IMAGE_ROLE标记为master表示此容器为master容器,根据此标记容器启动时自动执行格式namenod && start-dfs && ...

    ansible-role-hadoop:Ansible角色,用于安装Hadoop集群

    # The type of the node: slave or master or resourcemanager or nodemanager or datanode or namenode hadoop_type_of_node: slave # Hadoop base directory to install the software hadoop_home: /opt/hadoop-...

    vagrant-hadoop-spark:使用 Hadoop 和 Spark 启动集群虚拟机的 Vagrant 项目

    使用 Hadoop v2.6.0 和 Spark v1.3.1 启动由 4 个虚拟机组成的集群的 Vagrant 项目。 node1 : HDFS NameNode + Spark Master node2 : YARN ResourceManager + JobHistoryServer + ProxyServer node3 : HDFS ...

    大数据平台构建:访问HDFS.pptx

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

    大数据开发笔试.docx

    从最新检查点后,hadoop将对每个文件的操作都保存在edits中,为避免edits不断增大,secondary namenode就会周期性合并fsimage和edits成新的fsimage,edits再记录新的变化, 这种机制有个问题:因edits存放在Namenode...

    实验项目 实战 HDFS 实验报告

    1. 启 动 全 分 布 模 式 Hadoop 集 群 , 守护进程 包 括 NameNode 、 DataNode 、 SecondaryNameNode、ResourceManager、NodeManager 和 JobHistoryServer。 2. 查看 HDFS Web 界面。 3. 练习 HDFS Shell 文件系统...

    hadoop-mongodb:如何使用 SQL 查询 MongoDB

    使用 SQL 查询带有 HIVE 的 MongoDB 该... 在这个例子中,有两种模式: Shell 模式:您可以在交互式 shell 中编写查询 服务器模式:您可以启动服务器部分(Hadoop、Hive),客户端应用程序将使用 JDBC 驱动程序连接到此

    hdfs源码.zip

    1.3.4 Datanode启动、心跳以及执行名字节点指令流程 26 1.3.5 HA切换流程 27 第2章 Hadoop RPC 29 2.1 概述 29 2.1.1 RPC框架概述 29 2.1.2 Hadoop RPC框架概述 30 2.2 Hadoop RPC的使用 36 2.2.1 ...

    2017最新大数据架构师精英课程

    113_hadoop namenode HA自动容灾" X3 `' ^/ U+ u+ U" F: } b 114_hadoop RM HA自动容灾 115_hbase集群搭建 116_hbase名字空间-表 117_hbase大批量操作7 [! ^" m3 B$ C. {1 S$ h. X 118_hbase架构-表和区域切割( p4 _...

    docker-iceberg-flink

    docker-iceberg-flink 声明 相关镜像参考了 的 和 docker-compose.yml中使用的镜像已上传到docker hub,可直接下载...hadoop namenode:namenode:9000 kafka:kafka:9092 其他端口 详情见 快速开始 docker-compose up -d

Global site tag (gtag.js) - Google Analytics