zoukankan      html  css  js  c++  java
  • CentOS 7/8 部署Flink高可用独立集群

     

    首先要安装JDK及zookeeper,参考 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
    # 停止集群 这个具体停止哪些守护程序未进行测试
    bin/stop-cluster.sh

    # 这两个命令建议多运行几次直到没有YES弹出,另外如果弹出让你输密码的提示说明你SSH免密码可能没有配置好

    # 确认可以无障碍启动集群后可以登录WEB查看 http://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]
    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
  • 相关阅读:
    Can you answer these queries?(HDU4027+势能线段树)
    Tunnel Warfare(HDU1540+线段树+区间合并)
    Computer(HDU2196+树形dp+树的直径)
    Anniversary party(树上dp+HDU1520)
    2018 Multi-University Training Contest 1-1002 -Balanced Sequence(括号匹配+贪心)
    暑假集训——cf热身赛部分题有感加其题解
    Educational Codeforces Round 47 (Rated for Div. 2) 题解
    计蒜客 Goldbach Miller_Rabin判别法(大素数判别法)
    多种方法过Codeforces Round #270的A题(奇偶法、打表法和Miller_Rabin(这个方法才是重点))
    Codeforces Round #494 (Div. 3)
  • 原文地址:https://www.cnblogs.com/zyb2016/p/13652356.html
Copyright © 2011-2022 走看看