银河麒麟系统部署flink失败的三大解决方法:一、apt源安装openjdk 11与flink 1.18.1二进制包;二、图形化安装jdk后手动部署flink 1.17.2并调优配置;三、源码编译适配海光/飞腾平台的flink原生构建包。

如果您在银河麒麟操作系统上部署Flink用于流处理计算,但无法正常启动JobManager或TaskManager,可能是由于Java环境未就绪、系统服务依赖缺失或Flink配置未适配国产平台所致。以下是多种可行的安装与配置方法:
一、基于APT源安装OpenJDK与Flink二进制包
该方式适用于银河麒麟V10/V11桌面或服务器版,依赖系统内置软件源,操作轻量且兼容性经过基础验证。需确保系统已启用麒麟官方软件源并完成更新。
1、执行系统更新命令,同步软件包索引:
sudo apt update && sudo apt upgrade -y
2、安装OpenJDK 11(麒麟OS默认推荐JDK版本):
sudo apt install openjdk-11-jdk-headless -y
3、验证Java安装:
java -version
4、下载Flink 1.18.1-bin-scala_2.12.tgz(适配麒麟ARM/x86双架构且经社区验证稳定):
wget https://archive.apache.org/dist/flink/flink-1.18.1/flink-1.18.1-bin-scala_2.12.tgz
5、解压至/opt/flink目录并设置权限:
sudo tar -zxvf flink-1.18.1-bin-scala_2.12.tgz -C /opt/
sudo chown -R $USER:$USER /opt/flink-1.18.1
6、配置环境变量,在~/.bashrc末尾添加:
export FLINK_HOME=/opt/flink-1.18.1
export PATH=$FLINK_HOME/bin:$PATH
7、重载配置并验证:
source ~/.bashrc
flink --version
二、使用Kylin Software Center图形化安装JDK后手动部署Flink
该方式面向不熟悉终端操作的开发者,利用麒麟桌面版原生软件中心完成JDK可信安装,规避手动配置JAVA_HOME出错风险,再通过标准Flink二进制流程完成流处理运行时构建。
1、打开麒麟软件中心,搜索“OpenJDK 11”,点击【安装】并等待完成
2、安装完成后,终端执行:
update-alternatives --config java
选择对应openjdk-11-jdk路径,并确认
3、前往Apache Flink官网归档页(https://archive.apache.org/dist/flink/),下载flink-1.17.2-bin-scala_2.12.tgz(该版本对Kylin V10 SP3内核兼容性更优)
4、右键解压至用户主目录下的flink/子目录
5、进入该目录,编辑conf/flink-conf.yaml:
vi conf/flink-conf.yaml
6、修改以下关键参数以适配麒麟系统资源调度特性:
jobmanager.memory.process.size: 2048m
taskmanager.memory.process.size: 4096m
parallelism.default: 2
rest.address: 本机实际IPv4地址(非localhost)
7、启动本地集群:
./bin/start-cluster.sh
三、编译适配海光/飞腾平台的Flink原生构建包
该方式适用于在海光Hygon 7151或飞腾D2000等国产CPU服务器上部署高稳定性生产环境,绕过x86预编译包潜在的指令集兼容问题,通过源码+麒麟交叉编译工具链生成原生可执行文件。
1、安装构建依赖:
sudo apt install maven build-essential pkg-config libssl-dev zlib1g-dev -y
2、获取Flink 1.18.1源码包:
wget https://downloads.apache.org/flink/flink-1.18.1/flink-1.18.1-src.tgz
3、解压并进入目录:
tar -zxvf flink-1.18.1-src.tgz
cd flink-1.18.1
4、执行国产化适配构建(禁用Scala 2.13、启用Shaded Hadoop模块):
mvn clean install -DskipTests -Pvendor-repos -Dscala-2.12 -Dhadoop.version=3.3.6 -Drat.skip=true
5、构建成功后,产物位于flink-dist/target/flink-1.18.1-bin/flink-1.18.1/,将其复制至部署路径
6、在conf/flink-conf.yaml中强制指定JVM参数以规避ARM平台GC异常:
env.java.opts: "-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+UseStringDeduplication"
7、启动前执行权限修复:
chmod +x ./bin/*.sh











