Linux学习笔记——分布式内存计算Flink环境部署

5.13、分布式内存计算Flink环境部署

5.13.1、简介

Flink同Spark一样,是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。

Flink在大数据体系同样是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。

在大数据领域广泛应用,是目前世界上除去Spark以外,应用最为广泛的分布式计算引擎。

我们将基于Hadoop集群,部署Flink Standalone集群。

Spark更加偏向于离线计算而Flink更加偏向于实时计算。

注意:

本小节的操作,基于:大数据集群(Hadoop生态)安装部署环节中所构建的Hadoop集群

如果没有Hadoop集群,请参阅大数据集群(Hadoop生态)安装部署,部署好环境。

5.13.2、安装

1、【node1操作】下载安装包

wget https://archive.apache.org/dist/flink/flink-1.10.0/flink-1.10.0-bin-scala_2.11.tgz

# 解压
tar -zxvf flink-1.10.0-bin-scala_2.11.tgz -C /export/server/

# 软链接
ln -s /export/server/flink-1.10.0 /export/server/flink

Linux学习笔记——分布式内存计算Flink环境部署_第1张图片

2、【node1操作】修改配置文件,conf/flink-conf.yaml

# 切换至/export/server/flink/conf
cd /export/server/flink/conf
# 编辑文件
vim flink-conf.yaml

flink-conf.yaml中清空内容(按键dG),并添加以下内容:

# 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

可能出现的问题:

  • 在可插入状态下,直接粘贴,会显示全部内容被注释掉。

解决方法:

  • 使用ESC退出可编辑状态,输入:set paste,然后按下i键,再次进行粘贴内容即可。

3、【node1操作】,修改配置文件,conf/slaves

# 切换至/export/server/flink/conf
cd /export/server/flink/conf
# 编辑文件
vim slaves

slaves中清空内容,并添加以下内容:

node1
node2
node3

4、【node1操作】分发Flink安装包到其它机器

cd /export/server
scp -r flink-1.10.0 node2:`pwd`/
scp -r flink-1.10.0 node3:`pwd`/

5、【node2、node3操作】

# 配置软链接
ln -s /export/server/flink-1.10.0 /export/server/flink

6、【node1操作】,启动Flink

/export/server/flink/bin/start-cluster.sh

7、验证Flink启动

# 浏览器打开
http://node1:8081

需要先停止Spark,不然进去看到的页面是Spark。

Linux学习笔记——分布式内存计算Flink环境部署_第2张图片

8、提交测试任务

【node1执行】

/export/server/flink/bin/flink run /export/server/flink-1.10.0/examples/batch/WordCount.jar

你可能感兴趣的:(分布式,linux,学习,flink,hadoop)