节点:192.168.10.10,192.168.10.20,192.168.10.30
一、前置操作:关闭防火墙、selinux,安装jdk1.8(根据flink版本安装对应jdk)配置节点间免密,配置各主机hosts
1、关闭防火墙和selinux
查看防火墙状态
systemctl status firewalld
关闭防火墙及永久关闭
systemctl stop firewalld && systemctl disable firewalld
查看selinux状态
getenforce
输出为disabled则为关闭状态,未关闭可下面操作
临时关闭setenforce 0 永久关闭 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
2、安装jdk1.8
tar -zxf jdk-8u202-linux-x64.tar.gz
mv jdk1.8.0_202 /usr/local/jdk1.8.0_202
#配置环境变量
cat >> /etc/profile <<EOF
export JAVA_HOME=/usr/local/jdk1.8.0_202
export JRE_HOME=\${JAVA_HOME}/jre
export CLASSPATH=.:\{JAVA_HOME}/lib:\\{JRE_HOME}/lib
export PATH=\{JAVA_HOME}/bin:\\PATH
EOF
刷新环境变量
. /etc/profile
java -version
3、配置各主机免密
各个主机均进行以下操作
生成公钥,并将其追加到授权文件中生成公钥,并将其追加到授权文件中
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将公钥分发给其他主机
scp ~/.ssh/id_rsa.pub root@192.168.10.20:~/
scp ~/.ssh/id_rsa.pub root@192.168.10.30:~/
将公钥追加到授权文件中
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
检验免密登录
4、配置各主机hosts
cat >> /etc/hosts << EOF
192.168.10.10 m1
192.168.10.20 s1
192.168.10.30 s2
EOF
二、部署flink
1、将压缩包放到安装目录中,解压缩
tar -zxf flink-1.17.2-bin-scala_2.12.tgz
cd flink-1.17.2
2、各节点修改flink配置文件
/path/flink-1.17.2/conf/flink-conf.yaml和/path/flink-1.17.2/conf/workers
三个节点flink-conf.yaml中的jobmanager.rpc.address: localhost 修改为jobmanager.rpc.address: m1
在哪台节点启动就以哪个节点的主机名为主(本文以192.168.10.10为主节点启动),其他两个节点的jobmanager.rpc.address要与启动节点配置相同
rest.bind-address: localhost修改为rest.bind-address: 0.0.0.0
另外两个节点20和30/path/flink-1.17.2/conf/workers中
s1
s2
3、启动flink集群
cd flink-1.17.2
bin/start-cluster.sh
日志输出为
Starting cluster.
Starting standalonesession daemon on host m1.
Authorized users only. All activities may be monitored and reported.
Starting taskexecutor daemon on host s1.
Authorized users only. All activities may be monitored and reported.
Starting taskexecutor daemon on host s2.
则启动成功
4、停止flink集群
bin/stop-cluster.sh
5、网页访问flink Web UI界面
192.168.10.10:8081