• 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文件和hdfs-site.xml:按例如以下形式进行配置(注意改动为你的详细相应路径)

改动配置文件 core-site.xml

<?xml version="1.0"?

>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"? > <!-- Put site-specific property overrides in this file. --> <configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/wenxiaole/Hadoop/hadoop-1.2.1/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>

改动配置文件 hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/Users/wenxiaole/Hadoop/hadoop-1.2.1/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/Users/wenxiaole/Hadoop/hadoop-1.2.1/tmp/dfs/data</value>
</property>
</configuration>

然后又一次格式化hdfs。

 hadoop namenode -format

此外。我们能够通过查看hadoop的logs文件夹下相关namenode日志查看问题来源。datanode不能启动时也可查看日志查找问题来源。

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

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

关于Hadoop配置项的一点说明

尽管仅仅须要配置 fs.defaultFS 和 dfs.replication 就能够执行(官方教程如此)。只是若没有配置 hadoop.tmp.dir 參数,则默认使用的暂时文件夹为 /tmp/hadoo-hadoop,而这个文件夹在重新启动时有可能被系统清理掉,导致必须又一次执行 format 才行。所以我们进行了设置。同一时候也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

提示

利用jps命令查看当前执行的hadoop进程时。和hadoop相关的一系列进程jobtracker、tasktracker、datanode、namenode和SecondaryNameNode的进程号也是很接近的。不会出现上千的差异。

假设发现它们的进程号差异过大,则往往会出错。这时能够通过重新启动解决这个问题。假设多次重新启动某些进程依然没有改变。还能够利用kill -9命令强制杀死进程,然后再重新启动。

hadoop一些常见报错的解决方式的更多相关文章

  1. Ubuntu常见报错及解决方式汇总

    作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...

  2. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  3. java常见报错及解决

    Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error  2.Runtime Exception 运行时异常 3.Exception  4.throw 用户自定 ...

  4. kubeadm常见报错和解决方法

    k8s随着社区不断壮大国内使用率现在也是比较高的,常用的部署方式主要还是以二进制和kubeadm为主,当然1.13之前大部分人还是以二进制,但是随着版本更新kubeadm已经逐步适用于生成环境,由于k ...

  5. ionic 3 常见报错及解决办法

    用ionic 3开发也有一段时间了,现在总结下开发中遇到的报错,以及解决办法: ERROR DOMException: Failed to execute 'setAttribute' on 'Ele ...

  6. mysqldump 常见报错及解决

    mysqldump失败案例及解决: 1.mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when du ...

  7. java报表工具FineReport使用中遇到的常见报错及解决办法(三)

    这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有.有报错要看日志.下面简单罗列下常见的问题,大多 ...

  8. [iOS 开发] Xcode常见报错及解决办法

    报错一: 在iOS7的真机运行时,弹出错误:App installation failed. There was an internal API error. 如图 解决办法: 在Xcode -> ...

  9. Xcode常见报错及解决办法

    报错一: 在iOS7的真机运行时,弹出错误:App installation failed. There was an internal API error. 如图 解决办法: 在Xcode -> ...

随机推荐

  1. 洛谷——P1307 数字反转

    https://www.luogu.org/problem/show?pid=1307#sub 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原 ...

  2. ubuntu终端sudo java提示“command not found”解决办法

    我在ubuntu 12.04里想启动一个java程序,sudo java -jar xxx.jar,但是结果提示sudo:java:command not found. Ubuntu下用sudo运行j ...

  3. vue使用marked.js实现markdown转html并提取标题生成目录

    html: <template> <div class="wrapper"> <div class="container"> ...

  4. BZOJ3672: [Noi2014]购票(CDQ分治,点分治)

    Description  今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会.        全国的城市构成了一棵以SZ市为根的有根树 ...

  5. 【习题 6-9 UVA - 127】"Accordian" Patience

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 链表模拟即可. 1pile不能加s... [代码] #include <bits/stdc++.h> using nam ...

  6. Mysql学习总结(14)——Mysql主从复制配置

    mysql主从复制 怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1.主从服务器分别作以下操作:   1.1.版本一致   1.2.初始化表,并在后台启动mysql   1.3. ...

  7. amazeui学习笔记--css(HTML元素2)--代码Code

    amazeui学习笔记--css(HTML元素2)--代码Code 一.总结 1.行内代码:code标签<code> 2.代码片段:pre标签<pre> 3.限制代码块高度:添 ...

  8. Android 解决RecyclerView删除Item导致位置错乱的问题

    RecyclerView的刷新分为内容变化和结构变化,结构变化比如remove和insert等并不会导致viewholder的更新,所以有时候我们使用 notifyItemRemoved(positi ...

  9. JS学习笔记 - 透明度运动框

    该练习的笔记如下: 1.  var cur=0;  //先声明一个变量. 2.  parseInt会舍掉小数,而opacity值恰恰是小数,所以对于opacity,必须用parseFloat. cur ...

  10. 2013腾讯编程马拉松||HDU 4505 小Q系列故事——电梯里的爱情 水水水

    http://acm.hdu.edu.cn/showproblem.php?pid=4505 题目大意: 电梯最开始在0层,并且最后必须再回到0层才算一趟任务结束.假设在开始的时候已知电梯内的每个人要 ...