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 分钟前
AI驱动的智能运维:从自动化到自主化的技术演进与架构革新
运维·人工智能·自动化
HZero.chen1 小时前
Linux字符串处理
linux·string
张童瑶1 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
Jackeyzhe1 小时前
Flink源码阅读:如何生成StreamGraph
flink
汪汪队立大功1231 小时前
什么是SELinux
linux
石小千1 小时前
Linux安装OpenProject
linux·运维
柏木乃一1 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
Lime-30901 小时前
制作Ubuntu 24.04-GPU服务器测试系统盘
linux·运维·ubuntu
代码or搬砖1 小时前
Nginx详讲
运维·nginx·dubbo
守城小轩2 小时前
基于Chrome140的Quora账号自动化——运行脚本(三)
运维·自动化·chrome devtools·指纹浏览器·浏览器开发