Compilation et installation de Hadoop 3 sur CentOS 7

Installation des prérequis de compilation

Pour compiler Hadoop 3 sur CentOS 7, installez d'abord les bibliothèques et outils nécessaires. Exécutez les commandes suivantes via le gestionnaire de paquets :

# Ajout des paquets de base
yum -y install libXtst zlib-devel openssl-devel ncurses-devel autoconf automake libtool curl gcc gcc-c++ make

# Paquets de compression
yum -y install snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop

# Vérification de cmake (version 3.6+ requise)
yum -y install cmake
cmake --version

Si la version de cmake dans les dépôts est trop ancienne, compilez-la manuellement :

# Suppression de l'ancienne version
yum remove cmake -y

# Extraction et compilation de cmake 3.13.5
tar -xvf cmake-3.13.5.tar.gz -C /opt/
cd /opt/cmake-3.13.5
./configure --prefix=/usr/local
make && make install
hash -r  # Recharger le PATH
/usr/local/bin/cmake --version

Compilation de la bibliothèque Snappy

Pour un support Snappy optimisé, compilez-le à partir des sources :

# Nettoyage des anciennes installations
rm -f /usr/local/lib/libsnappy*

# Extraction et compilation
tar -xvf snappy-1.1.3.tar.gz -C /tmp/
cd /tmp/snappy-1.1.3
./configure --with-pic
make -j4 && make install

# Vérification des fichiers générés
ls -l /usr/local/lib/libsnappy*

Préparation de l'environnement de build

Instalation de Java JDK 8

# Décompression du JDK
tar -xvf jdk-8u65-linux-x64.tar.gz -C /opt/

# Configuration des variables d'environnement
cat > /etc/profile.d/java.sh << 'EOF'
export JAVA_HOME=/opt/jdk1.8.0_65
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
EOF

source /etc/profile.d/java.sh
javac -version

Configuration de Maven

# Installation de Maven
tar -xvf apache-maven-3.5.4-bin.tar.gz -C /opt/

# Création du fichier de configuration
cat > /etc/profile.d/maven.sh << 'EOF'
export M2_HOME=/opt/apache-maven-3.5.4
export MAVEN_OPTS="-Xmx4g"
export PATH=$M2_HOME/bin:$PATH
EOF

source /etc/profile.d/maven.sh
mvn --version

# Ajout d'un dépôt miroir pour accélérer les téléchargements
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << 'EOF'
<settings>
  <mirrors>
    <mirror>
      <id>aliyun-repo</id>
      <url>https://maven.aliyun.com/repository/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>
EOF

Installation de Protocol Buffers 2.5.0

# Compilation de protobuf
tar -xvf protobuf-2.5.0.tar.gz -C /tmp/
cd /tmp/protobuf-2.5.0
./configure --prefix=/usr/local
make -j$(nproc) && make install
ldconfig  # Mettre à jour les liens de bibliothèques

# Vérification
protoc --version

Compilation du code source Hadoop

Une fois tous les prérequis installés, compilez Hadoop :

# Extraction des sources
tar -xvf hadoop-3.1.4-src.tar.gz -C /opt/
cd /opt/hadoop-3.1.4-src

# Lancement de la compilation avec Maven
mvn clean package -Pdist,native -DskipTests -Dtar \
    -Dbundle.snappy -Dsnappy.lib=/usr/local/lib \
    -Dmaven.javadoc.skip=true

# Les artefacts compilés se trouvent dans :
ls -l /opt/hadoop-3.1.4-src/hadoop-dist/target/

Étiquettes: Hadoop CentOS7 Java Maven Protobuf

Publié le 7 juin à 22h08