Compilación de código fuente Hadoop-6
1. Prepare el medio ambiente
[0] Código fuente de Hadoop
Este artículo está compilado y empaquetado basado en la versión hadoop-2.7.7-src
Descarga y descomprime
Dado que el código fuente de 2.7.7 está compilado y empaquetado, se descargará apache-tomcat-6.0.48 , por lo que se puede descargar con anticipación, lo que puede reducir el tiempo de compilación y ejecución
Cree subdirectorios en los directorios hadoop-2.7.7-src/hadoop-common-project/hadoop-kms
y respectivamente , y copie apache-tomcat-6.0.48.tar.gz en los directorioshadoop-2.7.7-src/hadoop-hdfs-project/hadoop-hdfs-httpfs
downloads
[1] Descarga el paquete comprimido
-
jdk-8u211-linux-x64 Elijo JDK8 aquí, también puedes elegir JDK7
-
Versión 1.10.6: requiere un mínimo de Java 8 en tiempo de ejecución
Versión 1.9.14: requiere un mínimo de Java 5 en tiempo de ejecuciónPreste atención a la versión de JDK seleccionada , si elige JDK7, use la versión 1.9.14
Descomprima JDK, Maven, Ant, Protobuf y GoogleTest. Entre ellos, GoogleTest debe descomprimirse en el directorio Protobuf y se cambia el nombre del directorio.gtest
Configure las variables de entorno de JDK, Maven y Ant
En el directorio Protobuf, ejecute los comandos por separado:
sh autogen.sh
./configure
make
make install
Ver versión
$ java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
$ mvn -version
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: /export/apache-maven-3.6.1
Java version: 1.8.0_211, vendor: Oracle Corporation, runtime: /export/jdk1.8.0_211/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-642.el6.x86_64", arch: "amd64", family: "unix"
$ ant -version
Apache Ant(TM) version 1.10.6 compiled on May 2 2019
$ protoc --version
libprotoc 2.5.0
Configure el espejo de Maven para que pueda ser más rápido al descargar el paquete jar
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
[2] Descargar paquete de dependencia
yum install -y autoconf automake libtool glibc-headers gcc-c++ cmake openssl-devel ncurses-devel
2. Compilar y empaquetar
[1] Simplemente compile en un sistema Linux de 64 bits sin agregar herramientas
① Entorno operativo
-
ordenador portátil
Procesador: CPU Intel® Core ™ i5-7200U @ 2.50GHz 2.71 GHz
-
máquina virtual
Procesador: el número de procesadores es 2, el número de núcleos por procesador es 2
Sistema operativo: CentOS versión 6.8 (final)
② ejecutar la orden
mvn clean
mvn package -Pdist,native -DskipTests -Dtar
Si el sistema se bloquea mientras se descarga el paquete jar, Ctrl + C
deje de compilar y vuelva a ejecutar el comando
③ Resultados de la implementación
main:
[exec] $ tar cf hadoop-2.7.7.tar hadoop-2.7.7
[exec] $ gzip -f hadoop-2.7.7.tar
[exec]
[exec] Hadoop dist tar available at: /hadoop-2.7.7-src/hadoop-dist/target/hadoop-2.7.7.tar.gz
[exec]
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache Hadoop Main 2.7.7:
[INFO]
[INFO] Apache Hadoop Main ................................. SUCCESS [ 9.443 s]
[INFO] Apache Hadoop Build Tools .......................... SUCCESS [ 3.441 s]
[INFO] Apache Hadoop Project POM .......................... SUCCESS [ 5.180 s]
[INFO] Apache Hadoop Annotations .......................... SUCCESS [ 4.112 s]
[INFO] Apache Hadoop Assemblies ........................... SUCCESS [ 0.241 s]
[INFO] Apache Hadoop Project Dist POM ..................... SUCCESS [ 1.501 s]
[INFO] Apache Hadoop Maven Plugins ........................ SUCCESS [ 7.762 s]
[INFO] Apache Hadoop MiniKDC .............................. SUCCESS [ 4.587 s]
[INFO] Apache Hadoop Auth ................................. SUCCESS [ 5.265 s]
[INFO] Apache Hadoop Auth Examples ........................ SUCCESS [ 3.194 s]
[INFO] Apache Hadoop Common ............................... SUCCESS [01:11 min]
[INFO] Apache Hadoop NFS .................................. SUCCESS [ 4.243 s]
[INFO] Apache Hadoop KMS .................................. SUCCESS [ 9.756 s]
[INFO] Apache Hadoop Common Project ....................... SUCCESS [ 0.042 s]
[INFO] Apache Hadoop HDFS ................................. SUCCESS [01:36 min]
[INFO] Apache Hadoop HttpFS ............................... SUCCESS [ 14.569 s]
[INFO] Apache Hadoop HDFS BookKeeper Journal .............. SUCCESS [ 4.641 s]
[INFO] Apache Hadoop HDFS-NFS ............................. SUCCESS [ 2.899 s]
[INFO] Apache Hadoop HDFS Project ......................... SUCCESS [ 0.039 s]
[INFO] hadoop-yarn ........................................ SUCCESS [ 0.032 s]
[INFO] hadoop-yarn-api .................................... SUCCESS [ 26.082 s]
[INFO] hadoop-yarn-common ................................. SUCCESS [ 20.657 s]
[INFO] hadoop-yarn-server ................................. SUCCESS [ 0.044 s]
[INFO] hadoop-yarn-server-common .......................... SUCCESS [ 7.394 s]
[INFO] hadoop-yarn-server-nodemanager ..................... SUCCESS [ 13.435 s]
[INFO] hadoop-yarn-server-web-proxy ....................... SUCCESS [ 2.603 s]
[INFO] hadoop-yarn-server-applicationhistoryservice ....... SUCCESS [ 5.085 s]
[INFO] hadoop-yarn-server-resourcemanager ................. SUCCESS [ 14.511 s]
[INFO] hadoop-yarn-server-tests ........................... SUCCESS [ 3.605 s]
[INFO] hadoop-yarn-client ................................. SUCCESS [ 4.714 s]
[INFO] hadoop-yarn-server-sharedcachemanager .............. SUCCESS [ 2.540 s]
[INFO] hadoop-yarn-applications ........................... SUCCESS [ 0.026 s]
[INFO] hadoop-yarn-applications-distributedshell .......... SUCCESS [ 2.107 s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher ..... SUCCESS [ 1.499 s]
[INFO] hadoop-yarn-site ................................... SUCCESS [ 0.026 s]
[INFO] hadoop-yarn-registry ............................... SUCCESS [ 3.788 s]
[INFO] hadoop-yarn-project ................................ SUCCESS [ 3.378 s]
[INFO] hadoop-mapreduce-client ............................ SUCCESS [ 0.100 s]
[INFO] hadoop-mapreduce-client-core ....................... SUCCESS [ 14.367 s]
[INFO] hadoop-mapreduce-client-common ..................... SUCCESS [ 11.601 s]
[INFO] hadoop-mapreduce-client-shuffle .................... SUCCESS [ 2.966 s]
[INFO] hadoop-mapreduce-client-app ........................ SUCCESS [ 6.613 s]
[INFO] hadoop-mapreduce-client-hs ......................... SUCCESS [ 3.880 s]
[INFO] hadoop-mapreduce-client-jobclient .................. SUCCESS [ 4.363 s]
[INFO] hadoop-mapreduce-client-hs-plugins ................. SUCCESS [ 1.570 s]
[INFO] Apache Hadoop MapReduce Examples ................... SUCCESS [ 3.993 s]
[INFO] hadoop-mapreduce ................................... SUCCESS [ 2.233 s]
[INFO] Apache Hadoop MapReduce Streaming .................. SUCCESS [ 3.210 s]
[INFO] Apache Hadoop Distributed Copy ..................... SUCCESS [ 6.003 s]
[INFO] Apache Hadoop Archives ............................. SUCCESS [ 1.686 s]
[INFO] Apache Hadoop Rumen ................................ SUCCESS [ 4.086 s]
[INFO] Apache Hadoop Gridmix .............................. SUCCESS [ 3.175 s]
[INFO] Apache Hadoop Data Join ............................ SUCCESS [ 1.858 s]
[INFO] Apache Hadoop Ant Tasks ............................ SUCCESS [ 1.420 s]
[INFO] Apache Hadoop Extras ............................... SUCCESS [ 2.098 s]
[INFO] Apache Hadoop Pipes ................................ SUCCESS [ 5.602 s]
[INFO] Apache Hadoop OpenStack support .................... SUCCESS [ 3.521 s]
[INFO] Apache Hadoop Amazon Web Services support .......... SUCCESS [ 10.019 s]
[INFO] Apache Hadoop Azure support ........................ SUCCESS [ 26.678 s]
[INFO] Apache Hadoop Client ............................... SUCCESS [ 6.604 s]
[INFO] Apache Hadoop Mini-Cluster ......................... SUCCESS [ 0.603 s]
[INFO] Apache Hadoop Scheduler Load Simulator ............. SUCCESS [ 3.638 s]
[INFO] Apache Hadoop Tools Dist ........................... SUCCESS [ 6.282 s]
[INFO] Apache Hadoop Tools ................................ SUCCESS [ 0.021 s]
[INFO] Apache Hadoop Distribution ......................... SUCCESS [ 26.823 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 08:55 min
[INFO] Finished at: 2019-08-21T11:57:53+08:00
[INFO] ------------------------------------------------------------------------
False la muerte una vez a mitad de camino, después de ejecutar el comando nuevamente, ¡éxito!
hadoop-2.7.7-src/hadoop-dist/target/
Estructura de directorios
drwxr-xr-x. 2 root root 4096 8月 21 11:57 antrun
drwxr-xr-x. 3 root root 4096 8月 21 11:57 classes
-rw-r--r--. 1 root root 1864 8月 21 11:57 dist-layout-stitching.sh
-rw-r--r--. 1 root root 637 8月 21 11:57 dist-tar-stitching.sh
drwxr-xr-x. 9 root root 4096 8月 21 11:57 hadoop-2.7.7
-rw-r--r--. 1 root root 198929775 8月 21 11:57 hadoop-2.7.7.tar.gz
-rw-r--r--. 1 root root 26520 8月 21 11:57 hadoop-dist-2.7.7.jar
-rw-r--r--. 1 root root 399070206 8月 21 11:57 hadoop-dist-2.7.7-javadoc.jar
-rw-r--r--. 1 root root 24049 8月 21 11:57 hadoop-dist-2.7.7-sources.jar
-rw-r--r--. 1 root root 24049 8月 21 11:57 hadoop-dist-2.7.7-test-sources.jar
drwxr-xr-x. 2 root root 4096 8月 21 11:57 javadoc-bundle-options
drwxr-xr-x. 2 root root 4096 8月 21 11:57 maven-archiver
drwxr-xr-x. 3 root root 4096 8月 21 11:57 maven-shared-archive-resources
drwxr-xr-x. 3 root root 4096 8月 21 11:57 test-classes
drwxr-xr-x. 2 root root 4096 8月 21 11:57 test-dir