Flink基础 之 单节点集群搭建(Standalone Cluster)

前提

软件前提

Flink 运行在所有类 unix 环境上,例如 Linux、Mac OS X 和 Cygwin(适用于Windows),并期望集群由一个主节点和一个或多个工作节点组成。在开始安装系统前,请先在每个节点安装以下软件:

  • Java1.8或更高版本
  • ssh

在所有集群节点上使用 ssh 免密登录和相同的目录结构将使用脚本控制一切。

JAVA_HOME配置

Flink 要求在主节点和所有工作节点上设置 JAVA_HOME 环境变量,并指向 Java 安装的目录。

可以在 conf/flink-conf.yaml 配置文件中设置 env.java.home 来进行 JAVA_HOME 的配置

Flink配置

下载并解压 Flink 的tar包,然后编辑 conf/flink-conf.yaml 文件来进行配置。

jobmanager.rpc.address 指向主节点的地址。通过设置 jobmanager.heap.size 和 taskmanager.heap.size keys 定义 JVM 允许每个节点上分配的最大内存。

如果某些工作节点主机拥有更多的内存,且希望将其分配给 Flink 系统,则可以通过在这些特定节点上设置环境变量FLINK_TM_HEAP 来覆盖默认值(单位:MB)。

最后,必须提供集群中所有工作节点的列表。与HDFS配置类似,编辑文件 conf/slave 并输入每个工作节点的 IP 或主机名。每个工作节点稍后将运行一个 TaskManager。

下面的示例演示了三个节点的设置(IP地址从10.0.0.1到10.0.0.3,主机名为master、worker1、worker2),并显示了配置文件的内容(需要在所有机器上以相同的路径访问):

Flink基础 之 单节点集群搭建(Standalone Cluster)_第1张图片

Flink 目录必须对同一路径下的每个工作者可用。您可以使用共享的 NFS 目录,或者将整个 Flink 目录复制到每个工作节点。

更多的配置信息请查阅:Flink部署运维(Deployment & Operations)- Configuration(Flink配置项)

尤其是以下配置项:

  • JM 可用内存(jobmanager.heap.size)
  • TM 可用内存(taskmanager.heap.size)
  • TM 的 solt 的大小(taskmanager.numberOfTaskSlots)
  • 整个 Flink 集群的 CPU 的总个数(parallelism.default)
  • 临时目录(io.tmp.dirs)

这些都是核心的配置项

启动Flink

下面的命令在本地节点上启动 JobManager,并通过 SSH 连接到从节点文件中列出的所有工作节点主机上,从而在每个节点上启动 TaskManager。现在你的Flink已经启动起来了。运行在本地节点上的 JM 将接收配置 RPC 端口上的作业。

bin/start-cluster.sh

停止 Flink 使用 stop-cluster.sh

向已有 Flink 集群上添加 JM 或 TM

可以使用 bin/jobmanager.sh 和 bin/taskmanager.sh 命令,向正在运行的集群中添加实例节点。

bin/jobmanager.sh ((start|start-foreground) [host] [webui-port])|stop|stop-all

bin/taskmanager.sh start|start-foreground|stop|stop-all

 

你可能感兴趣的:(大数据,Flink)