Apache Flink集群可以部署在Linux, Mac OS和Windows系统上,唯一的要求是系统环境安装了Java 8.x及以上版本。
这里准备两台64位的Linux系统,系统的主机名分别为intsmaze-201和intsmaze-202。两台机器安装了1.8版本的64位JDK,均已关闭防火墙,且相互配置了免密登录。
在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节点上的操作,自此就配置好免密登录。
免密登录配置好后,先在intsmaze-201和intsmaze-202节点上/home/intsmaze/flink/路径下创建一个名为standalone的文件夹。将flink-XX.tgz包上传到intsmaze-201节点上,使用tar命令解压至/home/intsmaze/flink/standalone/文件夹下面。
一切准备就绪后,进入
下面列出建议修改
[intsmaze@intsmaze-201 conf]$ vim /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
必须为Flink集群提供作为TaskManager节点的列表,需要编辑
下面将主机名intsmaze-201和intsmaze-202都添加到slaves文件中,以指明这两台节点上将分别运行一个TaskManager。
[intsmaze@intsmaze-201 conf]$ vim /conf/slaves
intsmaze-201
intsmaze-202
在intsmaze-201节点的
[intsmaze@intsmaze-201 conf]$ scp -r /home/intsmaze/flink/standalone/flink-1.7.2 intsmaze-202:/home/intsmaze/flink/standalone/
分发好
[intsmaze@intsmaze-201 flink-1.7.2]$ ./bin/start-cluster.sh
启动成功后,作业管理器进程默认将会在8081端口上启动一个Flink集群的WEB管控台页面,可以在浏览器中输入 http://intsmaze-201:8081 来查看作业管理器的WEB页面,如果一切正常运行,在WEB页面会显示两个可用的任务管理器实例,并且集群的任务槽数量为12。
在
[intsmaze@intsmaze-201 flink-1.7.2]$ ./bin/stop-cluster.sh
Flink还提供了动态扩展集群节点或重启集群中指定节点的脚本,可以运行
bin/jobmanager.sh ((start|start-foreground) cluster)|stop|stop-all
bin/taskmanager.sh start|start-foreground|stop|stop-all