(转)Hadoop之常见错误集锦
1、伪分布模式下执行start-dfs.sh脚本启动HDFS时出现如下错误:

vi打开libexec/hadoop-config.sh中,查找JAVA_HOME is not set and could not be found,找到后在这一行if [[ -z $JAVA_HOME ]]; then的前面添加如下语句即可:
export JAVA_HOME=/usr/java/jdk1.7.0_45
保存后,重新执行start-dfs.sh脚本,然后执行jps就能看到NameNode、DataNode等你想看到的东西了:

2、执行start-dfs.sh脚本启动Hadoop 0.20.2 HDFS时出现如下错误:
localhost: Error: JAVA_HOME is not set.
localhost: Error: JAVA_HOME is not set.
vi打开conf/hadoop-env.sh,添加如下语句即可:
export JAVA_HOME=/usr/java/jdk1.7.0_45
3、上传本地文件到HDFS上时出现如下错误:
WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/root/input01/file01 could only be replicated to 0 nodes, instead of 1
这是由于没有添加节点的原因,即需要先启动namenode,再启动datanode,然后自动jobtracker和tasktracker,如下即可:
(1)重启namenode:
#hadoop-daemon.sh start namenode
(2)重启datanode
#hadoop-daemon.sh start datanode
------------------------------------------------以下是Windows下Eclipse连接Linux下Hadoop编译运行程序出现的问题------------------------------------------------
4、Run on Hadoop编译程序时,出现如下错误:
Exception in thread "main" java.io.IOException: Cannot run program "chmod": CreateProcess error=2, ?????????
原因是执行不了Linux命令,解决方法是安装Cygwin并把C:\cygwin64\bin路径添加到path环境变量中去。
需要注意的是,安装过程中至少需要选择devel和shell这两个包。
5、Run on Hadoop编译程序时,出现如下错误:
WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String)
原因是因为job.setJarByClass使用了xxx.class的类加载器来寻找包含该类的Jar包,然后设置该Jar包为作业所用的Jar包。但是我们的作业Jar包是在程序运行时才打包的,而xxx.class的类加载器是AppClassLoader,运行后我们无法改变它的搜索路径,所以使用setJarByClass是无法设置作业Jar包的。
将本工程导出的jar包放到工程根目录下面,并在提交程序前添加下面的设置:
conf.set("mapred.jar", "xxx.jar"); //其中,xxx.jar是你导出的jar文件名,注意第一个参数不要拼写错了。
6、Run on Hadoop编译程序时,出现如下错误:
org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlException: Permission denied: user=xxx, access=WRITE, inode="hadoop": hadoop:supergroup:rwxr-xr-x
因为Eclipse使用Hadoop插件提交作业时,会默认以xxx身份去将作业写入hdfs文件系统中,对应的也就是HDFS上的/user/xxx,我的为/user/root,由于xxx用户对hadoop目录并没有写入权限,所以导致异常的发生。解决方法为:放开 hadoop目录的权限 , 方法有二:
(1)执行如下命令
$ hadoop fs -chmod 777 /user/root
(2)修改Hadoop配置
修改hadoop的配置文件:conf/hdfs-core.xml,找到dfs.permissions的配置项,将value值改为false,具体如下:
dfs.permissions
false
If "true", enable permission checking in HDFS.
If "false", permission checking is turned off, but all other behavior is unchanged.
Switching from one parameter value to the other does not change the mode, owner or group of files or directories.
修改完后重启下hadoop的进程使之生效即可。
------------------------------------------------end------------------------------------------------
7、MapReduce操作HBase出现如下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/zookeeper/KeeperException
这是因为Hadoop在调用HBase包时找不到相应jar包,解决办法是将HBase目录下的hbase-0.90.4.jar和lib目录下的zookeeper-3.3.2.jar包拷贝到hadoop/lib下即可,其它这类问题类似。
8、MapReduce操作HBase出现如下错误:
org.apache.hadoop.hbase.TableNotFoundException: Cannot find row in .META. for table
这是因为HBase中不存在要插入数据的表,在hbase shell中手工创建表格create 'xxx', 'xxx'即可。
9、MapReduce跑job时如果出现如下错误:
java.lang.RuntimeException: java.lang.ClassNotFoundException:
这是因为Hadoop在找class时没有从jar包中找而出错,解决办法是删除除开jar和.java文件外的所有目录和文件即可。
(转)Hadoop之常见错误集锦的更多相关文章
- Docker Hadoop 配置常见错误及解决办法
Docker Hadoop 配置常见错误及解决办法 问题1:wordcount运行卡住,hadoop 任务运行到running job就卡住了 INFO mapreduce.Job: Running ...
- Hadoop - Mac OSX下配置和启动hadoop以及常见错误解决
0. 安装JDK 参考网上教程在OSX下安装jdk 1. 下载及安装hadoop a) 下载地址: http://hadoop.apache.org b) 配置ssh环境 在terminal里面输入: ...
- Python:常见错误集锦(持续更新ing)
初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...
- Hadoop入门 常见错误及解决方案
常见错误及解决方案 目录 常见错误及解决方案 ResourceManager连接失败 root用户和ranan用户两个用户启动集群不统一 不识别主机名 DataNode和NameNode进程同时只能工 ...
- hadoop常见错误集锦
1 Hadoop namenode -format后Incompatible namespaceIDS 错误解决办法 重新格式话namenode后,会重新分配一个namespaceId, 这个nam ...
- ubuntu安装php常见错误集锦
一.configure 报错 1.错误类型: Configure: error: Please reinstall the libcurl distribution-easy.h should be ...
- Oracle常见错误集锦
1.ORA-12560:TNS:协议适配器错误 OracleService<SID>服务没有启动 2. ORA-12541:TNS:无监听程序 Oracle<ORACLE_HOME& ...
- Sliverlight常见错误集锦
1. 使用GridSplitter时候(参考),出现如下错误 C# 中的错误Error 2 The type 'sp:GridSplitter' was not found. Verify…… 对程序 ...
- PCL常见错误集锦
来自微信公众号的分享 我刚刚开始接触PCL,懂的东西也很少,所以总是出现各种各样的问题,每次遇见问题的时候要查找各种各样的资料,很费时间.所以,今天我把我遇见的常见问题分享给大家,讲解的步骤尽量详细, ...
随机推荐
- Android实现Excel表格,且表格能左右、上下滑动
1.自定义实现一个水平滚动控件HorizontalScrollView import android.content.Context; import android.util.AttributeSet ...
- SDCycleScrollView 添加初始滚动页码
最近在做一个无限轮播界面,由于自己写的有些卡顿,所以我使用了第三方框架SDCycleScrollView,但是我的初始滚动页不是从第一页开始怎么办,我想从第二页,第三页,或者最后一页,关于这个SDCy ...
- Ansible10:Playbook的角色与包含【转】
当单个playbook文件越来越大的时候,我们就需要重新来组织Playbooks了.我们可以将一个大的playbook拆成若干个小的playbook文件,然后通过include的方式,在主配置文件中将 ...
- 关于PHP静态方法调用和实例化类调用的区别
1.首先来澄清一些观点 由于静态方法在内存中只有一份,无论你调用多少次,都是共用的,而且没有对象的概念,所以不能在静态方法里面使用$this调用,如果非得调用的话,只能实例化自身类 而实例化不一样,每 ...
- 关于Select * 与Select 字段名 的问题!
[转]http://blog.csdn.net/tongyu2009/article/details/8252418 1.SELECT * 语句取出表中的所有字段,不论该字段的数据对调用的应用程序是否 ...
- 第一次安装ubuntu要设置的东西
1. 安装网卡驱动 lscpi 查看网卡型号 根据型号找到驱动源码 下载下来并编译 安装 2. 编译安卓源码的时候出现jdk型号不对的情况 把/usr/bin/java 删除,就可以了.
- springmvc 关于controller的字符编码
在使用springMVC框架构建web应用,客户端常会请求字符串.整型.json等格式的数据,通常使用@ResponseBody注解使 controller回应相应的数据而不是去渲染某个页面.如果请求 ...
- java模式:模板模式的简单理解
1.模板模式就是用虚类作为基类将几个要执行差不多操作中相同的部分提取出来,不同的部分各自实现! 2.下面给出简单栗子: 我要进行的操作是将大象和狐狸放入冰箱,放入大象和狐狸有相同的步骤:开冰箱和关冰箱 ...
- FZU 2113 BCD Code 数位dp
数位dp,但是很奇怪的是我在虚拟oj上用GUC C++提交会wa,用Visual c++提交正确,但是加上注释后提交又莫名CE--好任性啊 0 ,0 题目思路:看代码吧 注释很详细 #include& ...
- iOS xcode工程了解
一个xcode工程默认是在一个主线程的,有需要可以创建分线程 判断是否是主线程: NSThread *thread1=[NSThread currentThread]; if ([red isMain ...