【极数系列】Flink环境搭建(02)

【极数系列】Flink环境搭建(02)

引言

1.linux

直接在linux上使用jdk11+flink1.18.0版本部署

2.docker

使用容器部署比较方便,一键启动停止,方便参数调整

3.windows

搭建Flink 1.18.0版本需要使用Cygwin或wsl工具模拟unix环境+编写对应bat脚本以及路径存在转义符问题,暂时还没搭建成功,小伙伴要是有成功的可以评论区留言下,新版本在windows搭建已经搞得我汗流浃背了!!

(1) 部署Linux版本JDK

1.下载Linux版本的JDK11

版本:jdk-11.0.2_linux-x64_bin.tar.gz

https://repo.huaweicloud.com/java/jdk/

2.创建目录

复制代码
mkdir /usr/java

3.上传并解压

复制代码
cd /usr/java
rz jdk-11.0.2_linux-x64_bin.tar.gz
tar -xzvf jdk-11.0.2_linux-x64_bin.tar.gz
解压后目录:/usr/java/jdk-11.0.2

4.配置环境变量

复制代码
vi /etc/profile
#把下面三行加到文件末尾
export JAVA_HOME=/usr/java/jdk-11.0.2
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

5.刷新环境变量

复制代码
source /etc/profile

6.检查jdk安装是否成功

看到版本即可 java -version

(2) 部署Flink1.18.0

1.下载Flink1.18.0版本包

地址:https://www.apache.org/dyn/closer.lua/flink/flink-1.18.0/flink-1.18.0-bin-scala_2.12.tgz

2.上传压缩包到服务器

复制代码
cd /www
rz flink-1.18.0-bin-scala_2.12.tgz
tar -xvf flink-1.18.0-bin-scala_2.12.tgz

tips:修改这个配置主要是为了外部网络可以访问,否则只能本地访问

复制代码
vi /www/flink-1.18.0/conf/flink-config.yaml
把这个配置#rest.bind-address: 0.0.0.0前面的#去掉,如果value是localhost则改为0.0.0.0

4.启动服务

复制代码
cd /www/flink-1.18.0
./bin/start-cluster.sh

5.浏览器访问

flinkUI地址:http://127.0.0.1:8081

注意云服务器可能需要关闭对应的防火墙或者是开发端口

复制代码
#通过命令查看防火墙策略
sudo iptables -L | more
#如果输出内容为Chain INPUT (policy DROP),再执行修改策略
sudo iptables -P INPUT ACCEPT
#直到确认输出为Chain INPUT (policy ACCEPT),才可清除所有规则停止防火墙
sudo iptables -F 
#关闭防火墙
systemctl stop firewalld.service

6.停止服务

复制代码
cd /www/flink-1.18.0
./bin/stop-cluster.sh

1.安装yum-utils软件包

tips:提供yum-config-manager 实用程序,配置加速源

复制代码
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.安装docker

复制代码
yum install -y docker-ce docker-ce-cli containerd.io  

3.启动docker

复制代码
systemctl start docker  

4.设置docker自启动

复制代码
systemctl enable docker 

5.配置Docker使用systemd作为默认Cgroup驱动

复制代码
cat <<EOF > /etc/docker/daemon.json
{
   "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

6.重启docker

复制代码
systemctl restart docker

7.拉取最新镜像

tips:目前最新镜像默认是:flink 1.18.0

复制代码
docker pull flink

8.检查镜像

复制代码
docker images

9.编写dockerFile文件

docker-compose.yaml文件内容如下

Bash 复制代码
version: "1.0"
services:
  jobmanager:
    image: flink
    expose:
      - "6123"
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
 
  taskmanager:
    image: flink
    expose:
      - "6121"
      - "6122"
    depends_on:
      - jobmanager
    command: taskmanager
    links:
      - "jobmanager:jobmanager"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager

10.执行dockerFile

tips:在docker-compose.yaml文件同级目录执行

复制代码
docker-compose up -d

11.检查flink是否启动成功

复制代码
docker ps |grep flink

12.检查日志是否正常

复制代码
docker logs --tail="500" root-jobmanager-1
docker logs -f root-taskmanager-1

13.查看端口是否存在

复制代码
netstat -anltp|grep 8081

14.浏览器访问

tips:查看FLink页面web UI页面,云服务器查看防火墙是否开启

复制代码
http://ip:port/8081

三.本地开发安装JDK11

1.下载jdk11版本包

tips:下载地址https://repo.huaweicloud.com/java/jdk/

2.安装jdk11服务

双击解压后jdk的exe运行文件

3.路径选择

tips:一般不安装在C盘,修改路径,接着直接next

复制代码
#使用管理员身份打开cmd命令,进入刚才安装的jdk目录
E:
cd E:\java_11\

#生成jre目录文件
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

4.设置环境变量

此电脑--属性--高级系统设置--环境变量--找到系统变量path--选择新建--把jdk与jre目录均加上

5.多版本JDK共存

进入oracle目录,如我的是C:\ProgramData\Oracle\Java\javapath,删除该目录下的所有 java.exe,javaw.exe 文件,后续就会按照环境变量的顺序默认选择jdk11,如果想切换回jdk8,只需要把jdk8的环境变量移动到jdk11环境变量之前即可

6.验证安装成功与否

打开cmd命令行,执行java -version,出现对应版本表示安装成功

四.idea配置JDK11

1.修改JDK编译版本

tips:或者在编译打包插件也可

复制代码
idea--->Settings-->Build,Execution,Deployment--->Java Compiler

2.调整JDK开发版本

tips: 在 idea 的左上角找到 File 选择 Peoject Structure

相关推荐
2601_9594779110 分钟前
Vatee:外汇行情信息呈现与技术架构如何影响体验,给出一套细节
大数据·人工智能·安全·ux
KaMeidebaby12 分钟前
卡梅德生物技术快报|重组蛋白的表达和纯化:工艺调试全记录:大肠杆菌体系重组蛋白的表达和纯化参数标定(肠激酶轻链案例)
前端·人工智能·算法·数据挖掘·数据分析
郑洁文13 分钟前
基于Python+回归分析的电子产品需求数据分析与预测
python·数据分析·回归·电子产品需求数据·电子产品数据分析
Kepler187415 分钟前
注射器与输液器厂分布在哪里?全国主要产区梳理
大数据·其他
萤丰信息28 分钟前
存量焕新 + 绿色低碳,2026 智慧园区转型新路径
大数据·人工智能
极客老王说Agent32 分钟前
即时配送每日账单人工对账全攻略:结算误差如何快速排查修正?
大数据·人工智能·ai·chatgpt
lizhihai_9933 分钟前
股市学习心得-六月的股市怎么应对
大数据·人工智能·科技·学习·区块链
新新学长搞科研37 分钟前
【广东省博促会主办】2026年第七届先进材料与智能制造国际学术会议(ICAMIM 2026)
大数据·前端·数据库·人工智能·物联网
大树8838 分钟前
本周液冷三件事 #2|Vera Rubin 227kW 全液冷量产 · 34 省 PUE 政策汇编 · 光模块也要液冷了
大数据·服务器·人工智能
OCR_133716212751 小时前
金融智能化落地:护照核验技术在银行场景的应用与实践
大数据·人工智能·金融