Flink部署:flink-on-kubernetes 实践

kubernetes 是目前非常流行的容器编排系统,在其之上可以运行 web 服务、大数据处理等各类应用。这些应用被打包在非常轻量的容器中,我们通过声明的方式来告知 kubernetes 要如何部署和扩容这些程序,并对外提供服务。flink on kubernetes 可以得到一个健壮和高可扩的数据处理应用,并且能够更安全的和其他服务共享一个 kubernetes 集群。

本文将记录使用 kubernetes 部署 flink 应用的步骤。


1. Mac 安装 Docker

Docker Desktop 下载地址:Docker 官网
注册 DockerID 并登录。

安装 docker 命令行:

$ brew install docker




2. Minikube 搭建 Kubernetes 实验环境

可以参考:Kubernetes 官网

  • 校验 MacOS 是否支持虚拟化,运行如下命令出现 ‘VMX’:
$ sysctl -a | grep -E --color 'machdep.cpu.features|VMX'

  • 安装 kubectl 命令
$ curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl

或者直接使用 Homebrew 安装:

$ brew install kubectl 
$ brew install kubernetes-cli

查看是否安装成功:

$ kubectl version --client
Client Version: version.Info{
   Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:41:02Z", GoVersion:"go1.15", Compiler:"gc", Platform:"darwin/amd64"}

$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 && chmod +x minikube
$ sudo mv minikube /usr/local/bin

或者直接使用 Homebrew 安装:

$ brew install minikube

  • 执行 minikube start
    该命令会下载 kubelet 和 kubeadm 程序,并构建一个完整的 k8s 集群。
$ minikube start

  • 查看 k8s pods
    Minikube 已经将命令 kubectl 指向虚拟机中的 k8s 集群了。
$ kubectl get pods -A
kube-system   coredns-f9fd979d6-xjht6                           1/1     Running   0          5h14m
kube-system   etcd-minikube                                     1/1     Running   0          5h14m
kube-system   kube-apiserver-minikube                           1/1     Running   0          5h14m
kube-system   kube-controller-manager-minikube                  1/1     Running   0          5h14m
kube-system   kube-proxy-ff8m8                                  1/1     Running   0          5h14m
kube-system   kube-scheduler-minikube                           1/1     Running   0          5h14m
kube-system   storage-provisioner                               1/1     Running   0          5h14m




3. Flink 实时处理 demo

我们可以编写一个简单的实时处理脚本,该脚本会从某个端口中读取文本,分割为单词,并且每 5 秒钟打印一次每个单词出现的次数。


                
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值