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

相关推荐
2401_883041083 小时前
新锐品牌电商代运营公司都有哪些?
大数据·人工智能
青云交3 小时前
大数据新视界 -- 大数据大厂之 Impala 性能优化:融合机器学习的未来之路(上 (2-1))(11/30)
大数据·计算资源·应用案例·数据交互·impala 性能优化·机器学习融合·行业拓展
Json_181790144806 小时前
An In-depth Look into the 1688 Product Details Data API Interface
大数据·json
陈燚_重生之又为程序员6 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
Qspace丨轻空间8 小时前
气膜场馆:推动体育文化旅游创新发展的关键力量—轻空间
大数据·人工智能·安全·生活·娱乐
Elastic 中国社区官方博客9 小时前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws
Aloudata10 小时前
从Apache Atlas到Aloudata BIG,数据血缘解析有何改变?
大数据·apache·数据血缘·主动元数据·数据链路
水豚AI课代表10 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
拓端研究室TRL13 小时前
【梯度提升专题】XGBoost、Adaboost、CatBoost预测合集:抗乳腺癌药物优化、信贷风控、比特币应用|附数据代码...
大数据
黄焖鸡能干四碗13 小时前
信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
大数据·人工智能·软件需求·设计规范·规格说明书