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
相关推荐
chlk1231 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 小时前
OpenClaw 多 Agent 配置实战指南
运维
大大大大晴天2 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
深紫色的三北六号11 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash15 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux