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
相关推荐
未济16 小时前
linux 配置环境变量
linux
傲世仙尊16 小时前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫16 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.18 小时前
进程间通信
linux
AI职业加油站18 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
Liuqy-0518 小时前
Linux IO编程——静态库、动态库
linux
此冬歌咏19 小时前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz19 小时前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅19 小时前
linux(8) 软硬链接
linux·运维·服务器
AIgorithmGEEK19 小时前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid