在centos6.4 编译64位的hadoop 2.4.1



在centos6.4 编译64位的hadoop 2.4.1

1.下相关包

yum install svn

yum install autoconfautomake libtool cmake

yum install ncurses-devel

yum install openssl-devel

yum install gcc*

2:下载和解压maven

wget http://apache.fayea.com/apache-mirror/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.tar.gz
tar  xzvf ./apache-maven-3.2.1-bin.tar.gz
mv ./ apache-maven-3.2.1  /usr/local

3 安装 ANT

下载地址http://download.csdn.net/detail/wind520/7705109
压解 apache-ant-1.9.4-bin.tar.gz 到/usr/local目录
# tar -zxvf apache-ant-1.9.4-bin.tar.gz

mv ./ apache-ant-1.9.4  /usr/local

4:配置文件

vi /etc/profile

 

  1. # /etc/profile
  2. # System wide environment and startup programs, for login setup
  3. # Functions and aliases go in /etc/bashrc
  4. # It’s NOT a good idea to change this file unless you know what you
  5. # are doing. It’s much better to create a custom.sh shell script in
  6. # /etc/profile.d/ to make custom changes to your environment, as this
  7. # will prevent the need for merging in future updates.
  8. pathmunge () {
  9.     case ”:${PATH}:” in
  10.         *:”$1″:*)
  11.             ;;
  12.         *)
  13.             if [ "$2" = "after" ] ; then
  14.                 PATH=$PATH:$1
  15.             else
  16.                 PATH=$1:$PATH
  17.             fi
  18.     esac
  19. }
  20. if [ -x /usr/bin/id ]; then
  21.     if [ -z "$EUID" ]; then
  22.         # ksh workaround
  23.         EUID=`id -u`
  24.         UID=`id -ru`
  25.     fi
  26.     USER=”`id -un`”
  27.     LOGNAME=$USER
  28.     MAIL=”/var/spool/mail/$USER”
  29. fi
  30. # Path manipulation
  31. if [ "$EUID" = "0" ]; then
  32.     pathmunge /sbin
  33.     pathmunge /usr/sbin
  34.     pathmunge /usr/local/sbin
  35. else
  36.     pathmunge /usr/local/sbin after
  37.     pathmunge /usr/sbin after
  38.     pathmunge /sbin after
  39. fi
  40. HOSTNAME=`/bin/hostname 2>/dev/null`
  41. HISTSIZE=1000
  42. if [ "$HISTCONTROL" = "ignorespace" ] ; then
  43.     export HISTCONTROL=ignoreboth
  44. else
  45.     export HISTCONTROL=ignoredups
  46. fi
  47. export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
  48. export JAVA_HOME=/usr/jdk1.7.0_45
  49. export CLASSPATH=.:JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
  50. export PATH=$JAVA_HOME/bin:$PATH:/usr/local/apache-maven-3.2.1/bin
  51. export ANT_HOME=/usr/local/apache-ant-1.9.4
  52. export PATH=$PATH:$ANT_HOME/bin
  53. # By default, we want umask to get set. This sets it for login shell
  54. # Current threshold for system reserved uid/gids is 200
  55. # You could check uidgid reservation validity in
  56. # /usr/share/doc/setup-*/uidgid file
  57. if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
  58.     umask 002
  59. else
  60.     umask 022
  61. fi
  62. for i in /etc/profile.d/*.sh ; do
  63.     if [ -r "$i" ]; then
  64.         if [ "${-#*i}" != "$-" ]; then
  65.             . ”$i”
  66.         else
  67.             . ”$i” >/dev/null 2>&1
  68.         fi
  69.     fi
  70. done
  71. unset i
  72. unset -f pathmunge

配置文件生效

source /etc/profile

 

5.安装protobuf


 

wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

由于下载不下来,从其他地方下载protobuf-2.5.0.tar.gz

tar xzvf ./protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure
make
make check
make install

以上操作都用root操作

检查

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

  1. [jifeng@feng05 ~]$ mvn -v
  2. Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-15T01:37:52+08:00)
  3. Maven home: /usr/local/apache-maven-3.2.1
  4. Java version: 1.7.0_45, vendor: Oracle Corporation
  5. Java home: /usr/jdk1.7.0_45/jre
  6. Default locale: zh_CN, platform encoding: UTF-8
  7. OS name: ”linux”, version: ”2.6.32-358.el6.x86_64″, arch: ”amd64″, family: ”unix”
  8. [jifeng@feng05 ~]$ java -version
  9. java version ”1.7.0_45″
  10. Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
  11. Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
  12. [jifeng@feng05 ~]$ ant -version
  13. Apache Ant(TM) version 1.9.4 compiled on April 29 2014
  14. [jifeng@feng05 ~]$

 

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

  1. [jifeng@feng05 ~]$ protoc –version
  2. libprotoc 2.5.0
  3. [jifeng@feng05 ~]$

6:下载 hadoop-2.4.1代码

下载地址http://download.csdn.net/detail/wind520/7705113

执行 mvn clean install -DskipTests 命令,等待完成(会自动联网下载很多东西

  1. [jifeng@feng05 ~]$ ls
  2. hadoop-2.4.1-src  hadoop-2.4.1-src.tar.gz  jdk-7u45-linux-x64.gz  protobuf-2.5.0.tar.gz
  3. [jifeng@feng05 ~]$ cd hadoop-2.4.1-src
  4. [jifeng@feng05 hadoop-2.4.1-src]$ mvn clean install -DskipTests
  5. [INFO] Scanning for projects…
  6. [WARNING]
  7. [WARNING] Some problems were encountered while building the effective model for org.apache.hadoop:hadoop-project:pom:2.4.1
  8. [WARNING] ’build.plugins.plugin.(groupId:artifactId)’ must be unique but found duplicate declaration of plugin org.apache.maven.plugins:maven-enforcer-plugin @ line 1015, column 15
  9. [WARNING]

 

  1. [INFO] Reactor Summary:
  2. [INFO]
  3. [INFO] Apache Hadoop Main ………………………….. SUCCESS [ 20.235 s]
  4. [INFO] Apache Hadoop Project POM ……………………. SUCCESS [  8.101 s]
  5. [INFO] Apache Hadoop Annotations ……………………. SUCCESS [  4.639 s]
  6. [INFO] Apache Hadoop Project Dist POM ……………….. SUCCESS [  0.840 s]
  7. [INFO] Apache Hadoop Assemblies …………………….. SUCCESS [  0.279 s]
  8. [INFO] Apache Hadoop Maven Plugins ………………….. SUCCESS [  4.143 s]
  9. [INFO] Apache Hadoop MiniKDC ……………………….. SUCCESS [  3.495 s]
  10. [INFO] Apache Hadoop Auth ………………………….. SUCCESS [  3.161 s]
  11. [INFO] Apache Hadoop Auth Examples ………………….. SUCCESS [  2.117 s]
  12. [INFO] Apache Hadoop Common ………………………… SUCCESS [01:58 min]
  13. [INFO] Apache Hadoop NFS …………………………… SUCCESS [ 24.001 s]
  14. [INFO] Apache Hadoop Common Project …………………. SUCCESS [  0.028 s]
  15. [INFO] Apache Hadoop HDFS ………………………….. SUCCESS [01:25 min]
  16. [INFO] Apache Hadoop HttpFS ………………………… SUCCESS [  8.315 s]
  17. [INFO] Apache Hadoop HDFS BookKeeper Journal …………. SUCCESS [02:23 min]
  18. [INFO] Apache Hadoop HDFS-NFS ………………………. SUCCESS [  1.240 s]
  19. [INFO] Apache Hadoop HDFS Project …………………… SUCCESS [  0.082 s]
  20. [INFO] hadoop-yarn ………………………………… SUCCESS [  0.123 s]
  21. [INFO] hadoop-yarn-api …………………………….. SUCCESS [  3.832 s]
  22. [INFO] hadoop-yarn-common ………………………….. SUCCESS [ 35.130 s]
  23. [INFO] hadoop-yarn-server ………………………….. SUCCESS [  0.026 s]
  24. [INFO] hadoop-yarn-server-common ……………………. SUCCESS [  0.791 s]
  25. [INFO] hadoop-yarn-server-nodemanager ……………….. SUCCESS [01:52 min]
  26. [INFO] hadoop-yarn-server-web-proxy …………………. SUCCESS [  0.682 s]
  27. [INFO] hadoop-yarn-server-applicationhistoryservice …… SUCCESS [01:06 min]
  28. [INFO] hadoop-yarn-server-resourcemanager ……………. SUCCESS [  2.334 s]
  29. [INFO] hadoop-yarn-server-tests …………………….. SUCCESS [  0.798 s]
  30. [INFO] hadoop-yarn-client ………………………….. SUCCESS [  1.615 s]
  31. [INFO] hadoop-yarn-applications …………………….. SUCCESS [  0.033 s]
  32. [INFO] hadoop-yarn-applications-distributedshell ……… SUCCESS [  0.358 s]
  33. [INFO] hadoop-yarn-applications-unmanaged-am-launcher …. SUCCESS [  0.216 s]
  34. [INFO] hadoop-yarn-site ……………………………. SUCCESS [  0.072 s]
  35. [INFO] hadoop-yarn-project …………………………. SUCCESS [  0.080 s]
  36. [INFO] hadoop-mapreduce-client ……………………… SUCCESS [  0.081 s]
  37. [INFO] hadoop-mapreduce-client-core …………………. SUCCESS [  4.187 s]
  38. [INFO] hadoop-mapreduce-client-common ……………….. SUCCESS [  1.690 s]
  39. [INFO] hadoop-mapreduce-client-shuffle ………………. SUCCESS [  0.423 s]
  40. [INFO] hadoop-mapreduce-client-app ………………….. SUCCESS [  2.596 s]
  41. [INFO] hadoop-mapreduce-client-hs …………………… SUCCESS [  1.440 s]
  42. [INFO] hadoop-mapreduce-client-jobclient …………….. SUCCESS [ 15.030 s]
  43. [INFO] hadoop-mapreduce-client-hs-plugins ……………. SUCCESS [  0.315 s]
  44. [INFO] Apache Hadoop MapReduce Examples ……………… SUCCESS [  0.751 s]
  45. [INFO] hadoop-mapreduce ……………………………. SUCCESS [  0.099 s]
  46. [INFO] Apache Hadoop MapReduce Streaming …………….. SUCCESS [  5.560 s]
  47. [INFO] Apache Hadoop Distributed Copy ……………….. SUCCESS [  2.346 s]
  48. [INFO] Apache Hadoop Archives ………………………. SUCCESS [  0.465 s]
  49. [INFO] Apache Hadoop Rumen …………………………. SUCCESS [  0.917 s]
  50. [INFO] Apache Hadoop Gridmix ……………………….. SUCCESS [  0.609 s]
  51. [INFO] Apache Hadoop Data Join ……………………… SUCCESS [  0.250 s]
  52. [INFO] Apache Hadoop Extras ………………………… SUCCESS [  0.395 s]
  53. [INFO] Apache Hadoop Pipes …………………………. SUCCESS [  0.047 s]
  54. [INFO] Apache Hadoop OpenStack support ………………. SUCCESS [  1.052 s]
  55. [INFO] Apache Hadoop Client ………………………… SUCCESS [  0.443 s]
  56. [INFO] Apache Hadoop Mini-Cluster …………………… SUCCESS [  0.209 s]
  57. [INFO] Apache Hadoop Scheduler Load Simulator ………… SUCCESS [  8.011 s]
  58. [INFO] Apache Hadoop Tools Dist …………………….. SUCCESS [  0.252 s]
  59. [INFO] Apache Hadoop Tools …………………………. SUCCESS [  0.025 s]
  60. [INFO] Apache Hadoop Distribution …………………… SUCCESS [  0.066 s]
  61. [INFO] ————————————————————————
  62. [INFO] BUILD SUCCESS
  63. [INFO] ————————————————————————
  64. [INFO] Total time: 11:50 min
  65. [INFO] Finished at: 2014-08-01T17:15:04+08:00
  66. [INFO] Final Memory: 137M/405M
  67. [INFO] ————————————————————————

7:开始编译

[jifeng@feng05 hadoop-2.4.1-src]$ mvn package -Pdist,native -DskipTests -Dtar

 

 

  1. [jifeng@feng05 hadoop-2.4.1-src]$ mvn package -Pdist,native -DskipTests -Dtar
  2. [INFO] Scanning for projects…
  3. [WARNING]
  4. [WARNING] Some problems were encountered while building the effective model for org.apache.hadoop:hadoop-project:pom:2.4.1
  5. [WARNING] ’build.plugins.plugin.(groupId:artifactId)’ must be unique but found duplicate declaration of plugin org.apache.maven.plugins:maven-enforcer-plugin @ line 1015, column 15
  6. [WARNING]

 

编译成功

 

  1. [INFO] ————————————————————————
  2. [INFO] Reactor Summary:
  3. [INFO]
  4. [INFO] Apache Hadoop Main ………………………….. SUCCESS [  2.158 s]
  5. [INFO] Apache Hadoop Project POM ……………………. SUCCESS [  2.495 s]
  6. [INFO] Apache Hadoop Annotations ……………………. SUCCESS [  4.365 s]
  7. [INFO] Apache Hadoop Assemblies …………………….. SUCCESS [  0.321 s]
  8. [INFO] Apache Hadoop Project Dist POM ……………….. SUCCESS [  2.327 s]
  9. [INFO] Apache Hadoop Maven Plugins ………………….. SUCCESS [  4.388 s]
  10. [INFO] Apache Hadoop MiniKDC ……………………….. SUCCESS [  3.563 s]
  11. [INFO] Apache Hadoop Auth ………………………….. SUCCESS [  4.287 s]
  12. [INFO] Apache Hadoop Auth Examples ………………….. SUCCESS [  2.544 s]
  13. [INFO] Apache Hadoop Common ………………………… SUCCESS [01:56 min]
  14. [INFO] Apache Hadoop NFS …………………………… SUCCESS [  8.552 s]
  15. [INFO] Apache Hadoop Common Project …………………. SUCCESS [  0.071 s]
  16. [INFO] Apache Hadoop HDFS ………………………….. SUCCESS [02:40 min]
  17. [INFO] Apache Hadoop HttpFS ………………………… SUCCESS [01:28 min]
  18. [INFO] Apache Hadoop HDFS BookKeeper Journal …………. SUCCESS [ 42.631 s]
  19. [INFO] Apache Hadoop HDFS-NFS ………………………. SUCCESS [  5.748 s]
  20. [INFO] Apache Hadoop HDFS Project …………………… SUCCESS [  0.052 s]
  21. [INFO] hadoop-yarn ………………………………… SUCCESS [  0.044 s]
  22. [INFO] hadoop-yarn-api …………………………….. SUCCESS [01:13 min]
  23. [INFO] hadoop-yarn-common ………………………….. SUCCESS [ 44.626 s]
  24. [INFO] hadoop-yarn-server ………………………….. SUCCESS [  0.347 s]
  25. [INFO] hadoop-yarn-server-common ……………………. SUCCESS [ 12.337 s]
  26. [INFO] hadoop-yarn-server-nodemanager ……………….. SUCCESS [ 21.867 s]
  27. [INFO] hadoop-yarn-server-web-proxy …………………. SUCCESS [  3.344 s]
  28. [INFO] hadoop-yarn-server-applicationhistoryservice …… SUCCESS [  7.377 s]
  29. [INFO] hadoop-yarn-server-resourcemanager ……………. SUCCESS [ 16.961 s]
  30. [INFO] hadoop-yarn-server-tests …………………….. SUCCESS [  0.581 s]
  31. [INFO] hadoop-yarn-client ………………………….. SUCCESS [  6.511 s]
  32. [INFO] hadoop-yarn-applications …………………….. SUCCESS [  0.080 s]
  33. [INFO] hadoop-yarn-applications-distributedshell ……… SUCCESS [  3.672 s]
  34. [INFO] hadoop-yarn-applications-unmanaged-am-launcher …. SUCCESS [  1.866 s]
  35. [INFO] hadoop-yarn-site ……………………………. SUCCESS [  0.061 s]
  36. [INFO] hadoop-yarn-project …………………………. SUCCESS [  5.057 s]
  37. [INFO] hadoop-mapreduce-client ……………………… SUCCESS [  0.150 s]
  38. [INFO] hadoop-mapreduce-client-core …………………. SUCCESS [ 25.144 s]
  39. [INFO] hadoop-mapreduce-client-common ……………….. SUCCESS [ 20.414 s]
  40. [INFO] hadoop-mapreduce-client-shuffle ………………. SUCCESS [  3.011 s]
  41. [INFO] hadoop-mapreduce-client-app ………………….. SUCCESS [ 11.590 s]
  42. [INFO] hadoop-mapreduce-client-hs …………………… SUCCESS [ 11.404 s]
  43. [INFO] hadoop-mapreduce-client-jobclient …………….. SUCCESS [  7.434 s]
  44. [INFO] hadoop-mapreduce-client-hs-plugins ……………. SUCCESS [  1.847 s]
  45. [INFO] Apache Hadoop MapReduce Examples ……………… SUCCESS [  7.132 s]
  46. [INFO] hadoop-mapreduce ……………………………. SUCCESS [  6.131 s]
  47. [INFO] Apache Hadoop MapReduce Streaming …………….. SUCCESS [  6.530 s]
  48. [INFO] Apache Hadoop Distributed Copy ……………….. SUCCESS [  8.911 s]
  49. [INFO] Apache Hadoop Archives ………………………. SUCCESS [  2.109 s]
  50. [INFO] Apache Hadoop Rumen …………………………. SUCCESS [  8.018 s]
  51. [INFO] Apache Hadoop Gridmix ……………………….. SUCCESS [  5.438 s]
  52. [INFO] Apache Hadoop Data Join ……………………… SUCCESS [  3.889 s]
  53. [INFO] Apache Hadoop Extras ………………………… SUCCESS [  3.361 s]
  54. [INFO] Apache Hadoop Pipes …………………………. SUCCESS [  7.744 s]
  55. [INFO] Apache Hadoop OpenStack support ………………. SUCCESS [  6.382 s]
  56. [INFO] Apache Hadoop Client ………………………… SUCCESS [  6.479 s]
  57. [INFO] Apache Hadoop Mini-Cluster …………………… SUCCESS [  0.388 s]
  58. [INFO] Apache Hadoop Scheduler Load Simulator ………… SUCCESS [  5.011 s]
  59. [INFO] Apache Hadoop Tools Dist …………………….. SUCCESS [  5.064 s]
  60. [INFO] Apache Hadoop Tools …………………………. SUCCESS [  0.143 s]
  61. [INFO] Apache Hadoop Distribution …………………… SUCCESS [ 26.096 s]
  62. [INFO] ————————————————————————
  63. [INFO] BUILD SUCCESS
  64. [INFO] ————————————————————————
  65. [INFO] Total time: 14:00 min
  66. [INFO] Finished at: 2014-08-01T17:41:46+08:00
  67. [INFO] Final Memory: 85M/331M
  68. [INFO] ————————————————————————

8:检查64位文件

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片

  1. [jifeng@feng05 hadoop-2.4.1-src]$ cd hadoop-dist/target/hadoop-2.4.1/lib/native
  2. [jifeng@feng05 native]$ ls
  3. libhadoop.a       libhadoop.so        libhadooputils.a  libhdfs.so
  4. libhadooppipes.a  libhadoop.so.1.0.0  libhdfs.a         libhdfs.so.0.0.0
  5. [jifeng@feng05 native]$ file *
  6. libhadoop.a:        current ar archive
  7. libhadooppipes.a:   current ar archive
  8. libhadoop.so:       symbolic link to `libhadoop.so.1.0.0′
  9. libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped
  10. libhadooputils.a:   current ar archive
  11. libhdfs.a:          current ar archive
  12. libhdfs.so:         symbolic link to `libhdfs.so.0.0.0′
  13. libhdfs.so.0.0.0:   ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

编译成果:http://download.csdn.net/detail/wind520/7708355