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 集群常见错误

    这里将自己在初识hadoop过程中遇到的一些错误做一个简单总结: (一)启动hadoop集群时易出现的错误: 错误现象:java.net.NoRouteToHostException: No rout ...

  2. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  3. hadoop集群安装故障解决

    nodemanager进程解决:http://blog.csdn.net/baiyangfu_love/article/details/13504849 编译安装:http://blog.csdn.n ...

  4. Hadoop集群nodes unhealthy解决方法

    在搭建好Hadoop集群之后,所有服务均可正常启动,但是在运行MapReduce程序的时候,发现任务卡在7/09/07 22:28:14 INFO mapreduce.Job: Running job ...

  5. hadoop集群常见问题解决

    1:namenode启动 datanode未启动 解决: /hadoop/tmp/dfs/name/current VERSION 查看截取id 与 data/current VERSION集群ID ...

  6. 【转】ubuntu源码编译安装php常见错误解决办法

    ./configure -prefix=/usr/local/php -with-config-file-path=/etc -with-mysql=mysqlnd -with-mysqli=mysq ...

  7. [转]编译Android源代码常见错误解决办法

    1. 编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when ...

  8. 深度学习Matlab DeepLearningToolBox 工具包最常见错误解决办法\

    deeplearningtoolbox  下载链接github : https://github.com/rasmusbergpalm/DeepLearnToolbox,只需要解压到matlab当前工 ...

  9. OZ常见错误解决办法

    执行成功 错误信息解决办法 libvirt.libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No ...

随机推荐

  1. (转)redis是什么

    1. 什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Remote Dictionary Ser ...

  2. 01 shell编程规范与变量

    前言: 大家对shell脚本应该都不算陌生了,如果突然问你什么是shell脚本?是干什么用的?由什么组成以及怎么使用?变量的概念是什么?作用范围是什么?变量间的算术运算怎么表示?你能很容易答出来吗 本 ...

  3. Learning Experience of Big Data: Learn to install CentOs 6.5 on my laptop

    I have learnt some experience about Big Data during my summer vocation,I was told that The first thi ...

  4. windows 安装 .net core 环境

    windows 安装 环境说明 window10系统 .net core 1.0.1 visual studio code 安装 .net core Windows系统下安装软件基本上属于傻瓜式安装, ...

  5. GET TIME

    基本形式 GET TIME [FIELD tim]. オプション: ... FIELD tim 機能 FIELD オプションを使用しない場合. 日付および時刻のシステム項目 sy-datlo.sy-d ...

  6. Jersey2+swagger组建restful风格api及文档管理

    1.jar包引入 <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId& ...

  7. c/c++ 结构体传参问题

    c/c++的结构体传参可以有三种方式: 1.传递结构体变量,值传递 2.传递结构体指针,地址传递 3.传递结构体成员,可是值传递也可以是地址传递 根据代码示例: 1.传递结构体变量 #include& ...

  8. SXOI2018游记

    day0 动身去太原.太原五中虽然挺小的但是很好看啊qwq(进门口一个"通天堂"(逃 试机.似乎看到了__stdcall!!然而没敢去认orz.linux选手似乎是9个.准考证(一 ...

  9. 云计算之路-阿里云上:奇怪的CPU 100%问题

    这篇博文记录一下6月1日在阿里云上遇到的奇怪的CPU 100%问题,希望多年以后能真相大白. 那天负载均衡(SLB)中只放了1台云服务器(平时都放2台),由于是节假日,虽然只放了一台,但这台服务器的负 ...

  10. node 发送 post 请求 get请求。

    因为我们部门打算用node请求restful 然后慢慢替换掉服务端,以后直接请求soa的接口,让前端的数据更贴切项目,因为我们服务端接口和app公用一套,由于业务的需求和版本不统一(例如app6.4的 ...