編譯後的hadoop
⑴ 如何在win7 下編譯好的 hadoop2.7.4包
1、下載Eclipse解彎搜喚壓。 2、埋凱把hadoop-eclipse-plugin-1.1.2.jar放到eclipse的plugs目錄下。 我的hadoop集群用的版本:hadoop1.1.2 hadoop0.20以後的版本的安裝目錄下contrib/沒有eclipse的hadoop-*-eclipse-plugin.jar插件,需要自己用ant編譯漏凱。
⑵ hadoop源碼修改了,編譯成功後,將編譯後的hadoop文件直接拿來搭建么,還是需要經過什麼處理呢
把你編譯後的hadoop源碼丟到原來的hadoop集群環境中去 即覆蓋hadoop安裝目錄下的原hadoop-core-xxx.jar 同樣的所有節點都需要更新 然後重啟集群
⑶ macos編譯的hadoop插件能在linux上用嗎
在Linux上安裝Hadoop之前,需要先安裝兩個程序:
1. JDK 1.6或更高版本;
2. SSH(安全外殼協議),推薦安裝OpenSSH。
下面簡述一下安裝這兩個程序的原因:
1. Hadoop是用java開發的,Hadoop的編譯及MapRece的運行都需要使用JDK。
2. Hadoop需要通過SSH來啟動salve列表中各台主機的守護進程,因此SSH也是必須安裝的,即使是安裝偽分布式版本(因為Hadoop並沒有區分集群式和偽分布式)。對於偽分布式,Hadoop會採用與集群相同的處理方式,即依次序啟動文件conf/slaves中記載的主機上的進程,只不過偽分布式中salve為localhost(即為自身),所以對於偽分布式Hadoop,SSH一樣是必須的。
一、安裝JDK 1.6
安裝JDK的過程很簡單,下面以Ubuntu為例。
(1)下載和安裝JDK
確保可以連接到互聯網,輸入命令:
sudo apt-get install sun-java6-jdk
輸入密碼,確認,然後就可以安裝JDK了。
這里先解釋一下sudo與apt這兩個命令,sudo這個命令允許普通用戶執行某些或全部需要root許可權命令,它提供了詳盡的日誌,可以記錄下每個用戶使用這個命令做了些什麼操作;同時sudo也提供了靈活的管理方式,可以限制用戶使用命令。sudo的配置文件為/etc/sudoers。
apt的全稱為the Advanced Packaging Tool,是Debian計劃的一部分,是Ubuntu的軟體包管理軟體,通過apt安裝軟體無須考慮軟體的依賴關系,可以直接安裝所需要的軟體,apt會自動下載有依賴關系的包,並按順序安裝,在Ubuntu中安裝有apt的一個圖形化界面程序synaptic(中文譯名為「新立得」),大家如果有興趣也可以使用這個程序來安裝所需要的軟體。(如果大家想了解更多,可以查看一下關於Debian計劃的資料。)
(2)配置環境變數
輸入命令:
sudo gedit /etc/profile
輸入密碼,打開profile文件。
在文件的最下面輸入如下內容:
#set Java Environment
export JAVA_HOME= (你的JDK安裝位置,一般為/usr/lib/jvm/java-6-sun)
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$PATH"
這一步的意義是配置環境變數,使你的系統可以找到JDK。
(3)驗證JDK是否安裝成功
輸入命令:
java -version
查看信息:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)
二、配置SSH免密碼登錄
同樣以Ubuntu為例,假設用戶名為u。
1)確認已經連接上互聯網,輸入命令
sudo apt-get install ssh
2)配置為可以無密碼登錄本機。
首先查看在u用戶下是否存在.ssh文件夾(注意ssh前面有「.」,這是一個隱藏文件夾),輸入命令:
ls -a /home/u
一般來說,安裝SSH時會自動在當前用戶下創建這個隱藏文件夾,如果沒有,可以手動創建一個。
接下來,輸入命令:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
解釋一下,ssh-keygen代表生成密鑰;-t(注意區分大小寫)表示指定生成的密鑰類型;dsa是dsa密鑰認證的意思,即密鑰類型;-P用於提供密語;-f指定生成的密鑰文件。(關於密鑰密語的相關知識這里就不詳細介紹了,裡面會涉及SSH的一些知識,如果讀者有興趣,可以自行查閱資料。)
在Ubuntu中,~代表當前用戶文件夾,這里即/home/u。
這個命令會在.ssh文件夾下創建兩個文件id_dsa及id_dsa.pub,這是SSH的一對私鑰和公鑰,類似於鑰匙及鎖,把id_dsa.pub(公鑰)追加到授權的key裡面去。
輸入命令:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
這段話的意思是把公鑰加到用於認證的公鑰文件中,這里的authorized_keys是用於認證的公鑰文件。
至此無密碼登錄本機已設置完畢。
⑷ 編譯hadoop的eclipse插件出現如下錯誤提示,求大神解答
安裝hadoop插件之前,缺少一些插件,可以在update裡面裝相關的插件。
⑸ 如何在CentOS6.5下編譯64位的Hadoop2.x
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,並設置環境變數,完成後測試安裝成功否
Java代碼
[root@ganglia ~]# java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-4)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for ing conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@ganglia ~]#
3, 安裝Maven,安裝完成後測試安裝與否
Java代碼
[root@ganglia ~]# mvn -v
Apache Maven 3.2.1 (; 2014-02-15T01:37:52+08:00)
Maven home: /usr/local/maven
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/local/jdk1.7.0_25/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"
[root@ganglia ~]#
4, 安裝Ant, 安裝完成後,依舊測試成功與否
Java代碼
[root@ganglia ~]# ant -version
Apache Ant(TM) version 1.9.4 compiled on April 29 2014
[root@ganglia ~]#
5,安裝protobuf,安裝方式,從官網下載tar.gz的包,並上傳到linux上解壓,然後進入根目錄下,執行如下的幾個命令:
Java代碼
./configure
make
make check
make install
然後,執行如下命令,進行測試安裝成功與否
Java代碼
[root@ganglia protobuf-2.5.0]# protoc
Missing input file.
[root@ganglia protobuf-2.5.0]#
6,從hadoop官網下載hadoop2.2.0的版本的源碼的src的包,並查看目錄
Java代碼
[root@ganglia ~]# cd hadoop-2.2.0-src
[root@ganglia hadoop-2.2.0-src]# ll
總用量 108
-rw-r--r--. 1 67974 users 9968 10月 7 2013 BUILDING.txt
drwxr-xr-x. 2 67974 users 4096 10月 7 2013 dev-support
drwxr-xr-x. 4 67974 users 4096 6月 9 17:05 hadoop-assemblies
drwxr-xr-x. 3 67974 users 4096 6月 9 17:27 hadoop-client
drwxr-xr-x. 9 67974 users 4096 6月 9 17:14 hadoop-common-project
drwxr-xr-x. 3 67974 users 4096 6月 9 17:26 hadoop-dist
drwxr-xr-x. 7 67974 users 4096 6月 9 17:20 hadoop-hdfs-project
drwxr-xr-x. 11 67974 users 4096 6月 9 17:25 hadoop-maprece-project
drwxr-xr-x. 4 67974 users 4096 6月 9 17:06 hadoop-maven-plugins
drwxr-xr-x. 3 67974 users 4096 6月 9 17:27 hadoop-minicluster
drwxr-xr-x. 4 67974 users 4096 6月 9 17:03 hadoop-project
drwxr-xr-x. 3 67974 users 4096 6月 9 17:05 hadoop-project-dist
drwxr-xr-x. 12 67974 users 4096 6月 9 17:26 hadoop-tools
drwxr-xr-x. 4 67974 users 4096 6月 9 17:24 hadoop-yarn-project
-rw-r--r--. 1 67974 users 15164 10月 7 2013 LICENSE.txt
-rw-r--r--. 1 67974 users 101 10月 7 2013 NOTICE.txt
-rw-r--r--. 1 67974 users 16569 10月 7 2013 pom.xml
-rw-r--r--. 1 67974 users 1366 10月 7 2013 README.txt
[root@ganglia hadoop-2.2.0-src]#
7,修改/root/hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml文件,增加,補丁內容,這部分是hadoop2.2.0的bug,如果是其他的2.x的版本,可以視情況而定,內容如下:
Xml代碼
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<scope>test</scope>
</dependency>
<!--新增的內容開始 -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
<!--新增的內容結束 -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
</dependency>
8,修改完畢後,回到hadoop-2.2.0-src的跟目錄下執行編譯打包命令:
Java代碼
mvn clean
mvn package -Pdist,native -DskipTests -Dtar
然後等待半個小時左右的編譯時間,網速快的話,時間可能會更短,編譯完成 編譯好的hadoop包,
Java代碼
[root@ganglia target]# pwd
/root/hadoop-2.2.0-src/hadoop-dist/target
[root@ganglia target]# ll
總用量 282348
編譯完成後的本地庫,位於如下位置,並查看本地庫支持位數:
至此,我們的編譯已經,成功完成,然後,我們就可以使用在target目錄下,編譯生成的hadoop新的tar.gz包,來部署我們的hadoop集群。
⑹ 如何編譯hadoop的native庫
3、進入hadoop-2.4.1-src編譯hadoop
cd hadoop-2.4.1-src
mvn clean package -Pdist,native -DskipTests -Dtar
4、一般情況下/root/soft/hadoop/hadoop-2.4.1-src/hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads路徑下的apache-tomcat-6.0.36.tar.gz下載不完全,
正常大小應該為6.47M左右,如果不對請官網手動下載,路徑為http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
5、替換hadoop-2.4.1/lib/native為編譯後hadoop-2.4.1-src/hadoop-dist/target/hadoop-2.4.1/lib/native包
⑺ 編譯hadoop-0.23.9-src.tar.gz完成後,其他文件完整,就是沒有src文件夾,怎麼回事不吝賜教
不應吧,應該是編譯之前就沒有吧
⑻ 如何編譯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] ------------------------------------------------------------------------
⑼ 如何在CentOS6.5下編譯64位的Hadoop2.x
一、預先安裝必要軟體
1、需要的軟體:java, svn, autoconf, automake, libtool, ncurses-devel, openssl-devel, gcc, lzo-devel, zlib-devel, znt, maven, protobuf, cmake
檢測系統中是否已安裝了某一軟體命令:rpm -qa|grep 軟體名,如檢測系統中是否安裝了svn:
$ rpm -qa|grep svn
2、如果已安裝,則跳過,如果沒有安裝,用命令:yum install svn進行安裝,如:
$ yum install svn
如果yum命令安裝失敗(找不到相應的包),則需手動下載相應的軟體包進行安裝,比如maven, protobuf這兩個個軟體;
二、安裝maven
1、軟體包:apache-maven-3.0.5-bin.tar.gz
不要使用最新的Maven3.1.1,與Maven3.0.x存在兼容性問題,所以老是出現java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter之類的錯誤。選擇3.0.5版本:apache-maven-3.0.5-bin.tar.gz
將apache-maven-3.0.5-bin.tar.gz移動到/usr目錄(軟體包所在目錄):
# mv ./apache-maven-3.0.5-bin.tar.gz /usr
進入/usr目錄,解壓(/usr目錄):
# tar –zxvf apache-maven-3.0.5-bin.tar.gz ./
刪除解壓後的壓縮包(/usr目錄):
# rm –rf apache-maven-3.0.5-bin.tar.gz
將/usr / apache-maven-3.0.5/bin加到環境變數中
# vi /etc/profile
在PATH行的最後加上「:/usr/apache-maven-3.0.5/bin」
2、使配置生效:
# source /etc/profile
驗證是否安裝成功:
# mvn –version
三、安裝protobuf
1、軟體包:protobuf-2.5.0.tar.gz
將protobuf-2.5.0.tar.gz移動到/usr目錄(軟體包所在目錄):
# mv ./ protobuf-2.5.0.tar.gz /usr
進入/usr目錄,解壓(/usr目錄):
# tar –zxvf protobuf-2.5.0.tar.gz ./
刪除解壓後的壓縮包(/usr目錄):
# rm –rf protobuf-2.5.0.tar.gz
進入/usr/protobuf-2.5.0目錄:
# cd /usr/protobuf-2.5.0
2、依次執行下列命令:
# ./configure
# make
# make check
# make install
檢測是否安裝成功:
# protoc --version
四、下載hadoop-2.2.0源碼並編譯
在/usr目錄進行
用svn下載hadoop-2.2.0源碼,命令:
$ svn checkout 'http://svn.apache.org/repos/asf/hadoop/common/tags/release-2.2.0'
源碼下載完成後,在/usr目錄下會有一個release-2.2.0目錄,進入該目錄:
$ cd /usr/release-2.2.0
$ ls –la
編譯源碼:
$ mvn package -Pdist,native -DskipTests –Dtar --不生成文檔
$ mvn package -Pdist,native,docs,src -DskipTests –Dtar --生成文檔,需要安裝findbugs,並設置FINDBUGS_HOME環境變數
編譯的時間比較久,編譯過程中會聯網下載所需要的包,機子沒聯網是不會成功編譯的。
編譯結束,最後列印的信息如下,每一項均是『SUCCESS』,則編譯成功:
編譯好的代碼包在/usr/release-2.2.0/hadoop-dist/target目錄下:
$ cd /usr/release-2.2.0/hadoop-dist/target
$ ls –la
因為是在64位系統下編譯的,所以編譯出來的代碼包是64位版本的;可以直接將/usr/release-2.2.0/hadoop-dist/target目錄下的hadoop-2.2.0或者hadoop-2.2.0.tar.gz拷貝到其他linux64位平台進行搭建hadoop集群。
說明:
1、 機器得連網,如果沒聯網找可以聯網的機器下載,但是編譯時還是要下載一些東西,所以,實在不行。最好找相同平台(可以是虛擬機)能上網的機器做下面工作,弄好了再把編譯好的代碼包拷回來。
2、 命令操作中,『#』開頭的是在root用戶進行,『$』開頭的是在普通用戶下進行