准备三台Linux虚拟机
将虚拟机进行免密登录、时间同步等操作
安装Java并配置JAVA_HOME环境变量
直接从官网进行Flink的安装包(这里咱们使用的版本是flink-1.13.2)
下载链接:https://dlcdn.apache.org/flink/flink-1.13.2/flink-1.13.2-bin-scala_2.11.tgz
单机搭建很简单,只需要把下载好的安装包上传到准备好的Linux集群解压就可以,这里我将Flink的安装包上传到/opt/server目录下
tar -zxvf /opt/server/flink-*.tgz
cd flink-*
之后就可以启动单机版的集群了
./bin/start-cluster.sh这个时候可以打开http://127.0.0.1:8081,查看Flink的Web界面。

如果可以看到这样的页面说明安装成功,大家可以自行探索Web界面的相关信息。
我们也可以尝试提交Word Count任务:
./bin/flink run examples/streaming/WordCount.jar还可以尝试通过--input指定我们本地文件作为输入:
./bin/flink run examples/streaming/WordCount.jar --input ${your_source_file}停止集群
./bin/stop-cluster.sh部署前要注意的点:
每台机器都要配置好Java环境以及HAVA_HOME环境变量
每台机器部署的Flink binary的目录要保证在同一个目录
如果需要HDFS,还需要配置HADOOP_CONF_DIR 环境变量
在每台机器上都上传解压flink的安装包后,根据集群信息修改conf/masters 和 conf/workers 的配置。因为flink是master-slaves架构,所以我们需要指定其master和workers。
修改conf/flink-conf.yaml配置
设置jobmanager.rpc.address,该配置需要和masters文件中的地址保持一致。
同时我们也可以设置jobmanager.memory.process.size 和 taskmanager.memory.process.size 配置项来定义 Flink 允许在每个节点上分配的最大内存值。当然这些值的单位是MB。
注意:三台虚拟机的配置要保持一致。
配置好之后我们就可以启动Flink集群,并提交Word Count程序进行测试,具体操作和单机版操作一致。
conf/slaves
conf/slaves用于配置Task Manager的部署
conf/flink-conf.yaml
conf/flink-conf.yaml 用于配置 JM 和 TM 的运行参数,常用配置有:
# The heap size for the JobManager JVM
jobmanager.heap.mb: 1024
# The heap size for the TaskManager JVM
taskmanager.heap.mb: 1024
# The number of task slots that each TaskManager offers. Each slot runs one parallel pipeline.
taskmanager.numberOfTaskSlots: 4
# the managed memory size for each task manager.
当我们启动集群后,就可以尝试分析Flink相关程序的运行情况,执行jps可以看到Flink的相关进程主要有两个,一个是StandaloneSessionClusterEntrypoint为Job Manager的进程,另一个TaskManagerRunner为Task Manager的进程。我们可以进一步用 ps 命令看看进程的启动参数中“-Xmx”和“-Xms”的配置。然后我们可以尝试修改 flink-conf.yaml 中若干配置,然后重启 Standalone 集群看看发生了什么变化。
自此,一个简单的flink集群就搭建好了,大家可以对其进行各种操作,祝大家有一个愉快的Flink学习之旅。




