El código fuente de Hadoop2.7.3 se compila en un paquete comprimido que admite Snappy y se instala para construir un clúster de Hadoop
prólogo
Preparar recursos
Nota: Utilice la compilación de roles raíz para reducir los problemas de permisos de carpeta
apache-maven-3.6.3-bin.tar.gz
下载地址: https://maven.apache.org/download.cgi
hadoop-2.7.3-src.tar.gz
下载地址: https://archive.apache.org/dist/hadoop/common/
protobuf-2.5.0.tar.gz
下载地址: https://github.com/protocolbuffers/protobuf/releases?after=v3.0.0-alpha-3.1
snappy-1.1.3.tar.gz
下载地址: https://github.com/google/snappy/releases
Recursos relacionados con Hadoop, estos también son
Instalación 1.maven
Sube el paquete de instalación a Linux y descomprímelo con comandos
tar -zxvf apache-maven-3.6.3-bin.tar.gz // 解压到当前目录下
Para evitar dependencias de importación lentas más adelante
cd apache-maven-3.6.3/conf/
Modifique el archivo settings.xml en este directorio
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<!--修改为阿里镜像-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
La ubicación de la biblioteca predeterminada de maven es
/root/.m2/repository/
Si desea modificar la biblioteca maven, puede agregarla en el archivo settings.xml
<localRepository>/usr/Software/Maven/repository</localRepository> //路径自己写
Agregar variables de entorno
vi /etc/profile
export MAVEN_HOME=/usr/Software/Maven/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
保存退出
source /etc/profile
Compruebe si la variable de entorno es válida
mvn -version
2. Prepare el entorno de compilación
yum install svn
yum install autoconf automake libtool cmake
yum install ncurses-devel
yum install openssl-devel
yum install gcc*
Instale snappy,
cargue el paquete de instalación en linux y descomprima
tar -zxvf snappy-1.1.3.tar.gz
cd snappy-1.1.3/
分别执行
该命令会在 /usr/local/ 下生成bin、include、lib目录
./configure
make
make install
如果lib下生成libsnappy相关文件即为成功
Instale protobuf,
cargue el paquete de instalación en linux y descomprima
tar -zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0/
分别执行
./configure
make
make install
检测protobuf安装是否成功
执行命令
protoc --version
3. Compile el código fuente de Hadoop2.7.3 que admita Snappy
Del mismo modo, suba hadoop-2.7.3-src.tar.gz
解压
tar -zxvf hadoop-2.7.3-src.tar.gz
cd hadoop-2.7.3-src/
mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib -Dbundle.snappy
该项目打包过程漫长(本人打包花了两个多小时),耐心等待即可,后面我会提供支持Snappy压缩的安装包
Después de una ejecución exitosa, hadoop-2.7.3-src / hadoop-dist / target / hadoop-2.7.3.tar.gz es el paquete de instalación rápido generado.
Agregar una pregunta
org.apache.maven.plugin.MojoExecutionException:
protoc version is 'libprotoc x.x.x', expected version is '2.5.0' -> [Help 1
Encontrado un error de este tipo indica que la versión de protobuf requerida para empaquetar Hadoop es 2.5.0, que es inconsistente con la versión actual
4. Instale un clúster de Hadoop que admita Snappy
Descomprima el hadoop-2.7.3.tar.gz generado arriba
tar -zxvf hadoop-2.7.3.tar.gz
Si el clúster de Hadoop se ha creado antes
cd hadoop-2.7.3/lib/native/
将该目录下的所有文件复制到之前已经搭建好的Hadoop目录下的 lib/native/ 下
Inicie el clúster de Hadoop
Ejecutando una orden
hadoop checknative
Ver que lo ágil corresponde a lo verdadero es el éxito
Si no ha creado un clúster de Hadoop, consulte aquí
Construcción de clústeres Hadoop HA
5. Paquete de instalación de Hadoop compatible con Snappy
Enlace: https://pan.baidu.com/s/101n4HOClGdJu6oNTb8Kpbg
Código de extracción: ta8l