【极数系列】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

相关推荐
py小王子6 分钟前
dy评论数据爬取实战:基于DrissionPage的自动化采集方案
大数据·开发语言·python·毕业设计
龙山云仓40 分钟前
MES系统超融合架构
大数据·数据库·人工智能·sql·机器学习·架构·全文检索
无忧智库1 小时前
某市“十五五“知识产权大数据监管平台与全链条保护系统建设方案深度解读(WORD)
大数据·人工智能
综合热讯1 小时前
股票融资融券交易时间限制一览与制度说明
大数据·人工智能·区块链
华农DrLai1 小时前
Spark SQL Catalyst 优化器详解
大数据·hive·sql·flink·spark
Pluchon1 小时前
硅基计划4.0 算法 简单模拟实现位图&布隆过滤器
java·大数据·开发语言·数据结构·算法·哈希算法
岁岁种桃花儿2 小时前
Flink从入门到上天系列第一篇:搭建第一个Flink程序
大数据·linux·flink·数据同步
历程里程碑2 小时前
普通数组-----除了自身以外数组的乘积
大数据·javascript·python·算法·elasticsearch·搜索引擎·flask
无忧智库2 小时前
某市“十五五”智慧教育2.0建设方案深度解读:从数字化转型到数智化融合的跨越之路(WORD)
大数据
eyun_185002 小时前
把健康小屋搬进单位 让职工暖心 让履职安心
大数据·人工智能·经验分享