• Failed to set setXIncludeAware(true) for parser

遇到此问题一般是jar包冲突的问题。一种情况是我们向java的lib目录添加我们自己的jar包导致hadoop引用jar包的冲突。解决方案就是删除我们自己向系统添加的jar包,重新配置。将自己的jar包或者外部jar放入系统目录会在编译程序时带来方便,但是这不是一种好习惯,我们应该通过修改CLASSPATH的方式指定jar包路径。

  • Cannot lock storage /tmp/hadoop-root/dfs/name. The directory isalready locked

这个错误一般是我们在某次配置失败后,hadoop创建该目录,锁定之后失败退出造成的。解决方案就是删除tmp目录下hadoop创建的相关目录,然后重新配置。

  • localhost Name or service not known

在配置hadoop单节点环境时,需要利用ssh登录localhost。如果按照网上的方式配置之后还是不能正确登录localhost,并报上述错误,可以检查/etc/sysconfig/network和 /etc/hosts下的localhost名字是否一致。有时在某个文件中localhost是注释掉的。

  • ls: Cannot access .: No such file or directory.

当在hadoop中运行ls命令时常会出现这个错误,这个错误是指hdfs文件系统中当前目录为空,并不是指本地文件系统中当前目录为空。当我们使用hdfs文件系统时,会默认进入/user/username下,这个目录不存在于本地文件系统,而是由hdfs内部管理的一个目录。当我们第一次使用ls命令时,/user/username下是空的,所以会提示上述错误。当我们添加新的文件之后就不再报该错。

  • Call to localhost/127.0.0.1:9000 failed on connection exception

当在伪分布式环境下运行wordcount示例时,如果报上述错误说明未启动hadoop,利用start-all.sh脚本启动hadoop环境。

  • jps命令没有datanode运行

一个原因是执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录namespaceID,标识了所格式化的namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。解决方案是清空hadoop的tmp文件,重启格式化hdfs。

  • Retrying connect to server: localhost/127.0.0.1:9000

说明hadoop的namenode进程没有启动,导致与namenode无法连接而报错。可以先执行stop-all.sh脚本停止hadoop,然后调用start-all.sh重启hadoop。

  • jps命令没有namenode运行

一个可能原因是tmp文件,默认的tmp文件每次重新开机会被清空,与此同时namenode的格式化信息就会丢失,于是我们得重新配置一个tmp文件目录。可以通过修改hadoop/conf目录里面的core-site.xml文件,加入以下节点:

<property>

<name>hadoop.tmp.dir</name>

<value>/home/chjzh/hadoop_tmp</value>

<description>A base for othertemporary directories.</description>

</property>

然后重新格式化hdfs。

此外,我们可以通过查看hadoop的logs目录下相关namenode日志查看问题来源。datanode不能启动时也可查看日志查找问题来源。

  • Input path does not exist: hdfs://localhost:9000/user/root/inputfile

运行hadoop程序的时候,输入文件必须先放入hdfs文件系统中,不能是本地文件,如果是本地文件就会报上述找不到文件的错误。解决方案是首先利用put或者copyFromLocal拷贝文件到hdfs中,然后再运行hadoop程序。

  • 提示

利用jps命令查看当前运行的hadoop进程时,和hadoop相关的一系列进程jobtracker、tasktracker、datanode、namenode和SecondaryNameNode的进程号也是非常接近的,不会出现上千的差异。如果发现它们的进程号差异过大,则往往会出错,这时可以通过重启解决问题。如果多次重启某些进程依旧没有改变,还可以利用kill -9命令强制杀死进程,然后再重启。

hadoop环境配置过程中可能遇到问题的解决方案的更多相关文章

  1. Hadoop/Spark环境运行过程中可能遇到的问题或注意事项

    1.集群启动的时候,从节点的datanode没有启动 问题原因:从节点的tmp/data下的配置文件中的clusterID与主节点的tmp/data下的配置文件中的clusterID不一致,导致集群启 ...

  2. Hadoop环境搭建过程中遇到的问题以及解决方法

    1.启动hadoop之前,ssh免密登录slave主机正常,使用命令start-all.sh启动hadoop时,需要输入slave主机的密码,说明ssh文件权限有问题,需要执行以下操作: 1)进入.s ...

  3. 【甘道夫】HBase开发环境搭建过程中可能遇到的异常:No FileSystem for scheme: hdfs

    异常: 2014-02-24 12:15:48,507 WARN  [Thread-2] util.DynamicClassLoader (DynamicClassLoader.java:<in ...

  4. 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑

    <Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...

  5. Hadoop的配置过程(虚拟机中的伪分布模式)

    1引言 hadoop如今已经成为大数据处理中不可缺少的关键技术,在如今大数据爆炸的时代,hadoop给我们处理海量数据提供了强有力的技术支撑.因此,了解hadoop的原理与应用方法是必要的技术知识. ...

  6. 菜鸟帮你跳过openstack配置过程中的坑

    一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间 ...

  7. UITableView使用过程中可能遇到的问题

    前言:记录一些UITableView使用过程中可能遇到的问题 环境:Xcode9 解决UITableViewStyleGrouped类型的TableView的cell距离顶部有距离的问题: table ...

  8. 菜鸟帮你跳过openstack配置过程中的坑[文末新添加福利]

    一:前言 对于一个以前做java全栈工程师而言,而且没学过Linux,很少用虚拟机(还是在大学的时候简单的用过),去配置openstack我想我入的坑肯定比有基础的一定要多,躺在每个坑中徘徊思索的时间 ...

  9. javaee开发工具及环境配置过程

    在配置javaee开发环境的过程中遇到过很多问题,在此系统的整理一下我之前的配置过程 注:配置过程学习自<JSP&Servlet学习笔记(第二版)>详细过程可以阅读此书.在文章的最 ...

随机推荐

  1. Bootstrap3 表格-紧缩表格

    通过添加 .table-condensed 类可以让表格更加紧凑,单元格中的内补(padding)均会减半. <table class="table table-condensed&q ...

  2. 六星经典CSAPP-笔记(12)并发编程(上)

    六星经典CSAPP-笔记(12)并发编程(上) 1.并发(Concurrency) 我们经常在不知不觉间就说到或使用并发,但从未深入思考并发.我们经常能"遇见"并发,因为并发不仅仅 ...

  3. 关于在arm裸板编程时使用printf问题的解决方法

    在ARM裸板驱动编程中,是不允许程序直接调用C库程序的.为什么呢?因为此时kernel还没有被加载,所以在封装在kernel层的C库的API是用不了的,那怎么办? 在开发过程中,printf的功能我不 ...

  4. Picasso 完美兼容 OkHttp3.3,缓存优化两不误

    Tamic 专注移动开发!更多文章请关注http://www.jianshu.com/p/6241950f9daf csdn: http://blog.csdn.net/sk719887916/art ...

  5. Android学习路线指南

    看到这位大牛的博文,不禁得感概,我最近也遇到了很多问题,内心彷徨不堪,转载大牛这篇博文,是为了更好的勉励自己.原文地址在最后面. 前言 看到一篇文章中提到"最近几年国内的初级Android程 ...

  6. Android开发基础规范(一)

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52602487 前言:Androi ...

  7. 利用ScrollView滑动属性实现点击查看更多

    利用ScrollView的滚动实现点击查看更多 效果图 更新内容布局 <ScrollView android:id="@+id/sv_des" android:layout_ ...

  8. 开源负载均衡通讯分发器(LB dispatcher) - G5

    from:http://bbs.csdn.net/topics/390753043 1.开发背景今天和系统运维的老大聊天,谈到一直在用的F5,行里对其评价为价格过高.功能复杂难懂,反正印象不是很好,使 ...

  9. java中抽象类的定义和使用

    java虽然比较简单,但是细节的知识点还是很多的,现在,介绍一下抽象类的定义和实现基础. 指的是在类中定义方法,而不去实现它,而在它的子类中去具体实现,继承抽象类的子类必须实现父类的抽象方法,除非子类 ...

  10. Python装饰器模式学习总结

    装饰器模式,重点在于装饰.装饰的核心仍旧是被装饰对象. 类比于Java编程的时候的包装模式,是同样的道理.虽然概念上稍有不同但是原理上还是比较相近的.下面我就来谈一谈我对Python的装饰器的学习的一 ...