前言
一步一步地實踐已成熟的flink1.12以parcel方式部署cdh6.x,
編譯
下載kafka-avro-serializer-5.3.0和kafka-schema-registry-client-5.5.2
注意:不要使用flink原始碼中的kafka-avro-serializer-5.5.2,因為編譯報錯如下圖:

針對上圖的解決方案為:
[root@master flink-release-1.12.2]# vi ./flink-end-to-end-tests/flink-end-to-end-tests-common-kafka/pom.xml
110 <dependency>
111 <!-- https://mvnrepository.com/artifact/io.confluent/kafka-avro-serializer -->
112 <groupId>io.confluent</groupId>
113 <artifactId>kafka-avro-serializer</artifactId>
114 <!-- <version>5.5.2</version> -->
115 <version>5.3.0</version>
116 <scope>test</scope>
117 </dependency>
注釋掉第114行并新增第115行,即修改版本號,
由于上面兩個jar包無法下載,本人手動下載后自己加載到maven本地倉庫中
[root@master flink-release-1.12.2]# cd /opt/module/flink-shaded-release-12.0/
[root@master flink-shaded-release-12.0]# mvn clean install -DskipTests -Dhadoop.version=3.0.0-cdh6.3.2
[root@master flink-release-1.12.2]# mvn install:install-file -Dfile=/root/jcz/my_jar/kafka-avro-serializer-5.3.0.jar -DgroupId=io.confluent -DartifactId=kafka-avro-serializer -Dversion=5.3.0 -Dpackaging=jar
[root@master flink-release-1.12.2]# mvn install:install-file -Dfile=/root/jcz/my_jar/kafka-schema-registry-client-5.5.2.jar -DgroupId=io.confluent -DartifactId=kafka-schema-registry-client -Dversion=5.5.2 -Dpackaging=jar
[root@master flink-release-1.12.2]# mvn -T2C clean install -DskipTests -Dfast -Pinclude-hadoop -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.3.2 -Dflink.shaded.version=12.0 -Dscala-2.12
[root@master ~]# scp -r /opt/module/flink-release-1.12.2/flink-dist/target/flink-1.12.2-bin/flink-1.12.2 /var/www/html/
[root@master ~]# cd /var/www/html/
[root@master html]# tar -czvf flink-1.12.2-bin-scala_2.12.tgz flink-1.12.2
[root@master ~]# systemctl start httpd
[root@master soft]# git clone https://github.com/pkeropen/flink-parcel.git
[root@master soft]# chmod -R 777 flink-parcel
[root@master soft]# cd flink-parcel/
[root@master flink-parcel]# vi flink-parcel.properties
#FLINK 下載地址
#FLINK_URL=https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.12.tgz
FLINK_URL=http://192.168.2.95/flink-1.12.2-bin-scala_2.12.tgz
#flink版本號
FLINK_VERSION=1.12.2
#擴展版本號
EXTENS_VERSION=BIN-SCALA_2.12
#作業系統版本,以centos為例
OS_VERSION=7
#CDH 小版本
CDH_MIN_FULL=5.2
CDH_MAX_FULL=6.3.3
#CDH大版本
CDH_MIN=5
CDH_MAX=6
[root@master flink-parcel]# ./build.sh parcel
上面在html目錄下操作完成后,打開瀏覽器輸入ip后可見:

若看不到Centos7虛擬機的上圖,則需:

報錯解決
- 報錯01
[ERROR] Failed to execute goal on project cloudera-manager-schema: Could not resolve dependencies for project com.cloudera.cmf.schema:cloudera-manager-schema:jar:5.8.0: Could not find artifact commons-cli:commons-cli:jar:1.3-cloudera-pre-r1439998 in aliyun (http://maven.aliyun.com/nexus/content/groups/public)
參考livy 集成cdh中編譯parcel包出現問題解決,解決方案為:
[root@master ~]# mvn install:install-file -Dfile=/root/jcz/my_jar/commons-cli-1.3-cloudera-pre-r1439998.jar -DgroupId=commons-cli -DartifactId=commons-cli -Dversion=1.3-cloudera-pre-r1439998 -Dpackaging=jar
[root@master flink-parcel]# ./build.sh parcel
Validation succeeded.
[root@master flink-parcel]# ll ./FLINK-1.12.2-BIN-SCALA_2.12_build
total 327520
-rw-r--r-- 1 root root 335369210 Apr 9 00:49 FLINK-1.12.2-BIN-SCALA_2.12-el7.parcel
-rw-r--r-- 1 root root 41 Apr 9 00:49 FLINK-1.12.2-BIN-SCALA_2.12-el7.parcel.sha
-rw-r--r-- 1 root root 583 Apr 9 00:49 manifest.json
[root@master flink-parcel]# ll
total 327540
-rwxrwxrwx 1 root root 5863 Apr 8 22:47 build.sh
drwxr-xr-x 6 root root 142 Apr 9 00:39 cm_ext
drwxr-xr-x 4 root root 29 Apr 9 00:48 FLINK-1.12.2-BIN-SCALA_2.12
drwxr-xr-x 2 root root 123 Apr 9 00:49 FLINK-1.12.2-BIN-SCALA_2.12_build
-rw-r--r-- 1 root root 335366412 Apr 8 02:45 flink-1.12.2-bin-scala_2.12.tgz
drwxrwxrwx 5 root root 53 Apr 8 22:47 flink-csd-on-yarn-src
drwxrwxrwx 5 root root 53 Apr 8 22:47 flink-csd-standalone-src
-rwxrwxrwx 1 root root 411 Apr 8 22:49 flink-parcel.properties
drwxrwxrwx 3 root root 85 Apr 8 22:47 flink-parcel-src
-rwxrwxrwx 1 root root 11357 Apr 8 22:47 LICENSE
-rwxrwxrwx 1 root root 4334 Apr 8 22:47 README.md
[root@master flink-parcel]# ./build.sh csd_on_yarn
Validation succeeded.
[root@master flink-parcel]# ll FLINK_ON_YARN-1.12.2.jar
-rw-r--r-- 1 root root 8259 Apr 9 00:53 FLINK_ON_YARN-1.12.2.jar
[root@master flink-parcel]# tar -cvf ./FLINK-1.12.2-BIN-SCALA_2.12.tar ./FLINK-1.12.2-BIN-SCALA_2.12_build/
將上述FLINK-1.12.2-BIN-SCALA_2.12.tar和FLINK_ON_YARN-1.12.2.jar上傳到正式環境服務器(局域網yum提供的節點),
[root@cdh632-master01 ~]# mkdir /opt/soft/my-flink-parcel
[root@cdh632-master01 ~]# cd /opt/soft/my-flink-parcel/
[root@cdh632-master01 my-flink-parcel]# tar -xvf FLINK-1.12.2-BIN-SCALA_2.12.tar -C /var/www/html
[root@cdh632-master01 my-flink-parcel]# cd /var/www/html
[root@cdh632-master01 html]# ll
total 8
drwxr-xr-x. 2 root root 4096 Mar 4 2020 cloudera-repos
drwxr-xr-x 2 root root 4096 Apr 9 00:49 FLINK-1.12.2-BIN-SCALA_2.12_build
[root@cdh632-master01 html]# mv FLINK-1.12.2-BIN-SCALA_2.12_build flink
[root@cdh632-master01 html]# cd flink/
[root@cdh632-master01 flink]# createrepo .
[root@cdh632-master01 flink]# cd /etc/yum.repos.d
[root@cdh632-master01 yum.repos.d]# vi flink.repo
[flink]
name=flink
baseurl=http://cdh632-master01/flink
enabled=1
gpgcheck=0
[root@cdh632-master01 yum.repos.d]# cd
[root@cdh632-master01 ~]# yum clean all
[root@cdh632-master01 ~]# yum makecache



2)點擊“下載”后,報錯02:Parcel FLINK-1.12.2-BIN-SCALA_2.12-el7.parcel 的錯誤:哈希驗證失敗,
參考cloudera manager手動安裝flink、livy parcel出現哈希驗證失敗,解決方案為:
[root@cdh632-master01 ~]# vi /etc/httpd/conf/httpd.conf
AddType application/x-gzip .gz .tgz .parcel #此處添加.parcel
[root@cdh632-master01 ~]# systemctl restart httpd
點擊“分配”:

點擊“激活”


接下來準備重啟CM:
[root@cdh632-master01 ~]# cp /opt/soft/my-flink-parcel/FLINK_ON_YARN-1.12.2.jar /opt/cloudera/csd/
[root@cdh632-master01 ~]# systemctl stop cloudera-scm-agent
[root@cdh632-worker02 ~]# systemctl stop cloudera-scm-agent
[root@cdh632-worker03 ~]# systemctl stop cloudera-scm-agent
[root@cdh632-master01 ~]# systemctl restart cloudera-scm-server
[root@cdh632-master01 ~]# systemctl start cloudera-scm-agent
[root@cdh632-worker02 ~]# systemctl start cloudera-scm-agent
[root@cdh632-worker03 ~]# systemctl start cloudera-scm-agent








不要糾結此報錯,多次點擊“回傳”,一直回退到cdh首頁,

[root@cdh632-master01 ~]# find / -name flink-shaded-hadoop-*
/opt/module/repository/org/apache/flink/flink-shaded-hadoop-2-uber/3.0.0-cdh6.3.2-10.0/flink-shaded-hadoop-2-uber-3.0.0-cdh6.3.2-10.0.jar
[root@cdh632-master01 lib]# scp /opt/module/repository/org/apache/flink/flink-shaded-hadoop-2-uber/3.0.0-cdh6.3.2-10.0/flink-shaded-hadoop-2-uber-3.0.0-cdh6.3.2-10.0.jar root@cdh632-master01:/opt/cloudera/parcels/FLINK/lib/flink/lib/
[root@cdh632-master01 lib]# scp /opt/module/repository/org/apache/flink/flink-shaded-hadoop-2-uber/3.0.0-cdh6.3.2-10.0/flink-shaded-hadoop-2-uber-3.0.0-cdh6.3.2-10.0.jar root@cdh632-worker02:/opt/cloudera/parcels/FLINK/lib/flink/lib/
[root@cdh632-master01 lib]# scp /opt/module/repository/org/apache/flink/flink-shaded-hadoop-2-uber/3.0.0-cdh6.3.2-10.0/flink-shaded-hadoop-2-uber-3.0.0-cdh6.3.2-10.0.jar root@cdh632-worker03:/opt/cloudera/parcels/FLINK/lib/flink/lib/
所有Flink-yarn角色所在機器均執行如下:
[root@cdh632-master01 ~]# vi /etc/profile
export HADOOP_CLASSPATH=/opt/cloudera/parcels/FLINK/lib/flink/lib
[root@cdh632-master01 ~]# source /etc/profile
- 上述操作后試圖滑鼠重啟Flink-yarn的所有角色,但多次嘗試均報錯03:flink-yarn.sh: line 17: rotateLogFilesWithPrefix: command not found,網友也遇到了此問題:https://download.csdn.net/download/orangelzc/15936248,最終的解決方案:
[root@cdh632-master01 ~]# scp /opt/module/repository/org/apache/flink/flink-shaded-hadoop-2-uber/2.7.5-10.0/flink-shaded-hadoop-2-uber-2.7.5-10.0.jar root@cdh632-worker03:/opt/cloudera/parcels/FLINK/lib/flink/lib/
[root@cdh632-master01 ~]# scp /opt/module/repository/org/apache/flink/flink-shaded-hadoop-2-uber/2.7.5-10.0/flink-shaded-hadoop-2-uber-2.7.5-10.0.jar root@cdh632-worker02:/opt/cloudera/parcels/FLINK/lib/flink/lib/
[root@cdh632-master01 ~]# scp /opt/module/repository/org/apache/flink/flink-shaded-hadoop-2-uber/2.7.5-10.0/flink-shaded-hadoop-2-uber-2.7.5-10.0.jar root@cdh632-master01:/opt/cloudera/parcels/FLINK/lib/flink/lib/
再次滑鼠重啟Flink-yarn的所有角色,竟然成功了,雖然我最初通過:
[root@master flink-shaded-release-12.0]# mvn clean install -DskipTests -Dhadoop.version=3.0.0-cdh6.3.2
編譯并產生了flink-shaded-hadoop-2-uber-3.0.0-cdh6.3.2-10.0.jar,但卻沒識別,好像只識別flink-shaded-hadoop-2-uber-2.7.5-10.0.jar,待探究,




參考
基于CDH-6.2.0編譯flink-1.12.1(Hadoop-3.0.0&Hive-2.1.1)
centos7 下httpd服務器開啟目錄
cdh6 flink 安裝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274535.html
標籤:其他
