导航:首页 > 源码编译 > hadoop编译视频源码

hadoop编译视频源码

发布时间:2022-06-26 04:24:22

1. 如何编译Apache Hadoop2.4.0源代码

安装JDK

hadoop是java写的,编译hadoop必须安装jdk。

从oracle官网下载jdk,下载地址是http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,选择 jdk-7u45-linux-x64.tar.gz下载。

执行以下命令压缩jdk

tar -zxvfjdk-7u45-linux-x64.tar.gz

会生成一个文件夹jdk1.7.0_45,然后设置环境变量中。

执行命令 vi/etc/profile,增加以下内容到配置文件中,结果显示如下

export JAVA_HOME=/usr/java/jdk1.7.0_45

export JAVA_OPTS="-Xms1024m-Xmx1024m"

exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

export PATH=$JAVA_HOME/bin:$PATH

保存退出文件后,执行以下命令

source /etc/profile

java –version 看到显示的版本信息即正确。

安装maven

hadoop源码是使用maven组织管理的,必须下载maven。从maven官网下载,下载地址是http://maven.apache.org/download.cgi,选择 apache-maven-3.1.0-bin.tar.gz 下载,不要选择3.1下载。

执行以下命令解压缩jdk

tar -zxvf apache-maven-3.1.0-bin.tar.gz

会生成一个文件夹apache-maven-3.1.0,然后设置环境变量中。

执行命令vi /etc/profile,编辑结果如下所示

MAVEN_HOME=/usr/maven/apache-maven-3.1.0

export MAVEN_HOME

export PATH=${PATH}:${MAVEN_HOME}/bin

保存退出文件后,执行以下命令

source /etc/profile

mvn -version

如果看到下面的显示信息,证明配置正确了。

2. hadoop源码修改了,编译成功后,将编译后的hadoop文件直接拿来搭建么,还是需要经过什么处理呢

把你编译后的hadoop源码丢到原来的hadoop集群环境中去 即覆盖hadoop安装目录下的原hadoop-core-xxx.jar 同样的所有节点都需要更新 然后重启集群

3. linux下,如何在上不了外网的情况下编译hadoop源码作为一名学生,真是太愁苦了!!

1.首先确认,你的linux上有没有安装ant
2.确认你的 各种环境是否配置正确(不会的话去看hadoop开发指南)
我把我的build.xml发给你
<?xml version="1.0"?>
<!--build.xml - a simple Ant buildfile -->
<project name="Simple Buildfile" default="compile" basedir=".">

<!--Set up the env prefix for environment variable -->
<property environment="env"/>

<!-- The directory cotaining source code -->
<property name="src.dir" value="src" />

<!-- Temporary build directories -->
<property name="build.dir" value="build"/>
<property name="build.classes" value="${build.dir}/classes"/>
<property name="build.lib" value="${build.dir}/lib"/>
<property name="jar.name" value="howtouse.jar"/>

<!-- Hadoop path -->
<property name="hadoop.path" value="${env.HADOOP_HOME}"/>

<!-- Target to create the build directories prior to the -->
<!-- compile target -->
<target name="prepare">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes}"/>
<mkdir dir="${build.lib}"/>
</target>

<target name="clean" description="Removes all generated files.">
<delete dir="${build.dir}"/>
</target>

<target name="compile" depends="prepare" description="Compiles all source code.">
<javac srcdir="${src.dir}" destdir="${build.classes}" includeantruntime="false"
deprecation="false">
<classpath>
<pathelement location="${hadoop.path}/hadoop-core-0.20.203.0.jar"/>
<pathelement location="${hadoop.path}/hadoop-tools-0.20.203.0.jar"/>
<pathelement location="${hadoop.path}/hadoop-examples-0.20.203.0.jar"/>
<pathelement location="${hadoop.path}/lib/mockito-all-1.8.5.jar"/>
<pathelement location="${hadoop.path}/lib/junit-4.5.jar"/>
<pathelement location="${hadoop.path}/lib/commons-math-2.1.jar"/>
<pathelement location="${hadoop.path}/lib/commons-cli-1.2.jar"/>
<pathelement location="${hadoop.path}/contrib/datajoin/hadoop-datajoin-0.20.203.0.jar"/>
</classpath>
</javac>
</target>

<target name="jar" depends="compile" description="Generates jar in the dist directory.">
<!-- Exclude unit tests from the final Jar file -->
<jar jarfile="${jar.name}" basedir="${build.classes}" excludes="**/*Test.class"/>

</target>

<target name="all" depends="clean,jar" description="Cleans,compiles,then builds the Jar file."/>

</project>

确保以上条件后
1.将自己写的java文件放到 /home/hadoop/ant/build/src 使用XFTP
2.在HDFS中新建一个文件目录专门用来装资源文件 hadoop fs -mkdir /user/src
3.将simple.txt测试文件放到HDFS中 hadoop fs -put/user/src
4.将/home/hadoop/ant/build/src下的java文件编译打包成play.jar(名字由build.xml决定)
方法:编译之前必须保证与build.xml同级目录下 ant jar
5.hadoop单机模式运行的时候必须保证在lib目录下
hadoop jar play.jar hadoop/MaxTemperature /user/src/simple.txt output

4. 怎么使用eclipse编译hadoop源码

使用eclipse编译hadoop源码

1,建立一个Hadoop源码文件夹。
2、svn 检出hadoop1.0.4的源码。svn checkout http://svn.apache.org/repos/asf/hadoop/common/tags/release-1.0.4
注意:如果在ubuntu下直接上面语句报错,可能需要执行下面的语句
sudo apt-get install autoconf
sudo apt-get install libtool
3、在检出完成后的目录下执行
ant eclipse.然后将源码导入到eclipse中。
4、修改 release-1.0.4/src/contrib/gridmix/src/Java/org/apache/hadoop/mapred/gridmix/Gridmix.java
将两处的 Enum<? extends T> 改成 Enum<?>

5、编译器设置及编译。
右击工程名,Properties-->Builders-->New--->Ant Builder
New_Builder --> Edit: Name: hadoop-Builder.Main:Builderfile(builder.xml的位置):/home/nacey/workspace/source-workspace/hadoop-1.0.4;Targets—>Manual Build: jar
然后选择菜单Project-->Build Project

在/home/nacey/workspace/source-workspace/hadoop-1.0.4/build文件夹下会生成三个开发 jar 包:

hadoop-client-1.0.4-SNAPSHOT.jar
hadoop-core-1.0.4-SNAPSHOT.jar
hadoop-minicluster-1.0.4-SNAPSHOT.jar

去掉"-SNAPSHOT"即可替换hadoop-1.0.4 下的同名 jar 包.

注意如果要在集群中使用自己编译的jar,则需要替换集群中的所有机器。不然会出现版本不匹配。

5. 如何编译Apache Hadoop2.2.0源代码

下载hadoop-2.2.0-src.tar.gz 下载。

执行以下命令解压缩jdk
tar -zxvf hadoop-2.2.0-src.tar.gz

会生成一个文件夹 hadoop-2.2.0-src。源代码中有个bug,这里需要修改一下,编辑目录/usr/local/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth中的文件pom.xml,执行以下命令
gedit pom.xml
在第55行下增加以下内容
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>

保存退出即可。

上述bug详见https://issues.apache.org/jira/browse/HADOOP-10110,在hadoop3中修复了,离我们太遥远了。

好了,现在进入到目录/usr/local/hadoop-2.2.0-src中,执行命令
mvn package -DskipTests -Pdist,native,docs
如果没有执行第4步,把上面命令中的docs去掉即可,就不必生成文档了。
该命令会从外网下载依赖的jar,编译hadoop源码,需要花费很长时间,你可以吃饭了。
在等待n久之后,可以看到如下的结果:
[INFO] Apache Hadoop Main ................................ SUCCESS [6.936s]
[INFO] Apache Hadoop Project POM ......................... SUCCESS [4.928s]
[INFO] Apache Hadoop Annotations ......................... SUCCESS [9.399s]
[INFO] Apache Hadoop Assemblies .......................... SUCCESS [0.871s]
[INFO] Apache Hadoop Project Dist POM .................... SUCCESS [7.981s]
[INFO] Apache Hadoop Maven Plugins ....................... SUCCESS [8.965s]
[INFO] Apache Hadoop Auth ................................ SUCCESS [39.748s]
[INFO] Apache Hadoop Auth Examples ....................... SUCCESS [11.081s]
[INFO] Apache Hadoop Common .............................. SUCCESS [10:41.466s]
[INFO] Apache Hadoop NFS ................................. SUCCESS [26.346s]
[INFO] Apache Hadoop Common Project ...................... SUCCESS [0.061s]
[INFO] Apache Hadoop HDFS ................................ SUCCESS [12:49.368s]
[INFO] Apache Hadoop HttpFS .............................. SUCCESS [41.896s]
[INFO] Apache Hadoop HDFS BookKeeper Journal ............. SUCCESS [41.043s]
[INFO] Apache Hadoop HDFS-NFS ............................ SUCCESS [9.650s]
[INFO] Apache Hadoop HDFS Project ........................ SUCCESS [0.051s]
[INFO] hadoop-yarn ....................................... SUCCESS [1:22.693s]
[INFO] hadoop-yarn-api ................................... SUCCESS [1:20.262s]
[INFO] hadoop-yarn-common ................................ SUCCESS [1:30.530s]
[INFO] hadoop-yarn-server ................................ SUCCESS [0.177s]
[INFO] hadoop-yarn-server-common ......................... SUCCESS [15.781s]
[INFO] hadoop-yarn-server-nodemanager .................... SUCCESS [40.800s]
[INFO] hadoop-yarn-server-web-proxy ...................... SUCCESS [6.099s]
[INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [37.639s]
[INFO] hadoop-yarn-server-tests .......................... SUCCESS [4.516s]
[INFO] hadoop-yarn-client ................................ SUCCESS [25.594s]
[INFO] hadoop-yarn-applications .......................... SUCCESS [0.286s]
[INFO] hadoop-yarn-applications-distributedshell ......... SUCCESS [10.143s]
[INFO] hadoop-maprece-client ........................... SUCCESS [0.119s]
[INFO] hadoop-maprece-client-core ...................... SUCCESS [55.812s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher .... SUCCESS [8.749s]
[INFO] hadoop-yarn-site .................................. SUCCESS [0.524s]
[INFO] hadoop-yarn-project ............................... SUCCESS [16.641s]
[INFO] hadoop-maprece-client-common .................... SUCCESS [40.796s]
[INFO] hadoop-maprece-client-shuffle ................... SUCCESS [7.628s]
[INFO] hadoop-maprece-client-app ....................... SUCCESS [24.066s]
[INFO] hadoop-maprece-client-hs ........................ SUCCESS [13.243s]
[INFO] hadoop-maprece-client-jobclient ................. SUCCESS [16.670s]
[INFO] hadoop-maprece-client-hs-plugins ................ SUCCESS [3.787s]
[INFO] Apache Hadoop MapRece Examples .................. SUCCESS [17.012s]
[INFO] hadoop-maprece .................................. SUCCESS [6.459s]
[INFO] Apache Hadoop MapRece Streaming ................. SUCCESS [12.149s]
[INFO] Apache Hadoop Distributed Copy .................... SUCCESS [15.968s]
[INFO] Apache Hadoop Archives ............................ SUCCESS [5.851s]
[INFO] Apache Hadoop Rumen ............................... SUCCESS [18.364s]
[INFO] Apache Hadoop Gridmix ............................. SUCCESS [14.943s]
[INFO] Apache Hadoop Data Join ........................... SUCCESS [9.648s]
[INFO] Apache Hadoop Extras .............................. SUCCESS [5.763s]
[INFO] Apache Hadoop Pipes ............................... SUCCESS [16.289s]
[INFO] Apache Hadoop Tools Dist .......................... SUCCESS [3.261s]
[INFO] Apache Hadoop Tools ............................... SUCCESS [0.043s]
[INFO] Apache Hadoop Distribution ........................ SUCCESS [56.188s]
[INFO] Apache Hadoop Client .............................. SUCCESS [10.910s]
[INFO] Apache Hadoop Mini-Cluster ........................ SUCCESS [0.321s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 40:00.444s
[INFO] Finished at: Thu Dec 26 12:42:24 CST 2013
[INFO] Final Memory: 109M/362M
[INFO] ------------------------------------------------------------------------

6. 为什么要编译 hadoop 源码 怎么在eclipse里写hadoop程序啊~ 上不了外网,hadoop源码编译不了,该怎么

1:编译了hadoop,可以方便的查看某个函数的实现。如果不编译就只是自己去翻源代码了。更重要的是如果你编译了hadoop,你可以根据自己的需要改动hadoop的某些实现机制。(hadoop开源的好处).
2:编程hadoop程序是不需要编译hadoop源码的。你可以参看网上hadoop安装教程。
关于hadoop编程,欢迎访问我的博客:http://blog.csdn.net/jackydai987

7. 如何在hadoop-2.6.0上编译运行自己编写的java代码

在不使用eclipse情况使java程序在hadoop 2.2中运行的完整过程。整个过程中其实分为java程序的编译,生成jar包,运行测试。
这三个步骤运用的命令都比较简单,主要的还是如何找到hadoop 2.2提供给java程序用来编译的jar包。具体可以查看:
HADOOP_HOME/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib目录
下面会通过一个在hadoop中创建一个目录的JAVA例子来进行演示
具体代码如下:

package com.wan.demo;

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class HADemo {

public static void main(String[] args) {
// TODO Auto-generated method stub
mkdir(args[0]);
}

public static void mkdir(String dir){
Configuration configuration=new Configuration();
FileSystem fs;
try {
fs = FileSystem.get(configuration);
fs.mkdirs(new Path(dir));
fs.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

把HADemo.java文件拷贝到linux环境中
配置HADOOP_HOME/bin到环境中,启动集群,进入HADemo.java文件目录中
注:下面的lib目录里面的文件由HADOOP_HOME/share/hadoop/httpfs/tomcat/webapps/ webhdfs/WEB-INF/lib目录中获取,下面做的目的是为了缩减命令长度
1.编译java
# mkdir class
#Javac -classpath .:lib/hadoop-common-2.2.0.jar:lib/hadoop-annotations-2.2.0.jar -d class HADemo.java
2.生成jar包
#jar -cvf hademo.jar -C class/ .
added manifest
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/wan/(in = 0) (out= 0)(stored 0%)
adding: com/wan/demo/(in = 0) (out= 0)(stored 0%)
adding: com/wan/demo/HADemo.class(in = 844) (out= 520)(deflated 38%)
3.测试运行
#hadoop jar hademo.jar com.wan.demo.HADemo /test
检测:
#hadoop fs -ls /

结束!

8. 为什么要编译apache hadoop2.2.0源代码

hadoop是不需要编译的,解压就可以直接使用了,操作如下: tar –zxvf hadoop-2.2.0.tar.gz #解压"hadoop-2.2.0.tar.gz"安装包mv hadoop-2.2.0 /usr/local/hadoop #将"hadoop-2.2.0"移动到/usr/local目录下chown –R hadoop:hadoop /usr/local/had...

9. hadoop搭建时为什么要重新编译源码的解释

把你编译后的hadoop源码丢到原来的hadoop集群环境中去 即覆盖hadoop安装目录下的原hadoop-core-xxx.jar 同样的所有节点都需要更新 然后重启集群

10. 你好,我编译hadoop2.4源码,成功之后导入eclipse中,但是怎么还是有报错,缺少包这类的问题呢

你把hadoop安装目录下的各个share目录下的lib下的jar包导入项目,那些是hadoop依赖的jar包

阅读全文

与hadoop编译视频源码相关的资料

热点内容
mooc大学乐学python答案 浏览:406
怎么投诉途虎app 浏览:35
安卓重力感应怎么关 浏览:718
我的世界ios怎么建服务器地址 浏览:757
服务器端口ip都是什么意思 浏览:260
华为主题软件app怎么下 浏览:837
我们的图片能够收藏加密吗 浏览:978
mysql空值命令 浏览:213
python整点秒杀 浏览:882
怎么样互传app 浏览:293
python分布式抓包 浏览:36
轻量级php论坛 浏览:342
如何查看应用存储在哪个文件夹 浏览:436
app开发项目范围怎么写 浏览:76
androidjms 浏览:843
弹珠连贯解压 浏览:243
程序员的网课 浏览:904
广东加密狗防拷贝公司 浏览:450
rtf转换pdf 浏览:350
单片机退出中断 浏览:142