知识点
相关文章
更多最近更新
更多Hadoop-0.20.205.0 编译
2019-03-28 14:17|来源: 网络
尝试编译Hadoop-0.20.205这个版本,编译过程出现了如下小错误:/home/user/github/hadoop-common/build.xml:1611: /home/user/github/hadoop-common/build/hadoop-0.20.205.1/native not found.
以上提示是在说native目录没有找到,hadoop引入了本地库的概念,通过本地库可以使Hadoop更高效的做某些事情,目前在Hadoop中本地库应用在文件的压缩上面:
1. zlib
2. gzip
解决过程:
1. 进入到/hadoop-common/src/native目录,先尝试直接编译本地库:./configure
2. 编译没有通过,并打出如下错误:configure: error: Native java headers not found. Is $JAVA_HOME set correctly?
3. export JAVA_HOME
4. 再次执行./configure,编译通过
5. 执行ant mvn-install,通过
注:在Ubuntu下可能还会有些其它错误,总之依次执行./configure make make install看能不能通过就行了。
附1:
在使用这两种压缩方式的时候,Hadoop默认会从$HADOOP_HOME/lib/native/Linux-*目录中加载本地库。
如果加载成功,输出为:
DEBUG util.NativeCodeLoader - Trying to load the custom-built native-hadoop library...
INFO util.NativeCodeLoader - Loaded the native-hadoop library
如果加载失败,输出为:
INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
在Hadoop的配置文件core-site.xml中可以设置是否使用本地库:
<property>
<name>hadoop.native.lib</name>
<value>true</value>
<description>Should native hadoop libraries, if present, be used.</description>
</property>
Hadoop默认的配置为启用本地库。
另外,可以在环境变量中设置使用本地库的位置:
export JAVA_LIBRARY_PATH=/path/to/hadoop-native-libs
有的时候也会发现Hadoop自带的本地库无法使用,这种情况下就需要自己去编译本地库了。在$HADOOP_HOME目录下,使用如下命令即可:
ant compile-native
编译完成后,可以在$HADOOP_HOME/build/native目录下找到相应的文件,然后指定文件的路径或者移动编译好的文件到默认目录下即可。
相关问答
更多-
在LINUX 搭建eclipse+hadoop 编译代码出现错误[2024-02-09]
重新build path! -
hadoop-core-0.20.205.0 jar包哪里有下载[2022-12-19]
findjar网站试试 -
把你编译后的hadoop源码丢到原来的hadoop集群环境中去 即覆盖hadoop安装目录下的原hadoop-core-xxx.jar 同样的所有节点都需要更新 然后重启集群
-
1:编译了hadoop,可以方便的查看某个函数的实现。如果不编译就只是自己去翻源代码了。更重要的是如果你编译了hadoop,你可以根据自己的需要改动hadoop的某些实现机制。(hadoop开源的好处). 2:编程hadoop程序是不需要编译hadoop源码的。你可以参看网上hadoop安装教程。 关于hadoop编程,欢迎访问我的博客:http://blog.csdn.net/jackydai987
-
hadoop为什么会出现no tasktracker to stop的错误[2024-05-12]
因为Hadoop-B上的MapReduce服务没启动的起来。 你可以查下Hadoop-B上的tasktracker日志,看有没有报错。 -
hadoop 1.2.1 是多少位编译的[2022-02-02]
在编译之前,我们需要先下载后hadoop 1.2.1的源码文件,并解压到合适的位置。在此我是把hadoop直接放到D盘根目录,另外由于在编译的工程中需要知道eclipse的路径,所以首先计划目录结构如下如下: Eclipse: D:\DTools\eclipse Hadoop: D:\hadoop-1.2.1 1. 下载hadoop-1.2.1.tar.gz,并解压缩到 D盘根目录下 2. 在 Eclipse 中选择 File—>Import—>General/Existing Projects i ... -
如何编译hadoop2.6源码[2024-01-02]
1,安装gcc,执行如下的几个yum命令即可 Java代码 yum -y install gcc yum -y install gcc-c++ yum install make yum install autoconf automake libtool cmake ncurses-devel openssl-devel gcc* 2,安装JDK,并设置环境变量,完成后测试安装成功 -
这取决于程序中使用的依赖项。 基本的hadoop程序需要hadoop-commons-version.jar和hadoop-core-version.jar 。 使用以下内容 javac path-to/*.jar:path/to/*.jar classname.java This depends on the dependencies used in the program. Basic hadoop-program require hadoop-commons-version.jar & hadoop ...
-
WrapperKey正在实现Configurable并实现setConf。 仅实现一个接口并不意味着其他一些类会调用它。 Hadoop框架可能没有在键上调用setConf方法。 我不认为这是一个错误。 我见过的所有类型都只实现了WritableComparable而不是Configurable。 不确定为此的解决方法,您可能必须在键中定义具体类型。 WrapperKey is implementing the Configurable and implements the setConf. Just imp ...
-
根据文档,您可以执行以下操作(在我的系统和工作中测试) export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar $HADOOP_HOME/bin/hadoop com.sun.tools.javac.Main WordCount.java并最终使用jar创建 jar cf wc.jar WordCount*.class 链接到这里的官方文档 According to the documentation you can do the following (test ...