【Flink系列】部署篇(三):Native k8s部署高可用Flink集群实战

该文详细介绍了如何在AWS的EC2实例上搭建基于Kubernetes的高可用Flink集群,包括K8s集群的安装、配置,以及使用S3作为文件系统。文中还讨论了NativeK8s部署的特点,如资源管理和自动扩容,并展示了无高可用和高可用两种模式下的Flink应用部署方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇博文介绍了如何独立部署一个高可用的Flink集群,本篇介绍如何用Native k8s去部署高可用的Flink 集群。本篇介绍的集群构建在AWS上,和构建在自己的服务器相比,主要区别在文件系统的选择和使用上。我选用的S3服务。

  • EC2操作系统:centos7
  • 本机操作系统:Mac
  • flink version: 1.14
  • jdk version: java8
  • HA service: k8s
  • File System: S3

启动EC2

在AWS上启动3个EC2,操作系统选centos7,注意每个EC2要关联弹性ip地址,允许外网访问。
可参考https://wiki.centos.org/Cloud/AWS

部署k8s集群

安装docker

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker -y
sudo systemctl start docker.service
sudo systemctl enable docker.service
sudo systemctl status docker

安装k8s

$ sudo vi /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=0
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
$ sudo yum install -y kubelet
$ sudo yum install -y kubeadm
$ sudo systemctl enable kubelet

Linux环境准备

  1. set hostnames
// On your **Master** node, update your hostname using the following command:

//Master:192.168.100.90 (3.101.77.138)

$ sudo hostnamectl set-hostname master-node

//worker-node1:192.168.100.29 (3.101.77.139)

$ sudo hostnamectl set-hostname worker-node1

// worker-node2: 192.168.100.21 (3.101.77.140)

$ sudo hostnamectl set-hostname worker-node2

// Make a host entry or DNS record to resolve the hostname for all nodes:

$ sudo vi /etc/hosts

// With the entry:

192.168.100.63  master-node

192.168.100.36 node1 worker-node1

192.168.100.125 node2 worker-node2
  1. 关闭SElinux
$ sudo setenforce 0
$ sudo sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
$ sudo reboot
$ sestatus
SELinux status:                 disabled
  1. update iptables config
$ sudo vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
$ sudo sysctl --system
  1. disable swap(3)
$ sudo sed -i '
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值