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
相关推荐
宁zz15 小时前
乌班图安装jenkins
运维·jenkins
大丈夫立于天地间15 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg501716 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影16 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain16 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon16 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu17 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
@郭小茶18 小时前
docker-compose方式部署docker项目
运维·docker·容器
GalaxyPokemon18 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++