Linux大数据教程Flink源码解析与实例详解

002 基于 Standalone 模式部署 Flink 服务

2019-07-26  本文已影响50人  Z尽际

这将是一套完整详细且持续更新的、长期维护的 原创 Flink系列教程、文档,其中会包含各种商用实例详解、Flink源码讲解、机制剖析、周边组件讲解等,旨在帮助开发者快速融入Flink开发,或作为工具文档参阅。也希望更多的开发者可以参与到大数据相关的技术讨论中来,共同商讨疑难杂症,丰富社区。——尽际

本文标题: 基于 Standalone 模式部署 Flink 服务

文章作者: 尽际

发布时间: 2019年07月25日 - 23:38:30

最后更新: 2019年07月25日 - 23:38:30

原始链接:

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。


二、基于 Standalone 模式部署 Flink 服务

通过上一篇文章,我们已经下载了Flink 1.8.1版本的安装包到本地磁盘:

然后将其上传至虚拟机中。

接下来,开始部署 Flink 服务。在此过程中,会穿插Flink相关概念的讲解。

2.1 基于 Standalone 模式部署 Flink 服务

本教程会基于两种模式(Standalone 和 YARN)部署 Flink 服务。

本章首先使用 Standalone 模式部署 Flink 服务。Standalone 是 Flink 自带的服务管理模式,不需要依赖于其他分布式组件,也不需要提前安装其他第三方服务,从而达到开箱即用的效果。

2.1.1 Flink 服务介绍

在部署 Flink 服务之前,我们需要提前了解如下两个基本概念:

在部署 Flink 服务阶段,暂且不需要了解太多关于任务运行的概念。后续再慢慢展开介绍。此处将展示 Flink 服务的官方架构如图2-1 所示,读者暂且粗略了解即可。

2.1.2 基于 Standalone 模式部署服务

了解了 Flink 服务的基本概念后,开始根据如下步骤部署服务吧。

在本例中,将在 3 台虚拟机中部署的 Flink 服务如表2-1 所示。

  1. 解压 Flink 压缩包

    将Flink压缩包上传至第一台虚拟机的 ~/softwares/installations 目录后,使用如下命令进行解压:

    $ tar -zxf tar -zxf ~/softwares/installations/flink-1.8.1-bin-scala_2.11.tgz -C ~/modules/
    
  2. 修改配置文件

    • 修改flink-conf.yaml文件

      修改 conf 目录下的 flink-conf.yaml 配置文件,涉及到修改的内容如下所示:

      jobmanager.rpc.address: linux01
      

      该项配置是指将笔者所使用的第一台虚拟机作为 Master 节点,即,第一台机器会开启 Flink 的JobManager服务。

      提示:如果Master和Worker机器上没有配置JAVA_HOME环境变量,需要在 flink-conf.yaml 中通过 env.java.home 变量指定JAVA的安装目录。

  1. 合理配置依赖包

    • 添加 Flink-Table 依赖包

      在生产环境中,开发者开发的 Flink 应用程序可能会伴随 Table API 的操作(支持以 SQL 的方式进行数据分析),因此,开发者需要将 Flink 安装目录下的 opt 中的 flink-table_2.11-1.8.1.jar 包拷贝到 lib 目录中。操作命令如下所示:

      $ pwd
      /home/admin/modules/flink-1.8.1
      $ cp -a opt/flink-table_2.11-1.8.1.jar lib/
      
    • 添加 Hadoop 依赖包

      将之前下载好的 flink-shaded-hadoop-2-uber-2.7.5-7.0.jar 包移动至 Flink 安装目录的 lib 目录中,使 Flink 能够支持对 Hadoop 的操作。操作命令如下所示:

      $ pwd
      /home/admin/modules/flink-1.8.1
      $ cp -a ~/softwares/installations/flink-shaded-hadoop-2-uber-2.7.5-7.0.jar ./lib/
      

    以上操作完成后,即可看到 lib 目录下的内容如下所示:

    $ ll lib/
    flink-dist_2.11-1.8.1.jar
    flink-shaded-hadoop-2-uber-2.7.5-7.0.jar
    flink-table_2.11-1.8.1.jar
    log4j-1.2.17.jar
    slf4j-log4j12-1.7.15.jar
    
  2. 分发 Flink 安装目录

    以上步骤配置完成后,即可分发该安装包到其他节点,操作命令如下:

    $ pwd
    /home/admin/modules
    scp -r flink-1.8.1/ admin@linux02:/home/admin/modules/
    scp -r flink-1.8.1/ admin@linux03:/home/admin/modules/
    

    提示:在进行上述操作时,最好配置完成集群各个节点之间的 SSH 无秘钥访问。其中 scp -r 表示远程分发目录到后面的节点对应目录中。

    分发完成后,即可在其他节点对应目录中查看到 Flink 安装包。

  3. 启动 Flink 服务

    接下来,即可启动 Flink 集群,操作命令如下:

    $ pwd
    /home/admin/modules/flink-1.8.1
    $ bin/start-cluster.sh
    Starting cluster.
    Starting standalonesession daemon on host linux01.
    Starting taskexecutor daemon on host linux02.
    Starting taskexecutor daemon on host linux03.
    

    稍等片刻,我们即可通过 jps 分别查看到 3 台节点的进程如下:

    ----------------admin@linux01-----------------
    4132 Jps
    4038 StandaloneSessionClusterEntrypoint
    ----------------admin@linux02-----------------
    3057 Jps
    2951 TaskManagerRunner
    ----------------admin@linux03-----------------
    2977 TaskManagerRunner
    3032 Jps
    

    现在,可以通过浏览器,访问 Flink Master 节点的地址进入后台管理页面,查看启动的集群服务。

    后台页面默认地址如下:

    http://linux01:8081
    

    提示:如果在 Windows 中通过浏览器访问虚拟机中的页面服务,可以通过虚拟机的 IP 地址访问如果想要通过虚拟机的主机名访问,则需要将虚拟机的 IP 地址与虚拟机的主机名配置到 Windows 中的 C:/windows/system32/driver/etc/hosts文件中。

    查看到的页面效果如图2-2 所示。

2.2 本章小结

本章基于 Standalone 模式部署了 Flink 服务,在此过程中,忽略了配置文件中的若干可配置项,并简述了相关概念。目的在于先将集群环境梳理清楚,完成集群搭建,循序渐进捋清前置知识。下一章,我们将基于 YARN 模式部署 Flink 服务。

上一篇 下一篇

猜你喜欢

热点阅读