文章目录
在《Flink本地模式安装(Local Setup)》的文章中,我简单地介绍了如何本地模式安装(Local Setup)Flink,本文将介绍如何Flink集群模式安装,主要是Standalone方式。
要求(Requirements)
Flink可以在Linux, Mac OS X 以及Windows(通过Cygwin)等平台上运行。集群模式主要是由一个master节点和一个或者多个worker节点组成。在你启动集群的各个组件之前,确保每个节点上都安装了下面的软件:
- Java 1.7.x或者更高版本
- ssh(如何安装可以参见《Linux平台下安装SSH》)。
我们必须在每个节点上配置好JAVA_HOME环境变量,并将这个值设定成Java的安装路径。
Flink部署(Flink Setup)
Flink配置(Configuring Flink)
首先到Flink官网下载好相应的包,然后解压等, 并进入解压后的Flink根目录。然后我们对其进行相关的配置。主要涉及到的配置文件是conf/flink-conf.yaml
。
我们将jobmanager.rpc.address
的值设置成你master节点的IP地址。此外,我们通过jobmanager.heap.mb
和taskmanager.heap.mb
配置参数来设置每个节点的JVM能够分配的最大内存。从配置参数名字可以看出,这个参数的单位是MB,如果某些节点拥有比你之前设置的值更多的内存时,我们可以在那个节通过FLINK_TM_HEAP
参数类覆盖值钱的设置。
最后,我们需要把所有将要作为worker节点的IP(或者是hostname)地址存放在conf/slaves
文件中,就像HDFS配置一样。每个worker节点最后会运行一个TaskManager。在conf/slaves
文件中,每个IP地址必须放在一行,如下:
192.168.0.100 192.168.0.101 . . . 192.168.0.150
我们最好将Flink安装包放在每个worker节点的同一位置上,你可以使用共享NSF目录或者将配置好的Flink安装包分发到所有的worker节点上。
下面介绍几个比较重要的选项:
taskmanager.heap.mb:每个TaskManager可用的总内存 taskmanager.numberOfTaskSlots:每台机器上可用CPU的总数 parallelism.default:每个Job运行时默认的并行度(这个参数在文档中介绍好像有问题) taskmanager.tmp.dirs:临时目录
关于更详细的Flink配置请参见Flink官方网站:https://ci.apache.org/projects/flink/flink-docs-master/setup/config.html。
启动Flink(Starting Flink)
在master节点上运行下面的脚本,那么这台机器上将会启动一个JobManager,并通过SSH连接列在slaves文件中的所有节点以便在每个节点上启动TaskManager。
[iteblog@www.iteblog.com ~]$ bin/start-cluster.sh
一切顺利的话,我们的Flink集群模式已经部署完成!运行在master的JobManager进程通过配置好的RPC端口来接收Job的提交。
如果你想停止集群,可以在master节点上运行下面的命令:
[iteblog@www.iteblog.com ~]$ bin/stop-cluster.sh
在已经运行的集群中添加JobManager/TaskManager
我们可以通过bin/taskmanager.sh
或者bin/jobmanager.sh
脚本在已经运行的集群中添加JobManager或者TaskManager节点
添加一个JobManager
[iteblog@www.iteblog.com ~]$ bin/jobmanager.sh (start cluster)|stop|stop-all
添加一个TaskManager
[iteblog@www.iteblog.com ~]$ bin/taskmanager.sh start|stop|stop-all
需要注意的是,我们必须在我们期望作为JobManager或者TaskManager的机器上运行上面的脚本。
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Flink独立集群模式安装(Cluster Standalone)】(https://www.iteblog.com/archives/1649.html)