环境准备
集群规划
| 节点服务器 | hadoop102 | hadoop103 | hadoop104 |
|---|---|---|---|
| 角色 | JobManagerTaskManager | TaskManager | TaskManager |
具体步骤
首先要配置一下hadoop额外的环境变量,编辑/etc/profile,添加下面内容
export HADOOP_CLASSPATH=`hadoop classpath`
下载并解压安装包
- 下载安装包flink-1.17.0-bin-scala_2.12.tgz,将该jar包上传到hadoop102节点服务器的/opt/software路径上。
- 在/opt/software路径上解压flink-1.17.0-bin-scala_2.12.tgz到/opt/module路径上。
tar -zxvf flink-1.17.0-bin-scala_2.12.tgz -C /opt/module/
修改集群配置
- 进入conf路径,修改flink-conf.yaml文件,指定hadoop102节点服务器为JobManager, 修改如下内容:
# JobManager节点地址.
jobmanager.rpc.address: hadoop102
jobmanager.bind-host: 0.0.0.0
rest.address: hadoop102
rest.bind-address: 0.0.0.0
# TaskManager节点地址.需要配置为当前机器名
taskmanager.bind-host: 0.0.0.0
taskmanager.host: hadoop102
# 历史服务器
jobmanager.archive.fs.dir: hdfs://two:9000/flink142/historyServer/jobmanager
historyserver.web.address: two
historyserver.web.port: 8082
historyserver.archive.fs.dir: hdfs://two:9000/flink142/historyServer/completed-jobs
historyserver.archive.fs.refresh-interval: 10000
- 修改workers文件,指定hadoop102、hadoop103和hadoop104为TaskManager, 修改如下内容:
hadoop102
hadoop103
hadoop104
- 修改masters文件, 修改如下内容:
hadoop102:8081
- 另外,在flink-conf.yaml文件中还可以对集群中的JobManager和TaskManager组件进行优化配置,主要配置项如下:
jobmanager.memory.process.size:对JobManager进程可使用到的全部内存进行配置,包括JVM元空间和其他开销,默认为1600M,可以根据集群规模进行适当调整。
taskmanager.memory.process.size:对TaskManager进程可使用到的全部内存进行配置,包括JVM元空间和其他开销,默认为1728M,可以根据集群规模进行适当调整。
taskmanager.numberOfTaskSlots:对每个TaskManager能够分配的Slot数量进行配置,默认为1,可根据TaskManager所在的机器能够提供给Flink的CPU数量决定。所谓Slot就是TaskManager中具体运行一个任务所分配的计算资源。
parallelism.default:Flink任务执行的并行度,默认为1。优先级低于代码中进行的并行度配置和任务提交时使用参数指定的并行度数量。
分发安装目录
- 配置修改完毕后,将Flink安装目录发给另外两个节点服务器。
scp -r flink安装目录 hadoop@hadoop103:flink安装目录
scp -r flink安装目录 hadoop@hadoop104:flink安装目录
- 修改hadoop103的
flink-conf.yaml配置文件的 taskmanager.host,修改如下内容:
# TaskManager节点地址.需要配置为当前机器名
taskmanager.host: hadoop103
- 修改hadoop104的
flink-conf.yaml配置文件的 taskmanager.host,修改如下内容:
# TaskManager节点地址.需要配置为当前机器名
taskmanager.host: hadoop104
启动集群
- 在hadoop102节点服务器上执行start-cluster.sh启动Flink集群:
flink目录/bin/start-cluster.sh
- jps查询三台服务器的进程情况如下:
=============== hadoop102 ===============
4453 StandaloneSessionClusterEntrypoint
4458 TaskManagerRunner
4533 Jps
=============== hadoop103 ===============
2872 TaskManagerRunner
2941 Jps
=============== hadoop104 ===============
2948 Jps
2876 TaskManagerRunner
启动历史服务器
flink目录/bin/historyserver.sh start
访问Web UI
启动成功后,同样可以访问http://hadoop102:8081对flink集群和任务进行监控管理。