搭建(win7)eclipse远程操作(Linux上)hadoop2.6.0_出错集

来源:互联网 发布:手机淘宝怎样删除差评 编辑:程序博客网 时间:2024/05/18 19:44

问题1:在DFS Lcation 上不能多文件进行操作:

在hadoop上的每个节点上修改该文件 conf/mapred-site.xml

     增加:                <property>               <name>dfs.permissions</name>               <value>false</value>               </property>     关闭权限验证

问题2

log4j:WARN No appenders could be foundfor logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).

log4j:WARN Please initialize the log4jsystem properly.

log4j:WARN Seehttp://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

在src文件夹下创建以log4j.properties命名的文件

文件内容如下

log4j.rootLogger=WARN, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%d%p [%c] - %m%n

问题3

java.io.IOException: Could not locateexecutable null/bin/winutils.exe in the Hadoop binaries.

缺少winutils.exe 下载一个添加进去就行

下载地址 http://download.csdn.net/detail/u010911997/8478049

问题4

Exceptionin thread “main” java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V

这是由于hadoop.dll 版本问题,2.4之前的和自后的需要的不一样需要选择正确的版本并且在 Hadoop/bin和 C:\windows\system32 上将其替换

问题5

Exception in thread “main”java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:557)

目前未找到解决方法,只能修改源代码

源代码下载 http://pan.baidu.com/s/1jGJzVSy

将源代码放入 工程的src目录下并创建同样的包名,然后修改源代码

源代码 未修改前

publicstaticbooleanaccess(String path, AccessRight desiredAccess)

    throws IOException {   return access0(path,desiredAccess.accessRight());

}

源代码 修改后

public staticbooleanaccess(String path, AccessRight desiredAccess)

    throws IOException {    return ture;

// return access0(path,desiredAccess.accessRight());

}

修改后编译成功,但是看不到软件运行时候的信息反馈

对于
“”main”java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0”问题,还可以这样解决的:
System.setProperty(“HADOOP_USER_NAME”, “hadoop”);其中hadoop为有权限登录hadoop系统的linux用户名。

0 0