hadoop 集群常见错误解决办法

hadoop 集群常见错误解决办法:

(一)启动Hadoop集群时易出现的错误:

1.   错误现象:Java.NET.NoRouteToHostException: No route to host.

   原因:master服务器上的防火墙没有关闭。

   解决方法: 在master上关闭防火墙: chkconfig iptables off.

2.    错误现象:org.apache.hadoop.ipc.RPC: Server at JMN/10.22.1.203:9000 not available yet.    /* JMN/10.22.1.203 是  hadoop集群当中master的主机名/ip */

   原因:/etc/hosts中的文件被自动篡改。

   解决方法: 将/etc/hosts 文件按配置文件要求改回来。

3.    错误现象:Too many fetch-failures.

   原因:结点间的连通不够全面。

   解决方法:

1) 检查 /etc/hosts要求本机ip对应服务器名,并且包含所有的服务器ip和服务器名。

2) 检查 .ssh/authorized_keys要求包含所有服务器(包括其自身)的public key。

(二)  在hadoop集群的master中用命令运行例子易出现的故障:

1. 错误现象:java.lang.OutOfMemoryError: Javaheap space.

   原因:JVM内存不够。

   解决方法:修改mapred-site.xml中mapred.child.java.opts属性的值,其默认值是-Xmx200m 可根据需要适当增大 该值。

2. 错误现象:could only be replicated to 0 nodes, instead of 1

   解决方法:在NameNode上执行命令:hadoop namenode –format重新格式化HDFS,在格式化之前,需要将你  NameNode上所配置的dfs.name.dir这一namenode用来存放NameNode 持久存储名字空间及事务日志的本地文件系统路径删除,同时将各DataNode上的dfs.data.dir的路径DataNode存放块数据的本地文件系统路径的目录也删除。

3.  错误现象:namenode in safe mode.

    原因:hadoop进入安全模式。

解决方法:在shell中执行命令hadoop dfsadmin -safemode leave 使hadoop离开安全模式。

(三)在windows下Eclipse中运行例子易出现的错误:

1. 错误现象:org.apache.hadoop.security.AccessControlException: Permission denied: user=administrator, access=EXECUTE, inode="job_201111031322_0003":heipark:supergroup:rwx-.

 原因:本地用户administrator(本机windows用户)想要远程操作hadoop系统,没有权限引起的。

 解决办法:

i、如果是测试环境,可以取消hadoop hdfs的用户权限检查。打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为true)OK了。

ii、修改hadoop location参数,在advanced parameter选项卡中,找到hadoop.job.ugi项,将此项改为启动hadoop的用户名即可。

2.错误现象:IOException: Cannot run program "chmod": CreateProcess error=2.

  原因: 没有安装cygwin或 没有配置环境变量。
    解决办法:安装并配置环境变量 bin到 path下 重启 eclipse 问题即可。

3.  错误现象: WARN mapred.LocalJobRunner: job_local_0001
java.lang.OutOfMemoryError: javaheap space
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:781)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:350)
………..

  原因:客户端程序运行时java虚拟机内存分配不够

  解决办法:修改run configuration,选择Arguments选项卡,在VM arguments栏中加入-Xmx1024m,保存即可解决问题。

分类: Hadoop2013-05-11 01:06 253人阅读 评论(0) 收藏 举报

==================================

windows cygwin环境下,遇到这个错误:org.apache.hadoop.security.AccessControlException: Permission denied: user=cyg_server, access=EXECUTE, inode="job_201010161322_0003":heipark:supergroup:rwx------

解决:刚开始还使用“./bin/hadoop dfs -chmod 777 ”,后来发现老是这样设置麻烦。可以取消hadoop hdfs的用户权限检查。打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为true)OK了。注意生产环境处于安全考虑不要这么搞。

==================================

window下使用eclipse开发hadoop程序遇到的问题。

现象一:“DFS Locations”无法浏览DFS中文件,报错

Cannot connect to the Map/Reduce location: heipark
Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException

现象二:启动自己编写的mapred程序报相同错误。

原因:Hadoop服务端版本和eclipse插件版本不一致

解决:倒腾了好几个版本eclipse和hadoop插件,有的点击没反应,不能浏览文件系统。最后整理了一下有两个办法:

一:自己编译eclipse plugin(自己尝试编译0.21.0版本没有成功。首选遇到包的依赖问题,接着编译成功后,eclipse右键创建还是没有响应)

二:我使用0.21.0自带的eclipse plugin在多个eclipse都不好用,在网上下了一个可以3.3,,3.4,3.5都可以跑的hadoop-0.20.3-dev-eclipse-plugin.jar(http://code.google.com/p/hadoop-eclipse-plugin/downloads/list),但是报上面的错误,有网友说是插件和hadoop版本不一致导致的。最后我下载了一个0.20.2版本hadoop,使用自带的插件在eclipse3.3.2下完美运行。

==================================

Namenode报错:“jobtracker.info could only be replicated to 0 nodes, instead of 1”

DateNode报错java.io.IOException: Incompatible namespaceIDs错误

原因:由于DateNode一段时间未启动,再次启动与NameNode数据不同步导致。

解决一:修改/dfs/data/current/VERSION文件中namespaceID值,保证NameNode和DateNode一致。修改原则:如果你有多个DateNode需要都需要修改,那就修改NameNode;否则就修改NameNode。总之就是最小化修改原则。这样修改不会删除数据,推荐。

解决二:删除有问题datenode的data文件夹,然后format namenode。

参考:http://forum.hadoop.tw/viewtopic.php?f=4&t=43

==================================

在windows eclipse开发环境提交job到远处Linux hadoop集群,运行mapred报错“IOException: Cannot run program "chmod": CreateProcess error=2

原因:安装cygwin,而且需要设置"cygwin\bin"到环境变量PATH中

==================================

运行hive0.6.0报如下错误:

Invalid maximum heap size: -Xmx4096m 
The specified size exceeds the maximum representable size. 
Could not create the Java virtual machine.

修改“Hive-0.6.0/bin/ext/util/execHiveCmd.sh”

HADOOP_HEAPSIZE=4096 为

HADOOP_HEAPSIZE=256

==================================

使用java client运行hive官方《 Getting Started Guide》中apachelog例子报错:

ClassNotFoundException: org.apache.hadoop.hive.contrib.serde2.RegexSerDe

hive没有找到hive-contrib-0.7.0.jar吗?这个jar明明在lib下,解决办法如下:

vi hive-default.xml

  1. <property>
  2. <name>hive.aux.jars.path</name>
  3. <value>file:///home/hadoop/hive-0.7.0/lib/hive-contrib-0.7.0.jar</value>
  4. </property>

再次启动Hive Thrift Server,OK了。

解决hadoop 集群启动常见错误办法的更多相关文章

  1. Hadoop集群启动之后,datanode节点未正常启动的问题

    Hadoop集群启动之后,用JPS命令查看进程发现datanode节点上,只有TaskTracker进程.如下图所示 master的进程: 两个slave的节点进程 发现salve节点上竟然没有dat ...

  2. 解决Hadoop集群hdfs无法启动DataNode的问题

    问题描述: 在hadoop启动hdfs的之后,使用jps命令查看运行情况时发现hdfs的DataNode并没有打开. 笔者出现此情况前曾使用hdfs namenode -format格式化了hdfs ...

  3. [hadoop] 集群启动和内存调优

    1.启动Hadoop集群 #首先查看下zoo.cfg里面配置的server.id和集群主机的id是否一致 #如果不一致会造成yarn控制不了从节点的启动 cat /home/hadoop/zookee ...

  4. Hadoop集群启动

    1.初始化集群 要启动Hadoop集群,需要启动HDFS和YARN两个集群 注意:首次启动HDFS时,必须对其进行格式化操作.本质上是一些清理和准备工作, 因为此时的HDFS在物理上还是不存在的 命令 ...

  5. windows下在eclipse上远程连接hadoop集群调试mapreduce错误记录

    第一次跑mapreduce,记录遇到的几个问题,hadoop集群是CDH版本的,但我windows本地的jar包是直接用hadoop2.6.0的版本,并没有特意找CDH版本的 1.Exception ...

  6. kafka集群中常见错误的解决方法:kafka.common.KafkaException: Should not set log end offset on partition

    问题描述:kafka单台机器做集群操作是没有问题的,如果分布多台机器并且partitions或者备份的个数大于1都会报kafka.common.KafkaException: Should not s ...

  7. 修复 Elasticsearch 集群的常见错误和问题

    文章转载自:https://mp.weixin.qq.com/s/8nWV5b8bJyTLqSv62JdcAw 第一篇:Elasticsearch 磁盘使用率超过警戒水位线 从磁盘常见错误说下去 当客 ...

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

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

  9. hadoop集群启动报错: java.io.IOException: Incompatible clusterIDs

    java.io.IOException: Incompatible clusterIDs in /export/hadoop-2.7.5/hadoopDatas/datanodeDatas2: nam ...

随机推荐

  1. scala成长之路(4)compaion object——伴生对象的使用

    虽然java一直声称自己是完全面向对象的语言,但一直以来都被很多人所质疑,其中java的静态成员函数就是主要的“罪魁祸首”.由于java中保留了静态方法的调用,导致其编程模式依然有过程式编程的可能,尤 ...

  2. Ubunut18.04与Windows传输文件的方式

    ubunut18.04与Windows传输文件的方式 开发环境:ubuntu18.04; 虚拟机:virtual box; 操作系统:Win10_64bits/专业版 在以前使用的ubuntu12.0 ...

  3. pyecharts数据分析及展示

    仅仅从网上爬下数据当然是不够用的,主要还得对数据进行分析与展示,大部分人都看重薪资,但是薪资数据有的是*k/月,有的是*万/月,还有*万/年等等,就要对数据进行清理 将所有单位统一化,全部换算成统一单 ...

  4. Python入门学习笔记4:他人的博客及他人的学习思路

    看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...

  5. linux文件操作篇 (一)文件属性与权限

    文件的属性和权限是linux中 目录 和 文件 的两个基本特性. #属性: . 所有者属性 . 访问权限属性   -rwxrwxr-x #第一个字符是文件类别 -表示 普通文件 d 表示目录 b 表示 ...

  6. HDU暑假多校第六场K-werewolf

    一.题意 好人必然说真话,坏人不一定说真话,给定N个人的言论<每人一个发言.不谈及自己>,要求指出有多少个人一定是好人,有多少个人一定是坏人.#define 狼人 坏人#define 村民 ...

  7. 一步一步学Linq to sql(四):查询句法

    select 描述:查询顾客的公司名.地址信息 查询句法: var 构建匿名类型1 = from c in ctx.Customers select new { 公司名 = c.CompanyName ...

  8. HashMap源码注释翻译

    HashMap.java(JDK1.8) 如有错误翻译的地方,欢迎评论指出. 介绍:对于HashMap及其子类而言,它们采用Hash算法来决定集合中元素的存储位置.当系统开始初始化HashMap时,系 ...

  9. django序列化时间

    具体代码: import json,time,datetime lis ={'time':datetime.date.today(),"username":"zhilei ...

  10. 使用TFS需要注意的地方

    1. 用管理员添加了本地映射,然后用其他用户就添加不了映射,一定要先用管理员账户去把映射 删除掉: 2. 在正式使用TFS时,一定需要在VS工具的设置里面,设置一下,签出时自动获取最新的代码.(默认是 ...