docker搭建flink集群
【参考】:https://blog.csdn.net/lizhe_dashuju/article/details/100541121
1.拉取centos镜像
$ docker pull centos:latest
2.创建两个节点
$ docker run --name flinkmaster -d -p 8081:8081 centos -it /bin/bash
$ docker run --name flinkworker -d centos -it /bin/bash
3.安装jdk 1.8
$ yum search java|grep jdk
$ yum install -y java-1.8.0-openjdk.x86_64
4.将flink安装包cp到容器,解压缩
docker cp flink-1.8.1-bin-scala_2.12.tgz flinkmaster:/usr
docker cp flink-1.8.1-bin-scala_2.12.tgz flinkworker:/usr
tar xvf flink-1.8.1-bin-scala_2.12.tgz
5.修改两个机器的/etc/hosts,都增加如下内容。
172.17.0.3 f3a573de76af
172.17.0.4 0379a31fd702
172.17.0.3 flinkmaster
172.17.0.4 flinkworker
注意,两个节点的hostname是随机生成的,注意自己修改。
docker中centos启动sshd服务
【Flink 集群搭建,Standalone,集群部署,HA高可用部署参考】:https://developer.aliyun.com/article/765741
【Linux 集群免密登录配置,双向免密参考】:
https://ipooli.com/2020/04/linux_host/?spm=a2c6h.12873639.0.0.7ee664deehTPTo
1.centos安装sshd:
$ yum -y install openssh-server
$ yum -y install openssh-clients
2.启动sshd服务
$ /usr/sbin/sshd -D
3.修改root密码
yum -y install passwd
passwd root
4.flinkmaster和flinkworker生成密钥对
$ ssh-keygen -t rsa
之后根据提示,回车 进入.ssh目录会看见id_rsa
(私钥) 和 id_rsa.pub
(公钥)两个文件。
6.将公钥文件拷贝到另外两台主机 使用 ssh-copy-id
命令
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@flinkworker
7.验证登录
ssh root@flinkworker
如果不提示输入密码则成功。
配置集群模式
1.修改配置文件
$ vim ./conf/flink-conf.yaml
修改如下几个参数:
jobmanager.rpc.address: flinkmaster
jobmanager.rpc.port: 6123
jobmanager.heap.size: 1024m
taskmanager.memory.process.size: 1568m
taskmanager.numberOfTaskSlots: 2
parallelism.default: 2</pre>
$ vim ./conf/masters
修改为:
flinkmaster:8081
$ vim ./conf/worker
修改为:
flinkmaster
flinkmaster
2.拷贝到其他机器
scp -r /usr/flink-1.12.2/ root@flinkworker:/usr/
3.启动集群
在flinkmaster上执行
./bin/start-cluster.sh
2个Task Managers,1个Job Managers为flinkmaster