flink是当下比较流行的实时处理框架,对于学习或者一般的小项目可以轻量级的部署和使用。

环境

  1. 部署系统三台虚拟机或者物理机

    1. 172.26.10.31 flink01(主节点)
    2. 172.26.10.32 flink02(从节点)
    3. 172.26.10.33 flink03(从节点)
  2. CentOS7

  3. Java 1.8+

  4. 三台服务器配置免密登录

    1. flink01主机上执行 ssh-keygen -t rsa
    2. ssh-copy-id flink02
    3. ssh-copy-id flink03
  5. /etc/profile 和/etc/hosts 需要拷贝到flink02,flink03

    1
    2
    3
    4
    
    #/etc/profile文件
    #flink
    export FLINK_HOME=/opt/flink-1.13.1
    export PATH=$PATH:$FLINK_HOME/bin
    

安装

  • 官方网站下载安装包

  • 上传到flink01主节点服务器上

    • 执行解压操作:tar -xvf flink-1.13.1-bin-scala_2.11.tgz

    • 可以把解压后的文件放到 /opt/flink-1.13.1 或者你自己喜欢的地方

    • 修改配置文件/opt/flink-1.13.1/conf/flink-conf.yaml

       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      
      jobmanager.rpc.address: flink01
          
      #根据需要修改
      taskmanager.numberOfTaskSlots: 3
          
      #根据需要修改
      parallelism.default: 3
          
      #新增如果需要Hadoop的时候
      fs.hdfs.hadoopconf: /home/radmin/hadoop-2.10.0/etc/hadoop/
      
    • 修改配置文件/opt/flink-1.13.1/conf/masters

      • localhost修改成flink01
    • 修改配置文件/opt/flink-1.13.1/conf/workers ,增加从节点的地址

      • flink02
      • flink03
  • 拷贝/opt/flink-1.13.1到flink02、flink03上

  • 执行脚本启动集群

    • bin/start-cluster.sh
  • 验证是否成功

    • 执行命令jps
    • 访问web查看

FAQ

  1. Flink启动时报错:NoSuchMethodError: org.apache.commons.cli.Option.builder

    1
    2
    
    #需要下载jar包:https://mvnrepository.com/artifact/commons-cli/commons-cli/1.4
    #放入flink/lib中
    

总结

对于学习和简单的小项目使用,轻量级的部署和使用还是很值得推荐的,毕竟不是每个项目都是需要几十台、几百台服务器的。没有最好的,只有最合适的。