17-Linux部署Flink环境

Linux部署Flink环境

注意

本小节的操作,基于:大数据集群(Hadoop生态)安装部署环节中所构建的Hadoop集群

如果没有Hadoop集群,请参阅前置内容,部署好环境。

参考文章

14-Linux部署Hadoop集群:http://t.csdnimg.cn/ptHa3

简介

Flink同Spark一样,是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。

Flink在大数据体系同样是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。

在大数据领域广泛应用,是目前世界上除去Spark以外,应用最为广泛的分布式计算引擎。

我们将基于前面构建的Hadoop集群,部署Flink Standalone集群

Spark更加偏向于离线计算而Flink更加偏向于实时计算。

Flink官网:https://flink.apache.org/

安装

  1. 【node1操作】下载安装包

    • 下载
    shell 复制代码
    wget --no-check-certificate https://archive.apache.org/dist/flink/flink-1.10.0/flink-1.10.0-bin-scala_2.11.tgz
    • 解压
    shell 复制代码
    tar -zxvf flink-1.10.0-bin-scala_2.11.tgz -C /export/server/
    • 软链接
    shell 复制代码
    ln -s /export/server/flink-1.10.0 /export/server/flink
  2. 【node1操作】修改配置文件,conf/flink-conf.yaml

    进入该flink/conf目录

    shell 复制代码
    cd /export/server/flink/conf/

    使用vim编辑flink-conf.yaml

    shell 复制代码
    vim flink-conf.yaml 

    使用粘贴命令set paste,粘贴一下全部内容

    yaml 复制代码
    # jobManager 的IP地址
    jobmanager.rpc.address: node1
    # JobManager 的端口号
    jobmanager.rpc.port: 6123
    # JobManager JVM heap 内存大小
    jobmanager.heap.size: 1024m
    # TaskManager JVM heap 内存大小
    taskmanager.heap.size: 1024m
    # 每个 TaskManager 提供的任务 slots 数量大小
    taskmanager.numberOfTaskSlots: 2
    #是否进行预分配内存,默认不进行预分配,这样在我们不使用flink集群时候不会占用集群资源
    taskmanager.memory.preallocate: false
    # 程序默认并行计算的个数
    parallelism.default: 1
    #JobManager的Web界面的端口(默认:8081)
    jobmanager.web.port: 8081
  3. 【node1操作】,修改配置文件,conf/slaves

    shell 复制代码
    node1
    node2
    node3
  4. 【node1操作】分发Flink安装包到其它机器

    shell 复制代码
    cd /export/server
    scp -r flink-1.10.0 node2:`pwd`/
    scp -r flink-1.10.0 node3:`pwd`/
  5. 【node2、node3操作】

    shell 复制代码
    # 配置软链接
    ln -s /export/server/flink-1.10.0 /export/server/flink
  6. 【node1操作】,启动Flink

    • 关闭spark(不关闭的话会占用8081端口)
    shell 复制代码
    /export/server/spark/sbin/stop-all.sh
    • 启动flink
    shell 复制代码
    /export/server/flink/bin/start-cluster.sh
    • 启动成功的控制台
    shell 复制代码
    [root@node1 server]# /export/server/flink/bin/start-cluster.sh
    Starting cluster.
    Starting standalonesession daemon on host node1.
    [INFO] 1 instance(s) of taskexecutor are already running on node1.
    Starting taskexecutor daemon on host node1.
    [INFO] 1 instance(s) of taskexecutor are already running on node2.
    Starting taskexecutor daemon on host node2.
    [INFO] 1 instance(s) of taskexecutor are already running on node3.
    Starting taskexecutor daemon on host node3.
    • 使用jps查看进程
    shell 复制代码
    [root@node1 server]# jps
    2629 NodeManager
    3014 WebAppProxyServer
    1898 DataNode
    4140 QuorumPeerMain
    2477 ResourceManager
    2222 SecondaryNameNode
    8978 TaskManagerRunner
    8148 TaskManagerRunner
    1752 NameNode
    5081 HRegionServer
    4989 HMaster
    8637 StandaloneSessionClusterEntrypoint
    9087 Jps

    可以看到StandaloneSessionClusterEntrypoint管理者进程和TaskManagerRunner工作者进程,说明启动成功。

  7. 验证Flink启动

    shell 复制代码
    # 浏览器打开
    http://192.168.149.131:8081

    按正常来讲,这里应该是6个总任务数,3个进程。但是我这里是12个总数,6个进程(有大佬能指点一下吗)。

  8. 提交测试任务

    【node1执行】

    shell 复制代码
    /export/server/flink/bin/flink run /export/server/flink-1.10.0/examples/batch/WordCount.jar
相关推荐
是小胡嘛4 小时前
C++之Any类的模拟实现
linux·开发语言·c++
口袋物联4 小时前
设计模式之工厂模式在 C 语言中的应用(含 Linux 内核实例)
linux·c语言·设计模式·简单工厂模式
qq_479875435 小时前
X-Macros(1)
linux·服务器·windows
笨笨聊运维6 小时前
CentOS官方不维护版本,配置python升级方法,无损版
linux·python·centos
ζั͡山 ั͡有扶苏 ั͡✾7 小时前
EFK 日志系统搭建完整教程
运维·jenkins·kibana·es·filebeat
jun_bai7 小时前
python写的文件备份网盘程序
运维·服务器·网络
HIT_Weston7 小时前
39、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(二)
linux·前端·ubuntu
欢喜躲在眉梢里8 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
weixin_537765808 小时前
【容器技术】虚拟化原理与Docker详解
运维·docker·容器
胡斌附体8 小时前
docker健康检查使用
运维·docker·依赖·健康检查