1.flink Standalone集群搭建《深入理解flink系列》

Standalone模式

Apache Flink集群可以部署在Linux, Mac OS和Windows系统上,唯一的要求是系统环境安装了Java 8.x及以上版本。

这里准备两台64位的Linux系统,系统的主机名分别为intsmaze-201和intsmaze-202。两台机器安装了1.8版本的64位JDK,均已关闭防火墙,且相互配置了免密登录。

1 免密登录

在intsmaze-201节点上输入"ssh-keygen"命令来生成本地的公私密钥,出现类似如下界面就代表生成本地的公私密钥成功。

[intsmaze@intsmaze-201 ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/intsmaze/.ssh/id_rsa): 
Create directory '/home/intsmaze/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/intsmaze/.ssh/id_rsa.
Your public key has been saved in /home/intsmaze/.ssh/id_rsa.pub.
The key fingerprint is:
32:63:ed:7c:4e:dc:ca:99:ce:b0:81:62:73:fd:a3:b9 intsmaze@intsmaze-201
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|       .         |
|      = S        |
|     . O . .     |
|    + o * + .    |
|   . +   %.+     |
|        E+X.     |
+-----------------+

然后在intsmaze-201节点上输入"ssh-copy-id"命令将公钥拷贝并追加到intsmaze-201,intsmaze-202的授权列表文件authorized_keys中。

[intsmaze@intsmaze-201 ~]$ ssh-copy-id intsmaze-201
[intsmaze@intsmaze-201 ~]$ ssh-copy-id intsmaze-202

在intsmaze-202节点重复执行在intsmaze-201节点上的操作,自此就配置好免密登录。

2 Standalone集群

免密登录配置好后,先在intsmaze-201和intsmaze-202节点上/home/intsmaze/flink/路径下创建一个名为standalone的文件夹。将flink-XX.tgz包上传到intsmaze-201节点上,使用tar命令解压至/home/intsmaze/flink/standalone/文件夹下面。
一切准备就绪后,进入<flink-home>目录对其进行相关的配置,这里主要涉及到的配置文件是<flink-home>/conf/flink-conf.yam和<flink-home>/conf/slaves文件。

1. flink-conf.yaml文件配置

下面列出建议修改<flink-home>/conf/flink-conf.yaml文件中的配置值,在其中指明会在intsmaze-201节点上运行一个JobManager。

[intsmaze@intsmaze-201 conf]$ vim <flink-home>/conf/flink-conf.yaml
# 必选,将jobmanager.rpc.address的值设置成Flink集群中Jobmanager节点的IP地址
jobmanager.rpc.address: intsmaze-201

# 可选,默认每个TaskManager的任务槽为1
# 值越大表示可供运行的Flink作业越多,一般根据每台机器的可用cpu的数量进行设置。
taskmanager.numberOfTaskSlots: 6

# 可选: 每个JobManager可用内存的大小,内存参数的单位是MB
jobmanager.heap.mb: 1024

# 可选:每个TaskManager可用内存的大小,内存参数的单位是MB
taskmanager.heap.mb: 1024
2. slaves文件配置

必须为Flink集群提供作为TaskManager节点的列表,需要编辑<flink-home>/conf/slaves文件,在文件中添加每一个TaskManager节点IP(或者是hostname)。
下面将主机名intsmaze-201和intsmaze-202都添加到slaves文件中,以指明这两台节点上将分别运行一个TaskManager。

[intsmaze@intsmaze-201 conf]$ vim <flink-home>/conf/slaves
intsmaze-201
intsmaze-202
3. 分发Flink目录

在intsmaze-201节点的<flink-home>/conf下配置好Flink的standalone模式的参数后,需要保证该<flink-home>目录下的文件必须在每个TaskManager上的同一路径下可用,为此使用scp命令将整个<flink-home>目录复制到每个工作节点。

[intsmaze@intsmaze-201 conf]$ scp -r /home/intsmaze/flink/standalone/flink-1.7.2 intsmaze-202:/home/intsmaze/flink/standalone/
4. 启动一个Flink集群

分发好<flink-home>目录后,在intsmaze-201节点通过/bin/start-cluster.sh脚本启动Flink集群。

[intsmaze@intsmaze-201 flink-1.7.2]$ ./bin/start-cluster.sh

启动成功后,作业管理器进程默认将会在8081端口上启动一个Flink集群的WEB管控台页面,可以在浏览器中输入 http://intsmaze-201:8081 来查看作业管理器的WEB页面,如果一切正常运行,在WEB页面会显示两个可用的任务管理器实例,并且集群的任务槽数量为12。

在<flink-home>/bin/目录下可以使用如下脚本来关掉启动的Flink集群。

[intsmaze@intsmaze-201 flink-1.7.2]$ ./bin/stop-cluster.sh
5. 集群节点重启与扩容

Flink还提供了动态扩展集群节点或重启集群中指定节点的脚本,可以运行<flink-home>/bin/jobmanager.sh和<flink-home>/bin/taskmanager.sh脚本。

JobManager节点重启或扩容
bin/jobmanager.sh ((start|start-foreground) cluster)|stop|stop-all
TaskManager节点重启或扩容
bin/taskmanager.sh start|start-foreground|stop|stop-all
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴躁IT老绵羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值