一、编译

在GitHub 下载源码并编译:

1
2
git clone git@github.com:apache/flink.git
git checkout release-1.6.3

1.1. 编译环境

Hadoop 源码编译所需的其他软件在源码包的 BUILDING.txt 文件中有介绍:

1
2
3
4
5
6
7
8
9
maven: Apache Maven 3.6.0
jdk: jdk_1.8.0_201
ProtocolBuffer: portoc-2.5.0
zlib: 1.2.3-lib
OpenSSL: 1_0_2r
cmale: 3.14.3-win64-x64
Cygwin: 2.897_x86_64
hadoop: hadoop-2.9.2
snappy:

1.2. 可能遇到的问题

1.2.1. protoc2.5

1.2.2. DynamoDBLocal.jar

DynamoDBLocal.jar

  1. 下载

  2. 解压 dynamodb_local_latest.tar.gz 后,会有一个 DynamoDBLocal.jar

  3. 上传到 maven

    1
    mvn install:install-file -Dfile=/Users/joker/Documents/resources/jar/dynamodb_local/DynamoDBLocal.jar  -DgroupId=com.amazonaws -DartifactId=DynamoDBLocal -Dversion=1.11.86 -Dpackaging=jar

再次编译

1
mvn package -Pdist -DskipTests -Dtar

由于主机的hostname不合法,修改为不包含着., /, _等非法字符。

1
mvn clean install -DskipTests -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -T 4

maven 的 settings.xml 文件的 mirror 添加:

1
2
3
4
5
6
7
8
9
10
11
12
13
 1<mirror>
2 <id>nexus-aliyun</id>
3 <mirrorOf>*,!jeecg,!jeecg-snapshots,!mapr-releases</mirrorOf>
4 <name>Nexus aliyun</name>
5 <url>http://maven.aliyun.com/nexus/content/groups/public</url>
6</mirror>
7
8<mirror>
9 <id>mapr-public</id>
10 <mirrorOf>mapr-releases</mirrorOf>
11 <name>mapr-releases</name>
12 <url>https://maven.aliyun.com/repository/mapr-public</url>
13</mirror

编译命令:

1
mvn clean install -DskipTests -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -T 4

等了一波时间之后,编译成功就长下图这样:

二、部署

为了部署方便, 简单写了个简陋的一键部署脚本💪~

1
2
3
git clone https://gitee.com/Joccer_admin/chen-utils-manager.git
cd chen-utils-manager
./chen-utils-manager.sh -m hadoop

三、调试

3.1. 本地

3.1.1. 准备

3.1.2. 第一次运行

image-20230208214127332

3.2. 远程

3.2.1. Namenode

  1. Active

    Active
  2. StandBy

3.2.2. DataNode