一、集群环境搭建准备
1.服务器资源
搭建Flink 的 standalone 模式至少需要3台集器,所以这里我准备了3台集器。
10.26.114.121 hadoop-1
10.26.114.122 hadoop-2
10.26.114.123 hadoop-3
2.Java 的执行环境安装
因为flink执行依赖于jvm,因为我们需要在每台服务器上安装JDK (1.8及以上)
3. flink的安装包
我用的是最新版本 1.13.1
需要可以去官网下载:https://flink.apache.org/zh/downloads.html#apache-flink-1132
4.部署图
二、 集群部署
1. 服务器之间设置免密登录
在一台集器上 执行 成SSH KEY 命令 ,一路回车即可
ssh-keygen -t rsa
2. 将公钥发送给需要免密的机器上
ssh-copy-id -i ~/.ssh/id_rsa.pub 需要免密的机器IP
这里我的操作是
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.26.114.122
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.26.114.123
查看配置是否生效:
3. 选择一台集群为master进行配置
指定jobmanager 的服务器,这里统一使用主机名。
我 选择10.26.114.121 为 master
vi flink.yaml
设置每个taskmanager slot 为12
vi masters
vi works
添加所有的ip
4.将已改好配置的Flink目录分发至其他节点
需要保证所有节点的Flink目录一致
把 21 主机分发到 22
scp -r /usr/local/work/flink/flink-1.13.1 [email protected]:/usr/local/work/flink/flink-1.13.1
发送到 23
scp -r /usr/local/work/flink/flink-1.13.1 [email protected]:/usr/local/work/flink/flink-1.13.1
5. 在master集器上 启动集群
./bin/start-cluster.sh
访问 web ui ip:8081
关于集群lib 中的 jar
我这里是 任务打包的时候不把依赖的jar 打包,而是统一 把所需的jar 都放到lib里。所以 集群模式下,每个机器上都要都,切要保持一致。