制作parcel安装包
制作支持CDH-6.0.1
的Flink-1.10.0
的Parcel
安装包
- 下载项目
git clone https://github.com/pkeropen/flink-parcel.git
cd flink-parcel
- 修改配置文件
vim flink-parcel.properties
修改后的内容如下:
FLINK_URL=http://10.1.24.134:38080/flink-self/flink-1.10.0-bin-scala_2.11.tgz
FLINK_VERSION=1.10.0
EXTENS_VERSION=BIN-SCALA_2.11
OS_VERSION=7
CDH_MIN_FULL=5.16.1
CDH_MAX_FULL=6.3.2
CDH_MIN=5
CDH_MAX=6
- 生成
parcel
文件
./build.sh parcel
,生成的文件都在FLINK-1.10.0-BIN-SCALA_2.11_build
目录下
- 生成
csd
文件,生成文件FLINK_ON_YARN-1.10.0.jar
on yarn
版本
standalone
版本
./build.sh csd_standalone
集成flink
- 将生成的
csd
的jar
包文件放入指定目录中
cp FLINK_ON_YARN-1.10.0.jar /opt/cloudera/csd/
chown cloudera-scm:cloudera-scm /opt/cloudera/csd/FLINK_ON_YARN-1.10.0.jar
service cloudera-scm-server restart
- 将生成的
parcel
三个文件通过nginx
或httpd
服务配置下载路径。这里配置的路径为http://10.1.24.134:38080/flink/
,测试访问http://10.1.24.134:38080/flink/manifest.json
- 登录
http://10.1.24.224:7180/cmf/login
,点击集群
==>Parcel
- 点击
配置
- 增加一行url,并填入配置的
parcel
文件内网下载路径
- 然后依次选择
下载
>分配
>激活
- 添加
Flink
服务,按提示添加启动并运行。
说明
- 在如果集群开启了安全,需要配置
security.kerberos.login.keytab
和security.kerberos.login.principal
两个参数才能正正常启动。如未启动kerberos
,则在CDH
中添加FLINK
服务时请清空这两个参数的内容。
- 如果启动的过程中一直报错,可以查看
flink
日志,在/var/log/flink
目录下。
- 如果启动时报如下错误,则是缺少
hadoop
的相关jar
包(flink-shaded-hadoop-2-uber-2.7.5-7.0.jar
),将jar
下载下来,放到/opt/cloudera/parcels/FLINK-1.10.0-BIN-SCALA_2.11/lib/flink/lib/
目录下即可。下载地址:``Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/exceptions/YarnExceptionat java.lang.Class.getDeclaredMethods0(Native Method)at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)at java.lang.Class.privateGetMethodRecursive(Class.java:3048)at java.lang.Class.getMethod0(Class.java:3018)at java.lang.Class.getMethod(Class.java:1784)at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.yarn.exceptions.YarnExceptionat java.net.URLClassLoader.findClass(URLClassLoader.java:382)at java.lang.ClassLoader.loadClass(ClassLoader.java:418)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)at java.lang.ClassLoader.loadClass(ClassLoader.java:351)... 7 more