首先要安装JDKzookeeper,参考 https://www.cnblogs.com/dotqin/p/13560419.html 及 https://www.cnblogs.com/dotqin/p/13560764.html

另外需要各服务器之间SSH免密码登录,这个自行百度,要注意的是自己SSH自己也要免密码

除此之外还需要准备一个共享的储目录,可以是hdfs、ceph、S3、nfs

 

环境说明:三台百度云服务器,内网IP分别为: 192.168.32.36、192.168.32.37、192.168.32.38, 不开放公网IP访问

 

分别在三台服务器上执行以下操作:

1.创建目录及下载解压

mkdir /usr/local/flink
cd /usr/local/flink
wget https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.11.1/flink-1.11.1-bin-scala_2.11.tgz
tar zxvf flink-1.11.1-bin-scala_2.11.tgz

2.编辑master文件

vim /usr/local/flink/flink-1.11.1/conf/masters
# 设置为以下内容
192.168.32.36:8081
192.168.32.37:8081
192.168.32.38:8081

3.编辑配置文件

vim /usr/local/flink/flink-1.11.1/conf/flink-conf.yaml
# 首先将jobmanager.rpc.address项注释掉
# 然后设置高可用相关的配置项
high-availability: zookeeper
high-availability.storageDir: /nfs/flink/ha/ # 存储目录 这里直接使用了百度云的CFS文件系统,三台均挂载到了/nfs下
high-availability.zookeeper.quorum: 192.168.32.36:2181,192.168.32.37:2181,192.168.32.38:2181 # ZooKeeper quorum是ZooKeeper服务器的复制组,它提供分布式协调服务
high-availability.zookeeper.path.root: /flink # 根ZooKeeper节点,在该节点下放置所有集群节点
high-availability.cluster-id: /ccreate-flink-cluster # cluster-id ZooKeeper节点,在该节点下放置集群的所有必需协调数据
# 另外以下几个参数看情况调整
jobmanager.memory.process.size: 10240m
taskmanager.memory.process.size: 10240m
taskmanager.numberOfTaskSlots: 8 # flink槽数量 建议设置为当前服务器的CPU核数
parallelism.default: 1 # 这个可以在JOB中指定,这里设不设置影响不大, 优先级最低

4.检验集群启动和停止

cd /usr/local/flink/flink-1.11.1/
# 启动集群 这个操作会在三台服务器上各启动一个jobmanager守护程序,以及在当前服务器上启动一个taskmanager守护程序,所以最终还是需要三台服务器都运行一下这个命令
bin/start-cluster.sh
192.168.32.36:8081  

# webUI有一点要注意只有在leader的webUI中才可以查看Task Managers的信息,其他的如果停留在Task Managers页面会循环报错,经验证离开页面后报错就会停止不会无限产生日志导致磁盘爆满

5.添加到服务管理

vim /usr/lib/systemd/system/flink.service
# 添加以下内容
[Unit]
Description=flink-1.11.1 service
After=syslog.target network.target zookeeper.service

[Service]
Restart=always
RestartSec=1 Type
=forking TimeoutSec=120 User=root Environment=JAVA_HOME=/usr/local/java/jdk1.8.0_261 ExecStart=/usr/local/flink/flink-1.11.1/bin/start-cluster.sh ExecStop=/usr/local/flink/flink-1.11.1/bin/stop-cluster.sh [Install] WantedBy=multi-user.target

6.设置服务生效及开机自启动

systemctl daemon-reload
systemctl enable flink.service

7.启动flink集群

systemctl start flink
systemctl status flink

 

相关文章:

  • 2021-06-07
  • 2021-10-07
  • 2022-12-23
  • 2021-12-18
  • 2021-11-27
  • 2021-12-31
  • 2022-02-15
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-29
  • 2021-08-30
  • 2021-09-19
相关资源
相似解决方案