启动Hadoop后使用JPS命令查看进程,发现只有NameNode和NodeManger。

原因:格式化两次namenode。导致namenode和datanode中的CID不一致。

$ hadoop namenode -format

解决方法:修改namenode和datanode的CID为同一个或者清除文件夹(先停止Hadoop所有服务)。

上述方法执行完没有结果则查看端口号是否被占用。

第一种

查看Hadoop下的配置文件core-site.xml内容:

$ vim /opt/hadoop2.6.5/etc/hadoop/core-site.xml
    <property>
<name>hadoop.tmp.dir</name>
<value>/home/huasheng/app/hadoop-2.6.5/tmp/</value>
</property>

发现临时目录在/home/huasheng/app/hadoop-2.6.5/tmp/ 下

$ cd /home/huasheng/app/hadoop-2.6.5/tmp/dfs
$ ls
data  name  namesecondary #name: namenode的信息
#data: datanode的信息 #查看name下的VERSION信息
$ cat name/current/VERSION #Fri Mar 15 10:12:21 CST 2019
namespaceID=596602248
clusterID=CID-b604bc78-8f8a-4cf6-a02b-3ac257ebef93
cTime=0
storageType=NAME_NODE
blockpoolID=BP-139131966-192.168.142.129-1552615941181
layoutVersion=-60 #修改data下的clusterID
$ vim data/current/VERSION #Fri Mar 15 10:37:33 CST 2019
storageID=DS-a9a026d4-3833-4086-91c4-17e68c157add
clusterID=CID-b604bc78-8f8a-4cf6-a02b-3ac257ebef93
cTime=0
datanodeUuid=b3848163-9ee4-4192-bc58-c96184c3dddd
storageType=DATA_NODE
layoutVersion=-56

启动Hadoop即可。

第二种

直接删除临时目录下文件,格式化namenode节点。

$ rm -rf /hadoop-2.6.5/tmp/
$ hadoop namenode -format

启动Hadoop即可。

但是我在测试的时候使用上述方法之后仍然没有解决。

#打开日志文件
$ cd /hadoop-2.6.5/logs/ #日志信息使用 类型-用户名-服务-hostname.log 的形式存储。比如datanode节点:
hadoop-huasheng-datanode-huas.log

查看后发现如下一段:

java.net.BindException: Port in use: 0.0.0.0:50090
at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:892)
at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:828)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:276)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:192)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:671)
Caused by: java.net.BindException: 地址已在使用
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:887)
... 4 more

查看端口是否被占用,如果被占用则杀掉对应进程即可

$ netstat -anp | grep 50090

[Hadoop] 启动HDFS缺少服务的更多相关文章

  1. Hadoop启动HDFS时DataNode未启动

    在用$HADOOP_HOME/sbin/start-dfs.sh启动HDFS时发现只有NameNode和SecondaryNameNode启动,没有DataNode. 查看logs下的DataNode ...

  2. hadoop启动中缺少datanode

    原文链接地址:https://blog.csdn.net/islotus/article/details/78357857 本人测试有效: 首先删除hadoop下的dfs文件(注:本文件不一定在had ...

  3. Hadoop框架:单服务下伪分布式集群搭建

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础环境 1.环境版本 环境:centos7 hadoop版本:2.7.2 jdk版本:1.8 2.Hadoop目录结构 bin目录:存放 ...

  4. 启动HDFS之后一直处于安全模式org.apache.hadoop.hdfs.server.namenode.SafeModeException: Log not rolled. Name node is in safe mode.

    一.现象 三台机器 crxy99,crxy98,crxy97(crxy99是NameNode+DataNode,crxy98和crxy97是DataNode) 按正常命令启动HDFS之后,HDFS一直 ...

  5. Hadoop 系列文章(二) Hadoop配置部署启动HDFS及本地模式运行MapReduce

    接着上一篇文章,继续我们 hadoop 的入门案例. 1. 修改 core-site.xml 文件 [bamboo@hadoop-senior hadoop-2.5.0]$ vim etc/hadoo ...

  6. 格式化hdfs后,hadoop集群启动hdfs,namenode启动成功,datanode未启动

    集群格式化hdfs后,在主节点运行启动hdfs后,发现namenode启动了,而datanode没有启动,在其他节点上jps后没有datanode进程!原因: 当我们使用hdfs namenode - ...

  7. Hadoop格式化HDFS报错java.net.UnknownHostException: localhost.localdomain: localhost.localdomain

    异常描述: 在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示: [shirdrn@localhost bin]$ hadoop n ...

  8. Hadoop入门--HDFS(单节点)配置和部署 (一)

    一 配置SSH 下载ssh服务端和客户端 sudo apt-get install openssh-server openssh-client 验证是否安装成功 ssh username@192.16 ...

  9. Hadoop之HDFS及NameNode单点故障解决方案

    Hadoop之HDFS 版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/QQ技术交流群:299142667 H ...

随机推荐

  1. 算法 set / multiset -- lower_bound()的二分搜索

    lower_bound() 在数组中搜索时 搜不到 返回 .end(), 若需要返回0,用upper_bound()-lower_bound() 若要返回下一个下标  则需要在set / multis ...

  2. webpack的安装及使用

     webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency g ...

  3. python两个列表合并为字典,一个作为key,一个作为value

    两个列表合并为一个字典函数list_dic(list1,list2)可以直接复制拿走 传入的参数为两个列表,list1准备作为key,list2准备作为value,key和value位置一一对应. d ...

  4. 关于oracle数据库中获取版本号类数据最大值的sql

    目前还在高度加班中,但是本次内容怕自己忘记,好不容易解决的,所以赶紧先随便抽点时间记录下,也没来得及考虑效率什么的优化问题,免得以后忘记了. 测试库结构如下: 表名为 testtab 字段名为test ...

  5. [GXOI/GZOI2019]与或和

    考虑拆位,计算每一个二进制位的贡献. 问题转化为求一个01矩阵的全0/1的子矩形个数. 考虑计算以第i行第j列为右下角的合法子矩形个数. 发现合法的左上角范围向左是单调下降的. 可以用一个单调栈来维护 ...

  6. php(三)使用thinkphp操作数据库

    1.数据库设置 在项目D:\workspaces\phpDemo01\helloworldProject\Common\Conf\config.php配置: <?php return array ...

  7. Java开源框架知识整理

    1.Spring的了解     Spring是一个轻量级的IOC/DI和AOP容器的开源框架.可以实现Java模块化开发,贯穿表现层,业务层,逻辑层,实现各层之间的解耦合关系.     IOC,控制反 ...

  8. Centos7安装Nginx+PHP+MySQL

    之前曾经在服务器上从头到尾搭过一次环境,但那时新手一枚,很多地方搞不定,是前辈帮忙解决的.这次独自一人在服务器上撘环境,感慨上次没有做好相关笔记,所以事后整理一下,下次再搭环境时可以轻车熟路. 一.准 ...

  9. java Arrays常用方法

    1. 简介 Arrays类包含用于操作数组的各种方法(例如排序和搜索).此类还包含一个静态工厂,允许将数组视为列表. 如果指定的数组引用为null,则此类中的方法都抛出NullPointerExcep ...

  10. [linux]关于deepin截图软件在KDE桌面下无法使用粘贴的解决方法

    -------更新----- 1.其实不如直接关闭klipper启动程序 # rm -rf /usr/share/plasma/plasmoids/org.kde.plasma.clipboard 2 ...