Flink【环境搭建 01】(flink-1.9.3 集群版安装、配置、验证)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 【2月更文挑战第15天】Flink【环境搭建 01】(flink-1.9.3 集群版安装、配置、验证)

我使用的安装文件是 flink-1.9.3-bin-scala_2.12.tgz ,以下内容均以此版本进行说明。

说明

搭建集群首先要进行集群的规划【哪台做主节点,哪些做从节点】,这里简单搭建一个 3 节点的 Flink Standalone 集群,其中三台主机Flink01、Flink02、Flink03 均为 worker 节点,Flink01 为 master 节点。

1. 配置免密登录【每台服务器】

Flink 组件之间需要基于 SSH 进行通讯。

1.1 配置映射

配置 ip 地址和主机名映射:==很关键==通过ifconfig查询本机的ip地址,这个地方没有配置正确的话节点会有问题。

vim /etc/hosts
xxx.xx.x.x flink01 flink01
xxx.xx.x.x flink02 flink02
xxx.xx.x.x flink03 flink03

1.2 生成公私钥

执行下面命令行生成公匙和私匙:

[root@flink01 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:BtWqdvRxf90QPhg5p2OOIBwgEGTu4lxAd92icFc5cwE root@tcloud
The key's randomart image is:
+---[RSA 2048]----+
|+*...o. +Eo...   |
|+ .o...= =..+ o  |
| o  o.+...+  B . |
|. .  .o.+ . * +  |
|.. .   +So * o oo|
|+ .   o.. o . . +|
| o   . .       . |
|                 |
|                 |
+----[SHA256]-----+

1.3 授权

进入 /root/.ssh/ 目录下,查看生成的公匙和私匙,并将公匙写入到授权文件:

[root@flink01 .ssh]# ll
total 16
-rw------- 1 root root  786 Jul  6 11:57 authorized_keys
-rw-r--r-- 1 root root    0 Jul  5 11:06 config
-rw-r--r-- 1 root root    0 Jul  5 11:06 iddummy.pub
-rw------- 1 root root 1679 Jul 27 17:42 id_rsa
-rw-r--r-- 1 root root  393 Jul 27 17:42 id_rsa.pub
-rw-r--r-- 1 root root 1131 Jul  6 13:31 known_hosts

# 写入公匙到授权文件
[root@flink01 .ssh]# cat id_rsa.pub >> authorized_keys
[root@flink01 .ssh]# chmod 600 authorized_keys

1.4 集群间免密登录

# 1.生成密钥对
# 在每台主机上使用  ssh-keygen 命令生成公钥私钥对【上边已介绍】
[root@flink01 ~]# ssh-keygen -t rsa

# 2.免密登录
# 将flink01的公钥写到本机和远程机器的  ~/ .ssh/authorized_key 文件中:
ssh-copy-id -i ~/.ssh/id_rsa.pub flink01 
ssh-copy-id -i ~/.ssh/id_rsa.pub flink02 
ssh-copy-id -i ~/.ssh/id_rsa.pub flink03 

# 3.验证免密登录
ssh flink02 
ssh flink03

2. 安装配置

2.1 解压

[root@flink01 flink]# tar -zxvf flink-1.9.3-bin-scala_2.12.tgz 
[root@flink01 flink]# mv ./flink-1.9.3-bin-scala_2.12 /usr/local/flink

2.2 修改配置文件

  1. 进入到${FLINK_HOME}/conf/目录下,编辑 flink-conf.yaml 配置文件:

    [root@flink01 flink]# cd ./conf/
    [root@flink01 conf]# vi flink-conf.yaml 
    # 修改一下配置
    jobmanager.rpc.address: flink01 
    # The RPC port where the JobManager is reachable.
    jobmanager.rpc.port: 6123
    # The heap size for the JobManager JVM
    jobmanager.heap.size: 512m
    # The heap size for the TaskManager JVM
    taskmanager.heap.size: 512m
    # The number of task slots that each TaskManager offers. Each slot runs one parallel pipeline.
    taskmanager.numberOfTaskSlots: 3
    

    其中:taskmanager.numberOfTaskSlot 参数默认值为 1,修改成 3。表示数每一个TaskManager 上有 3 个 Slot。
    ==踩坑:== jobmanager.heap.size和taskmanager.heap.size设置过小将无法启动。

  2. 编辑 conf/slaves 配置文件

[root@flink01 conf]# vi slaves 
# TaskManager三台节点机全部配置进slaves
flink01 
flink02 
flink03

2.3 分发程序

[root@flink01 local]# scp -r flink root@flink02:`pwd`
[root@flink01 local]# scp -r flink root@flink03:`pwd`

2.4 启动集群

[root@flink01 flink]# ./bin/start-cluster.sh 
Starting cluster.
Starting standalonesession daemon on host flink01.
Starting taskexecutor daemon on host flink01.
Starting taskexecutor daemon on host flink02.
Starting taskexecutor daemon on host flink03.

2.5 验证

[root@flink01 flink]# jps
4050 Jps
4028 TaskManagerRunner
1759 StandaloneSessionClusterEntrypoint

[root@flink02 ~]# jps
2537 Jps
2492 TaskManagerRunner

[root@flink03 ~]# jps
2537 Jps
2492 TaskManagerRunner

也可访问 WebUI进行查看:http://flink01:8081/#/overview

总结

Flink 和 Spark 一样,开发的时候并不需要部署运行环境,开发完成后打包测试或应用部署时才需要。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
2月前
|
消息中间件 监控 Java
联通实时计算平台问题之监控Kafka集群的断传和积压情况要如何操作
联通实时计算平台问题之监控Kafka集群的断传和积压情况要如何操作
|
2月前
|
资源调度 调度 流计算
Flink 细粒度资源管理问题之为不同的SSG配置资源如何解决
Flink 细粒度资源管理问题之为不同的SSG配置资源如何解决
|
2月前
|
存储 NoSQL 分布式数据库
Flink 细粒度资源管理问题之调整 slot 配置来提高资源利用效率如何解决
Flink 细粒度资源管理问题之调整 slot 配置来提高资源利用效率如何解决
|
2月前
|
分布式计算 流计算
美团 Flink 大作业部署问题之Checkpoint Replicate Service 跨 HDFS 集群的副本制作是如何实现的
美团 Flink 大作业部署问题之Checkpoint Replicate Service 跨 HDFS 集群的副本制作是如何实现的
|
2月前
|
资源调度 算法 Java
Flink四种集群模式原理
Flink四种集群模式原理
36 0
|
9天前
|
运维 数据处理 数据安全/隐私保护
阿里云实时计算Flink版测评报告
该测评报告详细介绍了阿里云实时计算Flink版在用户行为分析与标签画像中的应用实践,展示了其毫秒级的数据处理能力和高效的开发流程。报告还全面评测了该服务在稳定性、性能、开发运维及安全性方面的卓越表现,并对比自建Flink集群的优势。最后,报告评估了其成本效益,强调了其灵活扩展性和高投资回报率,适合各类实时数据处理需求。
|
3月前
|
存储 监控 大数据
阿里云实时计算Flink在多行业的应用和实践
本文整理自 Flink Forward Asia 2023 中闭门会的分享。主要分享实时计算在各行业的应用实践,对回归实时计算的重点场景进行介绍以及企业如何使用实时计算技术,并且提供一些在技术架构上的参考建议。
730 7
阿里云实时计算Flink在多行业的应用和实践
|
2月前
|
SQL 消息中间件 Kafka
实时计算 Flink版产品使用问题之如何在EMR-Flink的Flink SOL中针对source表单独设置并行度
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
10天前
|
存储 运维 监控
阿里云实时计算Flink版的评测
阿里云实时计算Flink版的评测
42 15
|
9天前
|
运维 分布式计算 监控
评测报告:阿里云实时计算Flink版
本评测主要针对阿里云实时计算Flink版在用户行为分析中的应用。作为一名数据分析师,我利用该服务处理了大量日志数据,包括用户点击流和登录行为。Flink的强大实时处理能力让我能够迅速洞察用户行为变化,及时调整营销策略。此外,其卓越的性能和稳定性显著降低了运维负担,提升了项目效率。产品文档详尽且易于理解,但建议增加故障排查示例。
下一篇
无影云桌面