精华内容
下载资源
问答
  • namenode启动命令
    千次阅读
    2016-04-06 07:53:00

    ./hadoop-daemon.sh start namenode

    转载于:https://www.cnblogs.com/wenhouniba/p/5357706.html

    更多相关内容
  • namenode启动流程

    2021-06-30 17:04:42
    启动命令 hadoop-daemon.sh start namenode hdfs.sh namenode) HADOOP_SUBCMD_SUPPORTDAEMONIZATION="true" HADOOP_CLASSNAME='org.apache.hadoop.hdfs.server.namenode.NameNode' hadoop_add_param HADOOP_OPTS...

    启动命令
    hadoop-daemon.sh start namenode

    hdfs.sh

     namenode)
          HADOOP_SUBCMD_SUPPORTDAEMONIZATION="true"
          HADOOP_CLASSNAME='org.apache.hadoop.hdfs.server.namenode.NameNode'
          hadoop_add_param HADOOP_OPTS hdfs.audit.logger "-Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER}"
    

    调用org.apache.hadoop.hdfs.server.namenode.NameNode的main方法

      try {
          StringUtils.startupShutdownMessage(NameNode.class, argv, LOG);
          NameNode namenode = createNameNode(argv, null);
          if (namenode != null) {
            namenode.join();
          }
        } catch (Throwable e) {
          LOG.error("Failed to start namenode.", e);
          terminate(1, e);
        }
    

    主要就是createNameNode方法
    setStartupOption(conf, startOpt);
    new NameNode(conf)
    里面主要是initialize(getConf());
    里面三个主要方法
    startHttpServer(conf);
    loadNamesystem(conf)
    createRpcServer(conf)

    展开全文
  • namenode启动

    2021-10-14 12:09:55
    我们简单看下namenode启动需要经历的步骤。 namenode启动要做什么启动9870服务端口加载镜像文件和编辑日志文件初始化RPC服务启动资源检查检查心跳检查是否进入安全模式 启动9870服务端口 因为namenode是一个进程,...

    我们简单看下namenode启动需要经历的步骤。

    启动9870服务端口

    因为namenode是一个进程,所以找到它的main方法:

    在这里插入图片描述

    进入createNameNode

    在这里插入图片描述

    找到new NodeNode(conf),进去。

    在这里插入图片描述

    找到初始化方法,进入:

    在这里插入图片描述

    他要获取绑定的地址,我们希望知道这个地址是什么。

    在这里插入图片描述

    看看这个默认的地址:

    在这里插入图片描述

    端口号是9870。这就是我们经常用的namenode的web端口。

    加载镜像文件和编辑日志文件

    回到初始化initialize方法:

    在这里插入图片描述

    现在进入loadNamesystem(conf)

    在这里插入图片描述

    可以看到它同时将fsImage和edits文件加载到了内存,这里包含所有的数据。

    初始化RPC服务

    再回到初始化方法,进入createRpcServer(conf)

    在这里插入图片描述

    在这里插入图片描述

    一直进入InetSocketAddress serviceRpcAddr = nn.getServiceRpcServerAddress(conf);可以了解到rpc的端口是8020(默认)。

    同时,他用RPC Builder的模式构造了server端的服务。我们看看其中所使用的协议:

    在这里插入图片描述

    这是一个客户端用来通信的协议(和没说一样)。

    启动资源检查

    再次回到初始化代码,进入startCommonServices(conf);

    在这里插入图片描述

    在这里插入图片描述

    再进:

    在这里插入图片描述

    再进:

    在这里插入图片描述

    再进(一路走):

    在这里插入图片描述

    查看资源是否可用。

    在这里插入图片描述

    关键在于其中的一个常量。

    在这里插入图片描述

    这个值默认是100M,也就是说,如果你磁盘不到100MB了,人家就要给你警告,说,再往edits写操作日志空间快不够啦。

    检查心跳

    回到检查资源最开始那里:

    在这里插入图片描述

    在这里插入图片描述

    这个datanodeManager是用来管理NN和DN之间的联系的。

    在这里插入图片描述

    现在他要对心跳进行检测。

    在这里插入图片描述

    这是一个线程。

    在这里插入图片描述

    run方法中找到检测心跳的逻辑。

    在这里插入图片描述

    我们看他是如何判断DN的死亡的。

    在这里插入图片描述

    我们关注一个常量heartbeatExpireInterval

    在这里插入图片描述

    这个值就是10分加30秒。超过这个值,NN就认为DN死了。

    检查是否进入安全模式

    回到BlockManager的激活代码,进入安全模式的激活检查:

    在这里插入图片描述

    我们看它的阈值是如何界定的:

    在这里插入图片描述

    在这里插入图片描述

    检查blockThreshold的值。

    在这里插入图片描述

    现在要去看看threshold的值。

    在这里插入图片描述

    它默认是0.999,也就是说,如果有1000个块,999个能正常启动还是可以启动的,如果有两个块不能启动那整个集群就不能启动。

    展开全文
  • 除主节点master外在slave1上也启动namenode 给我愁的啊~~~~~~~~ 先说主要部分: 其实一般配置文件会出问题,但是这次我的配置文件没有问题,但就是只有master的namenode启动了,slave2namenode节点怎么也出不来 但是...

    除主节点master外在slave1上也启动namenode


    给我愁的啊~~~~~~~~
    先说主要部分:
    其实一般配置文件会出问题,但是这次我的配置文件没有问题,但就是只有master的namenode启动了,slave2namenode节点怎么也出不来
    但是我在启动start-dfs.sh的时候

    [root@master journaldata]# start-dfs.sh
    Starting namenodes on [master slave1]   // 就是这里,气死人
    上一次登录:三 6月 16 19:54:25 CST 2021pts/0 上
    Starting datanodes
    上一次登录:三 6月 16 20:07:29 CST 2021pts/0 上
    Starting journal nodes [slave2 slave1 master]
    上一次登录:三 6月 16 20:07:32 CST 2021pts/0 上
    slave1: journalnode is running as process 3588.  Stop it first.
    slave2: journalnode is running as process 2618.  Stop it first.
    master: journalnode is running as process 6995.  Stop it first.
    Starting ZK Failover Controllers on NN hosts [master slave1]
    

    是不是很奇怪,明明显示在slave1上已经启动,但是查看节点就是没有

    [root@slave1 hadoop]# jps
    1251 QuorumPeerMain
    3588 JournalNode
    3754 DataNode
    3933 Jps
    

    查看slave2的namenode的日志文件,发现报错

    2021-06-16 20:07:36,719 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
    java.io.IOException: NameNode is not formatted.
    	at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:250)
    	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFSImage(FSNamesystem.java:1132)
    	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.loadFromDisk(FSNamesystem.java:747)
    	at org.apache.hadoop.hdfs.server.namenode.NameNode.loadNamesystem(NameNode.java:652)
    	at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:723)
    	at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:966)
    	at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:939)
    	at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1705)
    	at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1772)
    2021-06-16 20:07:36,722 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: java.io.IOException: NameNode is not formatted.
    2021-06-16 20:07:36,768 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG: 
    /************************************************************
    SHUTDOWN_MSG: Shutting down NameNode at slave1/192.168.220.8
    

    原来是节点后来挂掉了,他说我没格式化,行,我又格式化了一遍,还是不行,前前后后格式化了好几遍,(你能理解我的痛苦吧,死亡,当时心里就三个字:杀了我(cnm))
    呃,大家都是文明人,遇到问题解决问题🐎,
    废话不多说,以上全是吐槽,问题的解决关键就是在master格式化之后要在slave1(也就是你想启动但是没有启动namenode的虚拟机)下输入命令

    hdfs namenode -bootstrapStandby    //同步命令
    

    成功同步之后,再执行一句

    hdfs --daemon start namenode
    

    用来单独开启namenode节点,你再jps查看一下就会看到你期盼已久的namenode(从未如此想念过它)
    重新格式化注意事项:
    1、格式化之前,最好把所有节点上你之前格式化之后生成的文件都删除了,有一个current文件,但有的也会生成别的文件,主要是看你配置文件下的路径
    2、如果你的是高可用集群,格式化之前一定要开启zookeeper和journalnode,注意是每台虚拟机下都要开启的,

    zkServer.sh start 
    hdfs --daemon start journalnode 
    

    我的配置文件,供参考:
    hbase-site.xml

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <!--
    /*
     * Licensed to the Apache Software Foundation (ASF) under one
     * or more contributor license agreements.  See the NOTICE file
     * distributed with this work for additional information
     * regarding copyright ownership.  The ASF licenses this file
     * to you under the Apache License, Version 2.0 (the
     * "License"); you may not use this file except in compliance
     * with the License.  You may obtain a copy of the License at
     *
     *     http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    -->
    <configuration>
      <!--
        The following properties are set for running HBase as a single process on a
        developer workstation. With this configuration, HBase is running in
        "stand-alone" mode and without a distributed file system. In this mode, and
        without further configuration, HBase and ZooKeeper data are stored on the
        local filesystem, in a path under the value configured for `hbase.tmp.dir`.
        This value is overridden from its default value of `/tmp` because many
        systems clean `/tmp` on a regular basis. Instead, it points to a path within
        this HBase installation directory.
    
        Running against the `LocalFileSystem`, as opposed to a distributed
        filesystem, runs the risk of data integrity issues and data loss. Normally
        HBase will refuse to run in such an environment. Setting
        `hbase.unsafe.stream.capability.enforce` to `false` overrides this behavior,
        permitting operation. This configuration is for the developer workstation
        only and __should not be used in production!__
    
        See also https://hbase.apache.org/book.html#standalone_dist
      -->
      <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
      </property>
      <property>
        <name>hbase.tmp.dir</name>
        <value>/opt/data/hbase/tmp</value>
      </property>
      <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
      </property>
      <!--hbase在hdfs中的存放位置-->
      <property>
        <name>hbase.rootdir</name>
        <value>hdfs://master:9000/hbase</value>
      </property>
      <!--zookeeper的地址,多个地址用逗号分割-->
      <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master:2181,slave1:2181,slave2:2181</value>
      </property>
      <property>
        <name>hbase.master</name>
        <value>master:16010</value>
      </property>
    </configuration>
    
    

    hadoop-env.sh

    //上面jdk出填写jdk路径
    # The java implementation to use. By default, this environment
    # variable is REQUIRED on ALL platforms except OS X!
    export JAVA_HOME=/opt/app/jdk
    
    //最后的位置加上
    HDFS_NAMENODE_USER=root
    HDFS_DATANODE_USER=root
    HDFS_JOURNALNODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    YARN_RESOURCEMANAGER_USER=root
    YARN_NODEMANAGER_USER=root 
    HDFS_ZKFC_USER=root
    

    yarn-site.xml

    <?xml version="1.0"?>
    <!--
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
    
        http://www.apache.org/licenses/LICENSE-2.0
    
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License. See accompanying LICENSE file.
    -->
    <configuration>
    
    <!-- Site specific YARN configuration properties -->
        <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>2048</value>
        </property>
        <property>
            <name>yarn.scheduler.maximum-allocation-mb</name>
            <value>2048</value>
    		<description>default value is 1024</description>
        </property>
        <property>
            <name>yarn.nodemanager.resource.cpu-vcores</name>
            <value>1</value>
        </property>
        <property>
            <name>yarn.resourcemanager.ha.enabled</name>
            <value>true</value>
        </property>
        <property>
            <name>yarn.resourcemanager.cluster-id</name>
            <value>yrc</value>
        </property>
        <property>
            <name>yarn.resourcemanager.ha.rm-ids</name>
            <value>rm1,rm2</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hostname.rm1</name>
            <value>master</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hostname.rm2</name>
            <value>slave1</value>
        </property>
        <property>
            <name>yarn.resourcemanager.zk-address</name>
            <value>master:2181,slave1:2181,slave2:2181</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    
    </configuration>
    
    展开全文
  • Namenode启动与停止

    2021-09-09 13:33:43
    Namenode启动与停止  Namenode实体涉及到三个类:NameNode类、NameNodeRpcServer类、FSNamesystem类。NameNode类负责管理Namenode配置、RPC接口以及HTTP接等;NameNodeRpcServer类用于接收和处理所有的RPC请求;...
  • 通过命令bin/hdfs getconf –namenodes查看namenode在那些节点上 (2)  通过ssh方式登录到远程主机,启动hadoop-deamons.sh脚本  (3)  hadoop-deamon.sh脚本启动slaves.sh脚本 (4)  slaves.sh脚本启动hadoop-...
  • namenode是hadoop架构中最重要的角色之一,NameNode主要管理管理着名称空间表(文件名与block的映射,存储在磁盘上且十分重要)和inodes表(块与机器的映射,只要namenode出现就会存在),通常情况下一个集群中有且...
  • 关于hdfs中启动namenode进程

    千次阅读 2017-06-07 14:28:05
    hdfs启动namenode,datanode的命令
  • hadoop-namenode-启动流程

    2020-05-17 10:49:11
    集群启动的时候,会首先进入安全模式。 作用: 当系统处于安全模式时会检查数据块的完整性(数据块的副本率) 假设我们设置的副本数(即参数dfs.replication)是5,那么在datanode上就应该有5个副本存在,假设只存在...
  • 如果报错是无法加载fsimage的话 hdfs namenode -format 这个命令初始化一次就可以了
  • NameNode启动

    2018-09-20 17:56:51
    namenode启动,以及源码分析 1.位置 org.apache.hadoop.hdfs.server.namenode.NameNode
  • 我们在hdfs-site.xml中配置了name和data文件夹就是用来存放我们格式化namenode之后元数据和真正datanode数据存放的信息 你可以进去查看一下是否存在格式化之后出现的文件夹,namenode的机器是name里存在,datanode...
  • 运行下面的命令启动namenode,jps命令查看namenode发现没有启动。查看生成的日志文件发现有如下的警告信息 [root@localhost hadoop-2.8.5]# sbin/hadoop-daemon.sh start namenode starting secondarynamenode, ...
  • 启动NameNode和DataNode

    千次阅读 2020-07-13 10:58:34
    只想启动namenode或是datanode: hadoop-daemons.sh start namenode hadoop-daemons.sh start datanode daemons(守护进程)
  • hadoop集群启动命令汇总

    千次阅读 2020-10-07 00:26:10
    sbin/start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、ResourceManager、NodeManager sbin/stop-all.sh 停止...sbin/start-dfs.sh 启动Hadoop HDFS守护进程NameNode、Secondary
  • 首先安装hadoop要安装好java的开发环境,配置好jdk其实创建一个...bin是自己的操作命令,sbin是启动命令!etc是配置文件include是本地库的头文件!我们的jar包在share文件中!下图是share包中的目录剩下就在前面...
  • namemode启动之后shell没有报错,但使用jps明露并不能看到namenode已经被启动。 问题解决 第一步:定位出错的原因。 可以通过分析hadoop的日志文件信息来定位问题的发生原因。这里我们的问题是namenode启动异常,...
  • 启动过程没有发现错误,但是jps查看进程时,发现少了NameNode,而DataNode却存在: 原因之一是:端口9000已经被占用,解决办法有两个, 一:查找占用端口的进程,kill掉它。 netstat -anp|grep 9000 kill -9 ...
  • hadoop启动后jps没有namenode一般都是由于两次或两次以上格式化NameNode造成的,有两种方法可以解决:1.删除DataNode的所有资料2.修改每个DataNode的namespaceID(位于/home/hdfs/data/current/VERSION文件中)或修改...
  • 虚拟机集群启动,Hadoop常用命令

    千次阅读 2022-03-14 21:15:35
    虚拟机集群启动,Hadoop常用命令 (一)、启动hdfs 1,namenode节点第一次初始化 在namenode安装节点执行命令: hadoop namenode -format 2,单节点启动、停止 在namenode节点执行命令:一般位hadoop101节点 hadoop-...
  • 发现始终启动不了NameNode,一直报错ls: Call From pc/127.0.0.0 to localhost:9000 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: ...
  • jps命令查看时,namenode没有成功启动

    千次阅读 2021-11-27 18:41:52
    再删除hadoop下生成的tmp和logs文件(启动时不要在root命令下,否则生成的tmp和logs删不掉) 重新格式化namenode :hdfs namenode -format 重新启动 原博:(36条消息) jps命令没有namenode或datanode, 怎么解决...
  • 启动停止HDFS的NameNode

    2021-01-05 13:14:25
    1.启动停止namenode 在/hadoop-2.7.2/sbin目录下面 启动NN: hadoop-daemon.sh start namenode 停止NN: hadoop-daemon.sh stop namenode 2.查看NameNode下面有几个DateNode 有三个
  • 问题描述:启动namenode第一次启动失败,第二次成功,第二次后可以jps查找到namenode。但启动datanode后,jps只有一个datanode,找不到namenode。 解决思路:去hadoop安装路径下的log文件夹内,找到对应的namenode的...
  • NameNode服务端的启动过程 ...下面是Linux服务器上启动NameNode命令。 [root@hadoop01 sbin]# hadoop-daemon.sh start namenode 既然是通过hadoop-daemon.s进行启动,那么我们可以看看这个shell脚本是怎么启...
  • 云服务器启动hadoop,namenode启动起来 之前使用虚拟机玩Hadoop,现在使用云服务器安装Hadoop的时候粗心了 启动Hadoop问题 [root@hadoop_zxy ~]# jps 13893 SecondaryNameNode 14327 Jps 13545 DateNode 解决 ...
  • namenode节点无法启动解决方法

    千次阅读 2022-04-20 21:00:24
    这个问题一般是由于两次或两次以上的格式化NameNode(hadoop namenode -format)造成的, 2.想要重新格式化,删掉hadoop-2.10.1目录下的tmp文件夹: 执行命令:rm -rf tmp (注意在执行格式化命令时一定要关闭...
  • 问题就出在tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失  于是我们得重新配置一个tmp文件目录  首先在home目录下建立一个hadoop_tmp目录  sudo mkdir ~/hadoop_tmp  然后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,539
精华内容 18,215
关键字:

启动namenode 的命令