mac中myeclipse10连接hadoop-2.6.0集群开发环境问题汇总
2015-09-08 17:49
756 查看
问题1:org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security .AccessControlException: Permission denied: user=Administrator, access=WRITE, inode="root": root:/tmp:rwxr-xr-x
其实这个错误的原因很容易看出来,用户Administator在hadoop上执行写操作时被权限系统拒绝.
1)、在hdfs的配置文件中,将dfs.permissions修改为False
到服务器上修改hadoop的配置文件:
conf/hdfs-core.xml, 找到
dfs.permissions 的配置项 , 将value值改为 false
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>
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.
</description>
</property>
修改完貌似要重启下hadoop的进程才能生效
2)、执行这样的操作 hadoop fs -chmod 777 /tmp
问题2:
解决Eclipse中运行WordCount出现 java.lang.ClassNotFoundException: org.apache.hadoop.examples.WordCount$TokenizerMapper问题
原因:hadoop集群上运行mapreduce程序需要jar包。
解决办法:添加conf.set("mapred.jar","hadoop-test.jar");
把项目打包为jar文件hadoop-test.jar,放置在项目根目录下。
另外网上的解放方法是:
mian方法中添加:
File jarFile = EJob.createTempJar( "bin" );
EJob.addClasspath( "/usr/hadoop/conf" );
ClassLoader classLoader = EJob.getClassLoader();
Thread.currentThread().setContextClassLoader(classLoader);
。。。
((JobConf) job.getConfiguration()).setJar(jarFile.toString());
其实这个错误的原因很容易看出来,用户Administator在hadoop上执行写操作时被权限系统拒绝.
解决问题的过程
看到这个错误的,第一步就是将这个错误直接入放到百度google里面进行搜索。找到了N多篇文章,但是主要的思路就如此篇文章所写的两个解决办法:http://www.cnblogs.com/acmy/archive/2011/10/28/2227901.html1)、在hdfs的配置文件中,将dfs.permissions修改为False
到服务器上修改hadoop的配置文件:
conf/hdfs-core.xml, 找到
dfs.permissions 的配置项 , 将value值改为 false
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>
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.
</description>
</property>
修改完貌似要重启下hadoop的进程才能生效
2)、执行这样的操作 hadoop fs -chmod 777 /tmp
问题2:
解决Eclipse中运行WordCount出现 java.lang.ClassNotFoundException: org.apache.hadoop.examples.WordCount$TokenizerMapper问题
原因:hadoop集群上运行mapreduce程序需要jar包。
解决办法:添加conf.set("mapred.jar","hadoop-test.jar");
把项目打包为jar文件hadoop-test.jar,放置在项目根目录下。
另外网上的解放方法是:
mian方法中添加:
File jarFile = EJob.createTempJar( "bin" );
EJob.addClasspath( "/usr/hadoop/conf" );
ClassLoader classLoader = EJob.getClassLoader();
Thread.currentThread().setContextClassLoader(classLoader);
。。。
((JobConf) job.getConfiguration()).setJar(jarFile.toString());
相关文章推荐
- 输出数据到xml文件(java实现)
- java的io处理2
- java的IO处理
- Mavne
- 【leetcode】Valid Palindrome【java】
- POJ1207解题报告 Java
- java完全数
- Java调用操作系统API与DLL的使用
- java中方法重载和重写
- java修饰符作用域
- shiro +springmvc无权限跳转到指定错误页面
- 字符串分割--java中String.split()用法
- 我的Java学习笔记 java11-面向对象
- Java多线程初学者指南(1):线程简介
- 关闭“JDK自动更新”提示
- java的环境变量的配置
- java匿名类工厂方法[java编程思想10.6.1]
- 黑马训练营java学习笔记:异常
- Java学习路线
- 使用 Spring 3 来创建 RESTful Web Services