90905-centos7-flink1.9.0-hadoop2.7.3-源碼編譯

90905-centos7-flink1.9.0-hadoop2.7.3-源碼編譯

編譯環(huán)境

類(lèi)型 版本 備注
OS centos el7.x86_64
maven 3.6.1
node v10.14.1
flink 源碼 release-1.9.0
hadoop 2.7.3.2.6.0.3-8
ambari-hdp 2.6.0.3-8
scala 2.12

編譯過(guò)程(環(huán)境構(gòu)建參考下文)

  1. flink-release-1.9.0 源碼
cd ~
# 打開(kāi)下面鏈接下載最新的 1.9.0 源碼 (不要下載 release 的 zip 包)
https://codeload.github.com/apache/flink/zip/release-1.9.0
unzip flink-release-1.9.0.zip
  1. 源碼預(yù)處理
# 進(jìn)入源碼目錄
cd flink-release-1.9.0
# pom 中 移除 test 相關(guān)模塊
vim pom.xml
# 移除模塊如下
<module>flink-tests</module>
<module>flink-test-utils-parent</module>
<module>flink-end-to-end-tests</module>
<module>flink-yarn-tests</module>
<module>flink-fs-tests</module>
<module>flink-docs</module>
# 修改pom 文件
cd flink-filesystems/flink-s3-fs-hadoop 
cd flink-filesystems/flink-oss-fs-hadoop 
vim pom.xml
# 刪除 flink-fs-hadoop-shaded 下
  <scope>test</scope>
  <type>test-jar</type> 
# vim flink-connectors/flink-hadoop-compatibility/pom.xml
<dependency>
    <groupId>commons-cli</groupId>
    <artifactId>commons-cli</artifactId>
    <version>1.4</version>
</dependency>
# vim flink-connectors/pom.xml
<dependency>
    <groupId>commons-net</groupId>
    <artifactId>commons-net</artifactId>
    <version>3.6</version>
</dependency>   
# nodejs 相關(guān)處理
cd flink-runtime-web/web-dashboard
npm ci --cache-max=0 --no-save
rm -rf node_modules/caniuse-lite
rm -rf node_modules/browserslist
npm update
  1. 編譯
cd flink-release-1.9.0
mvn clean install -Dmaven.test.skip=true  -Dcheckstyle.skip=true -Dlicense.skip=true -Drat.skip=true  -Drat.ignoreErrors=true  -Dfast -Dscala-2.12 -Dhadoop.version=2.7.3
# 如果編譯錯(cuò)誤會(huì)提示 mvn <goals> -rf :flink-hadoop-fs (...) 封寞,這樣寫(xiě)繼續(xù)編譯
mvn clean install -Dmaven.test.skip=true  -Dcheckstyle.skip=true -Dlicense.skip=true -Drat.skip=true  -Drat.ignoreErrors=true  -Dfast -Dscala-2.12 -Dhadoop.version=2.7.3 -rf :flink-hadoop-fs
# 編譯成功后顯示如下結(jié)果
[INFO] flink-metrics-graphite ............................. SUCCESS [  0.239 s]
[INFO] flink-metrics-influxdb ............................. SUCCESS [  1.130 s]
[INFO] flink-metrics-prometheus ........................... SUCCESS [  0.666 s]
[INFO] flink-metrics-statsd ............................... SUCCESS [  0.264 s]
[INFO] flink-metrics-datadog .............................. SUCCESS [  0.420 s]
[INFO] flink-metrics-slf4j ................................ SUCCESS [  0.247 s]
[INFO] flink-python ....................................... SUCCESS [  0.969 s]
[INFO] flink-dist ......................................... SUCCESS [ 19.897 s]
[INFO] flink-yarn-tests ................................... SUCCESS [  1.174 s]
[INFO] flink-ml-parent .................................... SUCCESS [  0.068 s]
[INFO] flink-ml-api ....................................... SUCCESS [  0.413 s]
[INFO] flink-ml-lib ....................................... SUCCESS [  0.390 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  11:25 min
[INFO] Finished at: 2019-09-05T20:28:00+08:00
[INFO] ------------------------------------------------------------------------
  1. 遇到問(wèn)題及解決方案
# 通過(guò) mvn 命令手動(dòng)添加到本地倉(cāng)庫(kù) 下載 flink-shaded-hadoop-2-2.7.5-7.0.jar 等包
# 注意 不要放在 flink 源碼工程中執(zhí)行
  • 4.1 Could not find artifact org.apache.flink:flink-shaded-hadoop-2:jar:2.7.3-7.0
flink-hadoop-fs
# 去 maven 中央倉(cāng)庫(kù)搜索 flink-shaded-hadoop-2 , 發(fā)現(xiàn)沒(méi)有我們的版本然评,下載版本最近的 jar 
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-shaded-hadoop-2</artifactId>
    <version>2.7.5-7.0</version>
    <scope>provided</scope>
</dependency>
mvn install:install-file -DgroupId=org.apache.flink -DartifactId=flink-shaded-hadoop-2 -Dversion=2.7.3-7.0 -Dpackaging=jar  -Dfile=./flink-shaded-hadoop-2-2.7.5-7.0.jar
  • 4.2 Could not find artifact org.apache.flink:flink-fs-hadoop-shaded:jar:tests:1.9.0
    flink-s3-fs-hadoop
# 詳細(xì)錯(cuò)誤信息
 Failed to execute goal on project flink-s3-fs-hadoop: Could not resolve dependencies for project org.apache.flink:flink-s3-fs-hadoop:jar:1.9.0: Failure to find org.apache.flink:flink-fs-hadoop-shaded:jar:tests:1.9.0 in http://maven.aliyun.com/nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of alimaven has elapsed or updates are forced
#  pom 文件修改
cd flink-filesystems/flink-s3-fs-hadoop 
cd flink-filesystems/flink-oss-fs-hadoop 
vim pom.xml
# 刪除 flink-fs-hadoop-shaded 下
  <scope>test</scope>
  <type>test-jar</type>                 
  • 4.3 Could not find artifact org.apache.flink:flink-shaded-hadoop-2-uber:jar:2.7.3-7.0
 flink-yarn-tests
 # 去 maven 中央倉(cāng)庫(kù)搜索 flink-shaded-hadoop-2 , 發(fā)現(xiàn)沒(méi)有我們的版本,下載版本最近的 jar 
 <dependency>
     <groupId>org.apache.flink</groupId>
     <artifactId>flink-shaded-hadoop-2-uber</artifactId>
     <version>2.7.5-7.0</version>
     <scope>provided</scope>
 </dependency>
 mvn install:install-file -DgroupId=org.apache.flink -DartifactId=flink-shaded-hadoop-2-uber -Dversion=2.7.3-7.0 -Dpackaging=jar  -Dfile=./flink-shaded-hadoop-2-uber-2.7.5-7.0.jar

5 編譯完成后 二進(jìn)制 文件路徑如下

cd flink-release-1.9.0  
cd flink-dist/target/flink-1.9.0-bin/flink-1.9.0

環(huán)境構(gòu)建

maven

  1. 下載安裝包
# 進(jìn)入自己的下載路徑
cd ~
# 下載安裝包
wget http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.zip
  1. 環(huán)境配置
# 解壓
unzip http://mirror.olnevhost.net/pub/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.zip
# 重命名文件夾
mv apache-maven-3.6.1 maven
# 配置環(huán)境變量
sudo vim /etc/profile
# 添加如下內(nèi)容
export MAVEN_HOME=~/maven
export PATH=$MAVEN_HOME/bin:$PATH
# 刷新環(huán)境變量
source /etc/profile
  1. 配置 maven 阿里源
 # 編輯配置文件
vim ~/maven/conf/settings.xml
# mirrors 節(jié)點(diǎn)加入如下配置項(xiàng)
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

node

  1. 測(cè)試 maven
# 輸入  
mvn 
# 看到如下內(nèi)容說(shuō)明環(huán)境配置正常
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.098 s
[INFO] Finished at: 2019-09-05T11:48:27+08:00
[INFO] ------------------------------------------------------------------------

node 環(huán)境安裝

  1. 環(huán)境安裝
cd ~
wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
tar zxvf node-v10.14.1-linux-x64.tar.gz
mv node-v10.14.1-linux-x64 node
ln -s ~/node/bin/node /usr/local/bin/node   
ln -s ~/node/bin/npm /usr/local/bin/npm
#
npm install -g cnpm --registry=https://registry.npm.taobao.org
#
alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"
# 處理 npm 權(quán)限
npm config -g set unsafe-perm
  1. 測(cè)試
# 輸入 
npm 
# 顯示如下 則環(huán)境正常
Usage: npm <command>
where <command> is one of:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末狈究,一起剝皮案震驚了整個(gè)濱河市碗淌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抖锥,老刑警劉巖亿眠,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異磅废,居然都是意外死亡纳像,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)拯勉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)竟趾,“玉大人,你說(shuō)我怎么就攤上這事谜喊√妒蓿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵斗遏,是天一觀(guān)的道長(zhǎng)山卦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)诵次,這世上最難降的妖魔是什么账蓉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮逾一,結(jié)果婚禮上铸本,老公的妹妹穿的比我還像新娘。我一直安慰自己遵堵,他們只是感情好箱玷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著陌宿,像睡著了一般锡足。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壳坪,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天舶得,我揣著相機(jī)與錄音,去河邊找鬼爽蝴。 笑死沐批,一個(gè)胖子當(dāng)著我的面吹牛纫骑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播九孩,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼先馆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了躺彬?” 一聲冷哼從身側(cè)響起磨隘,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎顾患,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體个唧,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡江解,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了徙歼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片犁河。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖魄梯,靈堂內(nèi)的尸體忽然破棺而出桨螺,到底是詐尸還是另有隱情,我是刑警寧澤酿秸,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布灭翔,位于F島的核電站,受9級(jí)特大地震影響辣苏,放射性物質(zhì)發(fā)生泄漏肝箱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一稀蟋、第九天 我趴在偏房一處隱蔽的房頂上張望煌张。 院中可真熱鬧,春花似錦退客、人聲如沸骏融。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蔽莱。三九已至砌溺,卻和暖如春套媚,著一層夾襖步出監(jiān)牢的瞬間慈鸠,已是汗流浹背逝段。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工私股, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留刷允,地道東北人冤留。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓碧囊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親纤怒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子糯而,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容