记录制作flink parcel

环境(虚拟机,系统CentOS7.6)

(1)jdk1.8
(2)maven3.6.1
(3)parcel制作工具
1.jdk1.8
下载jdk1.8版本并上传到虚拟机的指定目录下,我的目录是/app
解压jdk到当前目录
tar -zxvf /app/jdk-8u151-linux-x64.tar.gz -C .
重命名
mv jdk1.8.0_151/ jdk

配置系统环境变量
vim /etc/profile
在最后添加:
export JAVA_HOME=/app/jdk
export PATH=$PATH:$JAVA_HOME/bin:
保存并退出

刷新系统变量
source /etc/profile

验证
java -version

输出如下结果证明配置完成
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

2.maven
下载maven,我使用的是maven3.6.1,上传到虚拟机的指定目录下,我的目录是/app
解压maven到当前目录
tar -zxvf apache-maven-3.6.1-bin.tar.gz -C .
重命名
mv apache-maven-3.6.1 maven

配置系统环境变量
vim /etc/profile
在最后添加:
export MVN_HOME=/app/maven
export PATH=$PATH:$MVN_HOME/bin:$JAVA_HOME/bin:
保存并退出

刷新系统变量
source /etc/profile

验证
mvn -version

输出如下结果证明配置完成
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: /app/maven
Java version: 1.8.0_151, vendor: Oracle Corporation, runtime: /app/jdk/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

3.flink 相关下载
注:可不需要提前下载
flink下载地址:https://archive.apache.org/dist/flink/flink-1.12.0/flink-1.12.0-bin-scala_2.12.tgz
parcel制作工具下载地址:https://github.com/pkeropen/flink-parcel.git(github提供的工具包)
4.制作parcel
parcel制作方式大致有两种,第一种是使用源生的制作方法,制作过程繁琐复杂,第二种是使用广大网友制作好的parcel制作工具,本文使用后者

下载制作工具:
git clone https://github.com/pkeropen/flink-parcel.git
完成后会在当前目录生成一个flink-parcel的文件,证明下载成功

修改配置文件
cd ./flink-parce
vim flink-parcel.properties
进行相应修改,内容如下:
#FLINK 下载地址
FLINK_URL=https://archive.apache.org/dist/flink/flink-1.12.0/flink-1.12.0-bin-scala_2.12.tgz

#flink版本号
FLINK_VERSION=1.12.0

#扩展版本号
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


保存并退出

然后进行build
./build.sh  parcel
下载并打包完成后会在当前目录生成FLINK-1.11.3-BIN-SCALA_2.12_build文件

构建flink-yarn csd包
./build.sh csd_on_yarn
执行完成后会生成FLINK_ON_YARN-1.12.0.jar

将FLINK-1.11.3-BIN-SCALA_2.12_build打包
tar -cvf ./FLINK-1.12.0-BIN-SCALA_2.12.tar ./FLINK-1.12.0-BIN-SCALA_2.12_build/

将FLINK-1.12.0-BIN-SCALA_2.12.tar FLINK_ON_YARN-1.12.0.jar下载,这两个包就是目标包
sz FLINK-1.12.0-BIN-SCALA_2.12.tar FLINK_ON_YARN-1.12.0.jar

上传到正式环境服务器(局域网yum提供的节点)
5.集成cm
将上传的FLINK-1.12.0-BIN-SCALA_2.12.tar进行解压到/var/www/html
tar -xvf FLINK-1.12.0-BIN-SCALA_2.12.tar -C /var/www/html

重命名
mv FLINK-1.12.0-BIN-SCALA_2.12_build flink
cd /var/www/html/flink
createrepo .

配置局域网flink的yum
cd /etc/yum.repo.d
vim ./flink.repo
输入如下内容
[flink]
name=flink
baseurl=http://yum源ip/flink
enabled=1
gpgcheck=0


然后执行
yum clean all
yum makecache

登录cm
在parcel配置界面添加flink的parcel源
然后进行下载→分配→解压→**

然后登录服务器,将FLINK_ON_YARN-1.12.0.jar上传到cm主节点的/opt/cloudera/csd/目录下(目的是让cm识别)

注:此时在cm添加服务可能无法看到有flink服务,需要重启集群的agent以及cm server

重新启动cm后即可看到flink,并可以执行添加操作了
6.问题
flink启动报错找不到yarn的jar包
官网的说法是flink1.11版本之后的版本都不需要单独编译hadoop的适配包了,只需要配置HADOOP_CLASSPATH=`hadoop classpath`即可,但是我配置后问题也没有解决,只好添加适配包,但经过编译1.12.0版本的shad后,并没有相关的包,所以我采用的是1.10版本的适配包

cd /opt/cloudera/parcels/FLINK/lib/flink/lib
rz flink-shaded-hadoop-2-uber-2.7.5-10.0.jar(所有flink节点都需要添加)

vim /etc/profile
export HADOOP_CLASSPATH=/opt/cloudera/parcels/FLINK/lib/flink/lib
source /etc/profile
可能还会报相同的错, 修改配置多重启几次。

添加完成后再重试还会报一个与Kerberos相关的错误,由于我的集群并没有开启Kerberos,所以需要到flink的配置界面中把Kerberos相关的配置删除,完后再重启就能够正常启动了。

启动后flink在cm界面的显示状态为?问题
在cm界面重启cm服务即可解决
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐