Flink-1.13.2 Standalone 集群安装配置


介绍

 Flink提供了多种部署方式,本文介绍standalone 三节点模式,这个是模式不依赖其它第三方工具,配置简单
Stanalone CLuster 是一种独立的集群模式,集群运行不需要依赖外部系统,完全自己独立进行管理。
三台机器部署情况: 

1、解压安装包
tar -zxvf flink-1.13.2-bin-scala_2.11.tgz

在每台主机上配置主机名(注意:一定要配置主机名,主机名不能是localhost)
hostnamectl set-hostname node212
hostnamectl set-hostname node213
hostnamectl set-hostname node214

与IP地址的解析:(node212,node213,node214)

手动同步时间:
yum install ntpdate -y
/usr/sbin/ntpdate -u 195.13.1.153 & /sbin/hwclock -w

[root@node214 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.212 node212
172.16.1.213 node213
172.16.1.214 node214


配置node212到node213,node214  ssh互信
在node212主机上执行:
[root@node212 .ssh]#ssh-keygen -t rsa(一直回车)
[root@node212 .ssh]#cd /root/.ssh/
[root@node212 .ssh]#cp id_rsa.pub authorized_keys
[root@node212 .ssh]#ssh-copy-id -i node213        #输入node213主机的密码
[root@node212 .ssh]#ssh-copy-id -i node214 #输入node214主机的密码

测试:
[root@node212 .ssh]#ssh node213        #不需要密码就可以进入node213
[root@node212 .ssh]#ssh node214     #不需要密码就可以进入node214


2、修改配置文件,conf目录下
vim /usr/local/flink-1.13.2/conf/flink-conf.yaml文件


## jobmanager节点地址,也是master节点地址
jobmanager.rpc.address: node212

其他使用默认配置,其中有一些HA高可用、容错、安全、HistoryServer相关配置,按需进行配置即可,HistoryServer需单独运行启动脚本来启动服务。

修改masters文件
vim /usr/local/flink-1.13.2/conf/masters
//添加
node212:8081


修改workers文件
vim /usr/local/flink-1.13.2/conf/workers
//添加
node213
node214


3、将安装目录复制到另外两台节点
scp -r /usr/local/flink-1.13.2 node213:/usr/local/
scp -r /usr/local/flink-1.13.2 node214:/usr/local/


4、配置环境变量,修改/etc/profile
export FLINK_HOME=/usr/local/flink-1.13.2
export PATH=$PATH:$FLINK_HOME/bin


//使配置文件生效
source /etc/profile


5、启动集群
[root@node212 bin]# ./start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host node212.
Starting taskexecutor daemon on host node213.
Starting taskexecutor daemon on host node214.


停止集群:
[root@node212 bin]# ./stop-cluster.sh
Stopping taskexecutor daemon (pid: 6173) on host node213.
Stopping taskexecutor daemon (pid: 6139) on host node214.
Stopping standalonesession daemon (pid: 6787) on host node212.


6、打开浏览器输入http://node212:8081        
#这个只能在master节点上可以查看,worker节点没有监听8081端口


默认情况下,一个task manager只有一个slot,可以通过flink-conf.yaml配置修改这个配置,最好在三台主统一修改成一样的配置:
把所有的slot全部修改成2个,整个集群总共有4个slot可用:


[root@node212 conf]# cat flink-conf.yaml | grep taskmanager.numberOfTaskSlots:
taskmanager.numberOfTaskSlots: 2
设置Task在所有节点平均分配


注意:此参数仅作用于Standalone Cluster模式,如果不设置此参数,可能所有task会集中在某一个节点执行,不会在所有TM之间平均分配。
官方参数说明:cluster.evenly-spread-out-slots :默认 false。Enable the slot spread out allocation strategy. This strategy tries to spread out the slots evenly across all available TaskExecutors.


在/usr/local/flink-1.13.2/conf/flink-conf.yaml文件最后添加以下参数:


cluster.evenly-spread-out-slots: true




生产中部署配置:


1、jobmamager配置到单独服务器即可,,,本身使用不了多少内存。


2、taskmamager配置多台服务器,内存充足,能够满足业务即可。




如果有配置图型界面,配置如下:


(IP地址换成master主机的地址)



分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS