Linux学习笔记——分布式内存计算Flink环境部署
5.13、分布式内存计算Flink环境部署
5.13.1、简介
Flink同Spark一样,是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。
Flink在大数据体系同样是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。
在大数据领域广泛应用,是目前世界上除去Spark以外,应用最为广泛的分布式计算引擎。
我们将基于Hadoop集群,部署Flink Standalone集群。
Spark更加偏向于离线计算而Flink更加偏向于实时计算。
注意: 本小节的操作,基于:大数据集群(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
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。
8、提交测试任务
【node1执行】
/export/server/flink/bin/flink run /export/server/flink-1.10.0/examples/batch/WordCount.jar
下一篇:
【Nginx】实现负载均衡的几种方式