1.准备软件包
flink-1.20.0-bin-scala_2.12.tgz
jdk-8u371-linux-x64.tar.gz
2.准备工作目录
mkdir /data/
3.配置集群免密登录
1.在每个节点执行如下命令,然后一直回车即可
[root@flink111 ~]# ssh-keygen -t rsa
[root@flink112 ~]# ssh-keygen -t rsa
[root@flink113 ~]# ssh-keygen -t rsa
2.分别将从节点的/root/.ssh/中的id_rsa.pub文件拷贝至主节点对应位置(需要重命名已避免冲突)
[root@flink112 .ssh]# scp id_rsa.pub 10.0.0.111:~/.ssh/id_rsa.pub.flink-112
[root@flink113 .ssh]# scp id_rsa.pub 10.0.0.111:~/.ssh/id_rsa.pub.flink-113
3.将主节点中的id_rsa.pub⽂件添加到authorized_keys⽂件中
[root@flink111 .ssh]# cat id_rsa.pub >> authorized_keys
[root@flink111 .ssh]# cat id_rsa.pub.flink-112 >> authorized_keys
[root@flink111 .ssh]# cat id_rsa.pub.flink-113 >> authorized_keys
4.将authorized_keys⽂件拷⻉⾄其他节点即可
[root@flink111 .ssh]# scp authorized_keys 10.0.0.112:~/.ssh/
[root@flink111 .ssh]# scp authorized_keys 10.0.0.113:~/.ssh/
5.然后从1号节点开始,分别ssh其他所有节点。⽬的是为了记住机器编号。也就是known_host
[root@flink111 .ssh]# ssh 10.0.0.111
[root@flink111 .ssh]# ssh 10.0.0.112
[root@flink111 .ssh]# ssh 10.0.0.113
[root@flink112 .ssh]# ssh 10.0.0.111
[root@flink112 .ssh]# ssh 10.0.0.112
[root@flink112 .ssh]# ssh 10.0.0.113
[root@flink113 .ssh]# ssh 10.0.0.111
[root@flink113 .ssh]# ssh 10.0.0.112
[root@flink113 .ssh]# ssh 10.0.0.113
6.查看authorized_keys⽂件,如果⽂件⽤户组权限为读和写,去掉⽤户组写权限即可。
[root@flink111 .ssh]# chmod g-w authorized_keys
[root@flink112 .ssh]# chmod g-w authorized_keys
[root@flink113 .ssh]# chmod g-w authorized_keys
4.配置jdk
1.解压jdk
tar xf jdk-8u371-linux-x64.tar.gz -C /data/
2.配置环境变量
vim /etc/profile
...
export JAVA_HOME=/data/jdk1.8.0_371
export FLINK_HOME=/data/flink-1.20.0
export PATH=$PATH:$JAVA_HOME/bin:$FLINK_HOME/bin
3.验证
[root@flink111 data]# java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)
5.部署flink
1.解压flink
tar xf flink-1.20.0-bin-scala_2.12.tgz -C /data/
2.修改配置文件
cd /data/flink-1.20.0/conf/
cp config.yaml config.yaml_bak
[root@flink111 conf]# cat masters
localhost:8081
[root@flink111 conf]# cat workers
flink111
flink112
flink113
[root@flink111 conf]# cat config.yaml
env:
java:
opts:
all: --add-exports=java.base/sun.net.util=ALL-UNNAMED --add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
jobmanager:
bind-host: 0.0.0.0
rpc:
address: 10.0.0.111
port: 6123
memory:
process:
size: 1600m
execution:
failover-strategy: region
taskmanager:
bind-host: 0.0.0.0
host: 10.0.0.113
numberOfTaskSlots: 4
memory:
process:
size: 1728m
parallelism:
default: 1
rest:
address: 10.0.0.111
bind-address: 0.0.0.0
flamegraph:
enabled: true
blob:
storage:
directory: /data/flink_bak/flink_blob
3.添加hosts
vim /etc/hosts
10.0.0.111 flink111
10.0.0.112 flink112
10.0.0.113 flink113
4.复制到其他节点
scp -r /data/* 10.0.0.112:/data/
scp -r /data/* 10.0.0.113:/data/
scp /etc/profile 10.0.0.112:/etc/profile
scp /etc/profile 10.0.0.113:/etc/profile
scp /etc/profile 10.0.0.112:/etc/hosts
scp /etc/profile 10.0.0.113:/etc/hosts
5.使环境变量生效
source /etc/profile
6.启动flink
在flink111主节点执行
start-cluster.sh
7.访问WebUI
10.0.0.111:8081
8.测试实例
nc -lk 9999 #开启9999端口
rm -rf /data/flink-1.20.0/log/*
flink run /data/flink-1.20.0/examples/streaming/SocketWindowWordCount.jar --port 9999
9.打开WEB UI页面,首先看到我们有一个实例即作业在运行中,查看实例运行结果
10.停止集群
stop-cluster.sh
评论 (0)