美文网首页
Flink安装配置与安装实操

Flink安装配置与安装实操

作者: 卡门001 | 来源:发表于2021-08-28 02:26 被阅读0次

架构

Flink架构
FLink三大部分
  • JobManager:协调分配(HA),三种运行模式
  • TaskManager:作业运行
  • FlinkClient:批或流式应用编写器
三种运行模式
  • Application Mode:一应用一个Cluster实例
  • Per-JOB Mode: 可理解为Client模式的Application Mode,一应用Job一Cluster
  • Session Mode: 多个JOB共享一个Flink,不推荐

生产环境时,推荐配置 Per-job or Application Mode
部署方式推荐:Standalone或YARN 模式

部署方式
  • Standalone:不支持Per-JOB Mode,
  • YARN:三种运行方式全支持
  • Kubernetes: 不支持Per-JOB Mode
  • Mesos: Mesco不支持

其他分布式大数据主从结构

  • Hadoop
HDFS: NN(HA 老大)  DN(多个 小弟)
MR: RM(HA 老大) NM(多个 小弟)
  • Spark
    Master(HA老大) Woker(多个小弟)
  • Hbase

FLink's Standalone 安装

JobManager默认端口:8081

安装

#前提条件:安装jdk1.8
tar -zxvf  flink-1.13.2-bin-scala_2.12.tgz  -c /home/app/
export FLINK_HOME=/home/app/flink-1.13.2/
export PATH=$PATH:$FLINK_HOME/bin

包结构

cd /home/app/flink-1.13.2/
- bin/    #执行脚本
- example/  #例子
- license/    #
- conf/  #配置 flink-conf.yaml与workers
- log/   #日志
- opt/
- plugin/
- lib/    #依赖

一、Session Mode

  • 1、install && start
# (1) Start Cluster
$ ./bin/start-cluster.sh
# (2) 访问 http://localhost:8081
# (3) Submit example job - 启动客户端
$ ./bin/flink run ./examples/streaming/TopSpeedWindowing.jar
# (4) Stop the cluster again
$ ./bin/stop-cluster.sh
  • 2、cluster's config
1. conf/masters contents:
localhost #master

2. conf/workers contents:
localhost #work1
localhost #work2
localhost  #work3

二、Application Mode

# 1、先复制..job.jar至lib文件夹,这里在TopSpeedWindowing.jar为例
$ cp ./examples/streaming/TopSpeedWindowing.jar lib/

#2、 发起一个jobManager:
$ ./bin/standalone-job.sh start --job-classname org.apache.flink.streaming.examples.windowing.TopSpeedWindowing

# 3. 启动taskmanager,否则浏览器访问不了(localhost:8081)
$ ./bin/taskmanager.sh start #否则访问不了

# Note: 资源足够,可以启动多个TaskManagers

# --停止服务
$ ./bin/taskmanager.sh stop
$ ./bin/standalone-job.sh stop

standalone不支持per-job模式

常用配置说明

**1、conf/flink-conf.yaml

  • conf/flink-conf.yaml
jobmanager.rpc.address (defaults to “localhost”)
jobmanager.rpc.port (defaults to 6123 )  

#内存
jobmanager.memory.process.size
taskmanager.memory.process.size
# 并行的任务
taskmanager.numberOfTaskSlots: 1
#集群中所有CPU数量
parallelism.default:1
io.tmp.dir

上述.../flink/...目录必须放在所有worker节点的相同目录下。可用共享NFS目录或复制Flink
conf/flink-conf.yaml: 可针对特定结节做配置,只要在各自的主机上

**2、conf/workers

# 提供所有用于集成的TaskManager节点的ip或主机名
...

**3、Master基础,用于多JobManager节点

在 conf/masters 保留所有master机器列表,
> master1:webUIPort1[...]
> masterX:webUIPortX

Standalone session-model安装实操

一、安装

- 1、master 10.0.0.1
- 2、work1: 10.0.0.2  
      work2: 10.0.0.3
  • 1、解压
tar -zxvf flink-flink-1.13.2-bin-scala_2.12.tgz
cd conf/
  • 2.配置 - flink-conf.yaml
vi conf/flink-conf.yaml
---
#原8081,云主机8081容易被挖况
rest.port:  18081  
#机器的hostname
jobmanager.rpc.address: localhost 
#以下默认 - 也是特别需要关注的参数
jobmanager.rpc.port: 6213  
# 含 (JobMaster / ResourceManager / Dispatcher) 
jobmanager.memory.process.size: 1600m 
taskmanager.memory.process.size: 1728m 
#每个taskmanager并行的地task的任务量,默认1
taskmanager.numberOfTaskSlots: 4  
parallelism.default:1  #集群中所有CPU数量
io.tmp.dir

未来单独修改本置需要重启

    1. conf/workers
#单节点,所以jobmanager是同一个节点,hostname一样
# 配置wokers的hostname 
...

生产环境,多点节,则在conf/workers中把你规划的作为节点的机器对应的hostname写入即可,一个一个hostname
补充:单节点时,什么都不修改也是可以的

    1. FLINK_HOME添加到环境变量中
vim /etc/profile
---
FLINK_HOME= ~ /app/opt/flink-1.13.2
export PATH=...:$FLINK_HOME/bin
---
source /etc/profile
    1. 启动
# 如没有配置免密码登录,需要输入密码
.bin/start-cluster.sh
---
#控制台输入
Starting cluster.
Starting standalonesession daemon on host iZwz94ym4bv8f4w62zn4niZ.
Starting taskexecutor daemon on host iZwz94ym4bv8f4w62zn4niZ.
  • 6 验证
jps
--
394535 TaskManagerRunner
394266 StandaloneSessionClusterEntrypoint
394698 Jps

-7 浏览器访问 http://ip或域名:18081/

image.png

云主机:如果开启的安全机制,需要将rest port端口加入到主机列表
关注相关知识:HDFS、YARN、HBase、Flink这些分布式系统的主从节点的名称、职责、以及默认的端口号

Flink工程Maven脚手架

# DarchetypeVersion可根据实际版本修改
mvn \
archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.9.2

参考:

相关文章

网友评论

      本文标题:Flink安装配置与安装实操

      本文链接:https://www.haomeiwen.com/subject/guzmiltx.html