flink on k8s 实践
Flink on k8s 环境搭建(二)_wangqiaowq的博客-CSDN博客
Flink 需要考虑3个问题
1、Flink需要添加部分依赖包到flink/lib下,所以需要通过dockfile的方式自定义制作flink image
2、flink 日志持久化
3、flink checkpoint 的存储 和 NFS的安装
1)安装 nfs
1、所有节点安装 nfs
yum -y install nfs-utils rpcbind
2、在 master 节点创建共享目录并授权
mkdir /opt/nfsdata
#授权共享目录
chmod 666 /opt/nfsdata/
3、配置 exports 文件
cat > /etc/exports<<EOF
/opt/nfsdata *(rw,no_root_squash,no_all_squash,sync)
EOF
exportfs -r
systemctl start rpcbind
systemctl start nfs-server
systemctl enable rpcbind
systemctl enable nfs-server
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
showmount -e
- -e 显示 NFS 服务器的共享列表
- -a 显示本机挂载的文件资源的情况 NFS 资源的情况
- -v 显示版本号
客户端 (找1个节点作为客户端)
#安装
yum -y install nfs-utils rpcbind
#启动rpc服务
systemctl start rpcbind
systemctl enable rpcbind
#创建挂载目录
mkdir /mnt/nfsdata
#挂载
echo "192.168.4.100:/opt/nfsdata /mnt/nfsdata nfs defaults 0 1">> /etc/fstab
192.168.4.100 为虚拟IP 暂未成功?
成功:
mount -t nfs 192.168.1.247:/opt/nfsdata /mnt/nfsdata
2)配置keeplived
yum -y install keepalived
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf_bak
cat > /etc/keepalived/keepalived.conf<<EOF
global_defs {
router_id master #id可以随便设
}
vrrp_script chk_nfs {
script "/etc/keepalived/nfs_check.sh" #监控脚本
interval 2
weight -20 #keepalived部署了两台,所以设为20,如果三台就设为30
}
vrrp_instance VI_1 {
state BACKUP #两台主机都设为backup非抢占模式
interface ens192 #网卡名写自己的,不要照抄
virtual_router_id 51
priority 100 #服务启动优先级,值越大,优先级越高,BACKUP 不能大于MASTER
advert_int 1
nopreempt #设置为非抢占模式必须要该参数
authentication {
auth_type PASS
auth_pass Kibo
}
track_script {
chk_nfs
}
virtual_ipaddress {
192.168.4.100 #虚拟ip
}
}
EOF
Slave 节点
global_defs {
router_id master
}
vrrp_script chk_nfs {
script "/etc/keepalived/nfs_check.sh"
interval 2
weight -20
}
vrrp_instance VI_1 {
state BACKUP
interface ens192
virtual_router_id 51
priority 80
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nfs
}
virtual_ipaddress {
192.168.4.100
}
}
vim /etc/keepalived/nfs_check.sh
#!/bin/bash
A=`ps -C nfsd --no-header | wc -l`
if [ $A -eq 0 ];then
systemctl restart nfs-server.service
sleep 2
if [ `ps -C nfsd --no-header| wc -l` -eq 0 ];then
pkill keepalived
fi
fi
chmod 755 /etc/keepalived/nfs_check.sh
# 输入定时任务
* * * * * /etc/keepalived/nfs_check.sh &> /dev/null
3)构建持久化