1 环境要求
1.1 硬件要求
项目 |
说明 |
服务器 |
TaiShan服务器/ECS鲲鹏 |
CPU |
鲲鹏920处理器或鲲鹏916处理器 |
磁盘分区 |
对磁盘分区无要求 |
2 基本环境配置
2.1 安装基本库
使用yum安装
yum install wget patch openssl-devel zlib-devel automake libtool make cmake libstdc++-static glibc-static git gcc gcc-c++ gcc.aarch64 gcc-c++.aarch64 gcc-gfortran.aarch64 libgcc.aarch64 |
----结束
2.2解决Gcc -fsighed-char问题
步骤1:查找Gcc所在路径
command -v gcc |
步骤2:更改Gcc的名字
mv /usr/bin/gcc /usr/bin/gcc-impl |
步骤3:创建gcc文件,并输入如下命令
vim /usr/bin/gcc #! /bin/sh /usr/bin/gcc-impl -fsigned-char "$@" |
步骤4:执行如下命令为文件添加访问权限
chmod +x /usr/bin/gcc |
步骤5:确认gcc命令可用
gcc -v |
----结束
2.3 解决G++ -fsighed-char问题
步骤1:查找G++所在路径
command -v g++ |
步骤2:更改G++的名字
mv /usr/bin/g++ /usr/bin/g++-impl |
步骤3:创建g++文件,并输入如下命令
vim /usr/bin/g++ #! /bin/sh /usr/bin/g++-impl -fsigned-char "$@" |
步骤4:执行如下命令为文件添加访问权限
chmod +x /usr/bin/g++ |
步骤5:确认g++命令可用
g++ -v |
----结束
3 常用编译环境配置
3.1 安装OpenJDK
步骤1:下载OpenJDK的源代码并安装到指定目录(如“/opt/tools/installed”)
步骤2:解压源码包
tar –zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz |
mkdir -p /opt/tools/installed/ mv jdk8u252-b09 /opt/tools/installed/ |
步骤3:配置JAVA环境变量
vim /etc/profile export JAVA_HOME=/opt/tools/installed/jdk8u252-b09 export PATH=$JAVA_HOME/bin:$PATH |
步骤四:运行下面的命令,使修改的环境变量生效
source /etc/profile |
步骤五:检查是否生效
java -version |
----结束
3.2 安装Maven
步骤1:下载maven的源代码并安装到指定目录(如“/opt/tools/installed”)
wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
步骤2:解压源码包
tar –zxf apache-maven-3.6.1-bin.tar.gz |
mv apache-maven-3.6.1 /opt/tools/installed/ |
步骤3:配置maven环境变量
vim /etc/profile export MAVEN_HOME=/opt/tools/installed/apache-maven-3.6.1 export PATH=$MAVEN_HOME/bin:$PATH |
步骤四:运行下面的命令,使修改的环境变量生效
source /etc/profile |
步骤五:检查是否生效
mvn -v |
步骤六:修改maven配置文件
配置文件路径:/opt/tools/installed/apache-maven-3.6.1/conf/settings.xml
在<mirrors>标签内添加一下内容
<mirror> <id>huaweimaven</id> <name>huawei maven</name> <url>https://mirrors.huaweicloud.com/repository/maven/</url> <mirrorOf>central</mirrorOf> </mirror> |
----结束
3.3 安装Cmake
步骤1:下载Cmake的源代码并安装到指定目录(如“/opt/tools/installed”)
步骤2:解压源码包
tar –zxf cmake-3.12.4.tar.gz |
步骤3:进入cmake源码目录
cd cmake-3.12.4 |
步骤四:运行下面的命令,编译并安装cmake
./bootstrap make make install |
----结束
3.4 安装Protobuf
步骤1:执行下面命令,安装protobuf
yum install –y protobuf protobuf-devel |
protoc --version
步骤1 下载Protoc安装包。
wget https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
步骤2 解压安装包。
tar -zxf protobuf-2.5.0.tar.gz
步骤3 进入解压后目录。
cd protobuf-2.5.0
步骤4 下载Protoc补丁包。
下载地址:https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/bigdata/Patch/protoc.zip
wget https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/bigdata/Patch/protoc.zip
unzip protoc.zip
cp ./protoc/protoc.patch ./protobuf-2.5.0/src/google/protobuf/stubs/
步骤5 安装Protoc鲲鹏补丁。
cp ./protoc/protoc.patch ./protobuf-2.5.0/src/google/protobuf/stubs/
cd ./src/google/protobuf/stubs/
patch -p1 < protoc.patch
回到之前的目录
cd -
步骤6 下载依赖工具
yum install libtool autoconf automake
步骤7 编译并安装到系统默认目录。
./autogen.sh && ./configure CFLAGS='-fsigned-char' && make -j8 && make install
步骤8将Protoc部署在本地Maven仓库中
mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-aarch_64 -Dpackaging=exe -Dfile=/usr/local/bin/protoc
4 验证
4.1 源码编译Hadoop3.1.1
4.1.1 下载Hadoop3.1.1源码
1、wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1-src.tar.gz
tar -zxvf hadoop-3.1.1-src.tar.gz
cd hadoop-3.1.1-src
vim pom.xml
4.2 编译配置
1、在repositories标签的第一位添加鲲鹏maven仓库源:
<repository>
<id>kunpengmaven</id>
<name>kunpeng maven</name>
<url>https://mirrors.huaweicloud.com/kunpeng/maven</url>
</repository>
2、除了依赖仓库源,还要添加插件仓库源,pluginRepositories和repositories的节点级别一样:
<pluginRepositories>
<pluginRepository>
<id>huaweicloud-plugin</id>
<url>http://mirrors.huaweicloud.com/repository/maven</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
3、执行基础编译命令。
mvn package -DskipTests -Pdist,native -Dtar -Dmaven.javadoc.skip=true
4、编译成功后,将在源码下的“hadoop-dist/target/”目录生成tar.gz包。
5 单节点部署验证
5.1 下载解压hadoop
cd /opt/tools/installed
# 拷贝编译完成好的hadoop包
cp /home/hadoop-3.1.1-src/hadoop-dist/target/hadoop-3.1.1.tar.gz ./
#解压
tar -zxvf hadoop-3.1.1.tar.gz
cd ..
# 重命名
mv hadoop-3.1.1 hadoop
5.2 配置ssh免密登录
ssh localhost
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
# 检查是否可以免密登录
ssh localhost
5.3 设置namenode
编辑etc/hadoop/core-site.xml ,填写如下内容
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
创建目录:
mkdir –p ./data/nameNode
mkdir –p ./data/dataNode
编辑 etc/hadoop/hdfs-site.xml ,填写如下内容(黄色部分修改成hadoop安装目录)
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/nameNode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/dataNode</value>
</property>
</configuration>
5.4 修改hadoop-env.sh
vim hadoop-env.sh
将${JAVA_HOME} 修改为自己的JDK路径
export JAVA_HOME=/opt/tools/installed/jdk8u252-b09
在/hadoop/sbin路径下:
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数:
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
5.5五 启动hdfs
保障你在hadoop根目录下
./bin/hdfs namenode -format
./sbin/start-dfs.sh
验证:访问http:IP:9870