背景
实验室环境能够申请的环境就是ZDH中兴的R4B4集群,尚未能支持Flink组件。根据咨询ZDH工程师,最新版本的应该已经有Flink组件了,但是仍然是实验性质,并不会立即商业支持。准备配置1台master+三台slave小集群。
启动Flink 报错 sed -E 不支持
自己下载Flink1.7.2 部署到集群master,尝试启动Flink ,报错:
sed: invalid option -- E
这个是ZDH 不支持 sed -E 改成 sed -e 即可,
对应修改Flink bin 文件夹下 config.sh 文件中 sed -E 为 sed -e ,记得应该就一处
JDK 版本不支持
由于ZDH组件 安装Java JDK还是1.7的,而目前准备部署Flink 1.7.2版本,必须要Java JDK1.8+ , 否则无法运行Flink
尝试运行 start-cluster.sh 会报UnsupportedClassVersionError 错:
java.lang.UnsupportedClassVersionError
为了保证其他组件稳定,不能直接修改安装JDK1.8,所以需要单独直接配置Flink对应的JDK ,刚开始网上搜索需要在, flink-conf.yaml 指定Flink java home
env.java.home: /path_to_jdk1.8/
注意 配置变量的时候冒号后面要有空格,否则无效(折腾了好一会儿)
最后在官网看到 env.java.home 说明
env.java.home: The path to the Java installation to use (DEFAULT: system’s default Java installation, if found). Needs to be specified if the startup scripts fail to automatically resolve the java home directory. Can be specified to point to a specific java installation or version. If this option is not specified, the startup scripts also evaluate the JAVA_HOME environment variable.
至此,可以愉快的启动单机了。 要配置起来集群,需要把其他三个slave节点都进行同样的配置,注意Flink路径也要保持一致。
Standalone 集群配置
好麻烦,把slave节点都配好jdk1.8之后。 开始继续配置集群了,Flink官网写的很详细了Flink官网standalone-cluster
前面jdk也有说明。两个地方说明:
- flink-conf.yaml 声明master地址 jobmanager.rpc.address: master地址
- slaves 中配好 slaves的ip地址(多个就写多行)
启动
bin/start-cluster.sh
master 和 slave 通过SSH 沟通,因此可能会遇到让你输入slave的密码。
之后访问web服务查看集群状态即可。