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,保存即可解决问题。
==================================
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
- <property>
- <name>hive.aux.jars.path</name>
- <value>file:///home/hadoop/hive-0.7.0/lib/hive-contrib-0.7.0.jar</value>
- </property>
再次启动Hive Thrift Server,OK了。
hadoop 集群常见错误解决办法的更多相关文章
- Hadoop 集群常见错误
这里将自己在初识hadoop过程中遇到的一些错误做一个简单总结: (一)启动hadoop集群时易出现的错误: 错误现象:java.net.NoRouteToHostException: No rout ...
- PHP编译安装时常见错误解决办法,php编译常见错误
PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...
- hadoop集群安装故障解决
nodemanager进程解决:http://blog.csdn.net/baiyangfu_love/article/details/13504849 编译安装:http://blog.csdn.n ...
- Hadoop集群nodes unhealthy解决方法
在搭建好Hadoop集群之后,所有服务均可正常启动,但是在运行MapReduce程序的时候,发现任务卡在7/09/07 22:28:14 INFO mapreduce.Job: Running job ...
- hadoop集群常见问题解决
1:namenode启动 datanode未启动 解决: /hadoop/tmp/dfs/name/current VERSION 查看截取id 与 data/current VERSION集群ID ...
- 【转】ubuntu源码编译安装php常见错误解决办法
./configure -prefix=/usr/local/php -with-config-file-path=/etc -with-mysql=mysqlnd -with-mysqli=mysq ...
- [转]编译Android源代码常见错误解决办法
1. 编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when ...
- 深度学习Matlab DeepLearningToolBox 工具包最常见错误解决办法\
deeplearningtoolbox 下载链接github : https://github.com/rasmusbergpalm/DeepLearnToolbox,只需要解压到matlab当前工 ...
- OZ常见错误解决办法
执行成功 错误信息解决办法 libvirt.libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No ...
随机推荐
- motto - MySQL - 常用命令
本文搜索关键字:motto mysql 登录数据库 mysql -uroot -proot -P3306 -h127.0.0.1 --prompt "\u@\h \d>" - ...
- 使用webBrowser进行C#和JS通讯
.前台调用后台: 在webBrowser使用过程中为了C#和js通讯,webBrowser必须设置ObjectForScripting的属性,它是一个object,这个object可以提供给webBr ...
- thinkphp phpmailer邮箱验证
thinkphp 关于phpmailer的邮箱验证 一 . 登陆自己的邮箱,例如:qq邮箱.登陆qq邮箱在账户设置中开启smtp服务: 之后回发送一个授权码 , 这个授权码先保存下来,这个授权码在后 ...
- 《python编程从入门到实践》第六章笔记
1.字典 字典:一系列键-值对,每一个键都与每一个值相关联.与键相关联的值可以是数字.字符串.列表和字典. 最简单的字典只有一个键值对. eg: alien = {'color':'green','p ...
- n点游戏
n点游戏 24点游戏是非常经典而简单的小游戏,从一堆扑克牌中抽取4张,向其中添加运算符号并使其运行结果恰等于24,这叫作24点游戏. 现在我们不再是组合24,而是组合出给定的数字n,但要求只可以利用任 ...
- R语言绘图:在地图上绘制热力图
使用ggplot2在地图上绘制热力图 ######*****绘制热力图代码*****####### interval <- seq(0, 150000, 25000)[-2] #设置价格区间 n ...
- 1394-Minimum Inversion Number
Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- redis学习资料汇总
redis学习资料汇总 2017年01月07日 22:10:37 阅读数:281 转载:http://blog.csdn.net/wtyvhreal/article/details/50427627 ...
- Django笔记 —— 高级视图和URL配置
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- 【HNOI2008】玩具装箱TOY & 斜率优化学习笔记
题目 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为 \(1\cdots N\ ...