Hadoop
分布式系统基础架构
授权协议:Apache
开发语言:Java

软件介绍

Hadoop是一个开源的分布式存储及计算框架,被广泛用于海量数据的存储及处理,可以以可靠、高效、可伸缩的方式进行数据处理。

开源地址:https://hadoop.apache.org/

1.    安装环境推荐配置

安装Hadoop的环境推荐配置如2-1所示。

表1-1 安装Hadoop的环境推荐配置

类别

子项

版本

获取地址

硬件

CPU

Kunpeng 920

-

网络

Ethernet-10GE

-

存储

SATA 4TB

-

内存

512G 2400MHz

-

OS

CentOS

7.4

https://www.centos.org/download/

Kernel

4.16

含在OS镜像包中

软件

GCC

4.8.5

含在OS镜像包中

Maven

3.3.9

https://maven.apache.org/

JDK

1.8.0_191

https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz

Protoc

2.5.0

https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz


2.    准备编译环境

1)        安装OpenJDK

操作步骤

a)         下载OpenJDK安装包。

wget  https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz

b)        解压安装包。

tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz

c)         OpenJDK安装到指定目录。

mv jdk8u191-b12 /opt/tools/installed/

d)        配置java环境变量。

i.              打开“/etc/profile”文件。

vi /etc/profile

ii.              在“/etc/profile”文件末尾处增加如下代码。

JAVA_HOME=/opt/tools/installed/jdk8u191-b12
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

iii.              修改完成后,按“Esc”键,输入:wq!命令保存退出。

iv.              执行以下命令,使修改的环境变量生效。

source /etc/profile

2)        安装Maven

操作步骤

a)         下载Maven安装包。

wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

b)        解压安装包。

tar -zxf apache-maven-3.5.4-bin.tar.gz

c)         Maven安装到指定目录。

mv apache-maven-3.5.4 /opt/tools/installed/

d)        配置Maven环境变量。

在“/etc/profile”文件末尾增加如下蓝色字体代码。

JAVA_HOME=/opt/tools/installed/jdk8u191-b12
MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4
PATH=$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
export MAVEN_HOME JAVA_HOME PATH

执行以下命令,使修改的环境变量生效。

source /etc/profile

e)         修改Maven配置文件/opt/tools/installed/apache-maven-3.5.4/conf/settings.xml中的本地仓路径、远程仓等。

例如将/path/to/local/repo修改成“/opt/tools/repo”。

<!--默认在“~/.m2/”目录下,修改成用户想保存的目录-->
<localRepository>/path/to/local/repo</localRepository>

<!--修改成用户自己搭建的maven仓库,ARM使能后的jar包替换到该仓库-->
<mirror>
</mirror>
例如阿里厂库是下面的镜像,用户需要修改成自己的ARM仓,确保ARM仓里面的jar包是经过ARM使能的,修改样例如下:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf> 
</mirror>

3)        安装GCC

操作步骤

a)         挂载OS镜像。

mount YOUR_OS.iso /media -o loop

b)        修改“/etc/yum.repos.d/Base.repo”文件,配置yum本地源。

[Local]
name=CentOS-7.4 Local
baseurl=file:///media/
enabled=1
gpgcheck=0

c)         执行以下命令,使yum源配置生效。

yum clean all
yum makecache

d)        安装GCC相关软件。

yum install gcc.aarch64 gcc-c++.aarch64 gcc-gfortran.aarch64 libgcc.aarch64

4)        安装Protoc

操作步骤

a)         下载Protoc安装包。

wget https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz

b)        解压安装包。

tar -zxf protobuf-2.5.0.tar.gz

c)         进入解压后目录。

cd protobuf-2.5.0

d)        请从鲲鹏生态社区获取Protoc ARM补丁包。

e)         安装Protoc ARM补丁。

cp protoc.patch ./src/google/protobuf/stubs/
cd ./src/google/protobuf/stubs/
patch -p1 < protoc.patch
cd -

编译并安装到系统默认目录。

./autogen.sh && ./configure CFLAGS='-fsigned-char' && make && make install


3.       软件移植分析

请依据《CheckSo使用说明文档》扫描Hadoop安装包,分析得出需要移植的第三方依赖包,如4-1所示。

软件移植分析结果

原始jar

so文件

lz4-1.2.0.jar

Liblz4-java.so

netty-all-4.0.52.Final.jar

libnetty_transport_native_epoll_x86_64.so

leveldbjni-all-1.8.jar

libleveldbjni.so

snappy-java-1.0.5.jar

libsnappy.so


4.    编译依赖包

操作步骤

1)        请使用yum安装基本库。

yum install openssl-devel zlib-devel automake libtool cmake

2)        请参考5-1编译依赖包。

依赖包编译参考

依赖包

编译参考

libsnappyjava.so

请参考《编译libsnappyjava.so》进行编译。

leveldbjni-all-1.8.jar

请参考《编译leveldbjni-all-1.8.jar》进行编译。

lz4-1.2.0.jar

请参考《编译lz4-1.2.0.jar》进行编译。

netty-all-4.0.52.Final.jar

请参考《编译netty-all-4.0.52.Final.jar》进行编译。

snappy-java-1.0.5.jar

请参考《编译snappy-java-1.0.5.jar》进行编译。


3)        请将编译完成的jar包替换到自己搭建的Maven仓库和本地仓库中。


5.    编译Hadoop

操作步骤

1)        下载Hadoop安装包。

wget https://www.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1-src.tar.gz

2)        解压安装包。

tar -zxvf hadoop-3.1.1-src.tar.gz

3)        进入解压后目录。

cd Hadoop-3.1.1-src

4)        执行编译。

mvn package -DskipTests -Pdist,native -Dtar  -Dmaven.javadoc.skip=true

编译成功后,将在源码下的“hadoop-dist/target/”目录生成tar.gz包。

6.    相关文档

第三方依赖包编译指导


软件下载

源码下载立即下载

相关软件:Protoc ARM补丁包