在文件存储HDFS版上使用 Apache Flink

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 本文档主要介绍如何在挂载文件存储HDFS版的 Hadoop 集群上安装及使用 Flink。

一 前言

本文档主要介绍如何在挂载文件存储HDFS版的 Hadoop 集群上安装及使用 Flink。

二 准备工作

  1. 开通文件存储HDFS服务并创建文件系统实例和挂载点,详情请参见:快速入门
  2. 在 Hadoop 集群所有节点上安装JDK。版本不能低于1.8。
  3. 下载 Apache Hadoop 压缩包,下载地址:官方链接。建议您选用的Hadoop版本不低于2.7.2,本文档中使用的Hadoop版本为 Apache Hadoop 2.7.2。
  4. 下载 Apache Flink 压缩包,下载地址:官方链接。本文档中使用的版本为官方提供的预编译版本 Apache Flink 1.12.5。

三 配置 Hadoop

  1. 执行如下命令解压 Hadoop 压缩包到指定目录。
tar -zxf hadoop-2.7.2.tar.gz -C /usr/local/
  1. 修改 hadoop-env.sh 配置文件。
  • 执行如下命令打开 hadoop-env.sh 配置文件。
vim /usr/local/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
  • 配置 JAVA_HOME 目录,如下所示。
exportJAVA_HOME=/usr/java/default
  1. 修改 core-site.xml 配置文件。
  • 执行如下命令打开 core-site.xml 配置文件。
vim /usr/local/hadoop-2.7.2/etc/hadoop/core-site.xml
  • 在 core-site.xml 配置文件中,配置如下信息,详情请参见挂载文件系统
<configuration><property><name>fs.defaultFS</name><value>dfs://x-xxxxxxxx.cn-xxxxx.dfs.aliyuncs.com:10290</value><!-- 该地址填写您的挂载点地址 --></property><property><name>fs.dfs.impl</name><value>com.alibaba.dfs.DistributedFileSystem</value></property><property><name>fs.AbstractFileSystem.dfs.impl</name><value>com.alibaba.dfs.DFS</value></property></configuration>
  1. 修改 yarn-site.xml 配置文件。
  • 执行如下命令打开 yarn-site.xml 配置文件。
vim /usr/local/hadoop-2.7.2/etc/hadoop/yarn-site.xml
  • 在 yarn-site.xml 配置文件中,配置如下信息。
<configuration><property><name>yarn.resourcemanager.hostname</name><value>xxxx</value><!-- 该地址填写集群中resourcemanager的hostname --></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property><property><name>yarn.nodemanager.resource.memory-mb</name><value>16384</value><!-- 根据您当前的集群能力进行配置此项 --></property><property><name>yarn.nodemanager.resource.cpu-vcores</name><value>4</value><!-- 根据您当前的集群能力进行配置此项 --></property><property><name>yarn.scheduler.maximum-allocation-vcores</name><value>4</value><!-- 根据您当前的集群能力进行配置此项 --></property><property><name>yarn.scheduler.minimum-allocation-mb</name><value>3584</value><!-- 根据您当前的集群能力进行配置此项 --></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>14336</value><!-- 根据您当前的集群能力进行配置此项 --></property></configuration>
  1. 修改 slaves 配置文件。
  • 执行如下命令打开 slaves 配置文件。
vim /usr/local/hadoop-2.7.2/etc/hadoop/slaves
  • 在 slaves 配置文件中,配置集群计算节点的 hostname。
cluster-header-1
cluster-worker-1
  1. 配置环境变量。
  • 执行如下命令打开 /etc/profile 配置文件。
vim /etc/profile
  • 在 /etc/profile 配置文件中,配置如下信息。
exportHADOOP_HOME=/usr/local/hadoop-2.7.2
exportHADOOP_CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath)exportHADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  • 执行如下命令使配置生效。
source /etc/profile
  1. 配置文件存储HDFS的Java SDK。

您可以单击此处,下载文件存储HDFS最新的Java SDK,将其部署在Hadoop生态系统组件的CLASSPATH上,详情请参见挂载文件系统

cp aliyun-sdk-dfs-x.y.z.jar  /usr/local/hadoop-2.7.2/share/hadoop/hdfs
  1. 执行如下命令将${HADOOP_HOME}文件夹同步到集群的其他节点的相同目录下,并按照本章节步骤 6对集群其他节点配置Hadoop的环境变量。
scp -r hadoop-2.7.2/ root@cluster-worker-1:/usr/local/

四 验证 Hadoop 配置

完成 Hadoop 配置后,不需要格式化 NameNode,也不需要使用 start-dfs.sh 来启动HDFS相关服务。如需使用 YARN 服务,只需在 ResourceManager 节点启动 YARN 服务,验证 Hadoop 配置成功的方法请参见文档:验证安装。

五 配置 Flink

  1. 执行如下命令解压Flink压缩包到指定目录。
tar -zxf flink-1.12.5-bin-scala_2.11.tgz -C /usr/local/
  1. 注意事项
  • 在使用 Flink 之前必须在您的集群环境变量中配置HADOOP_HOME,HADOOP_CLASSPATH和HADOOP_CONF_DIR,详情请参见本文档第三章节中的步骤 6。
  • 如果您需要对 Flink 进行额外的配置,请参考官方文档:配置操作指南

六 验证 Flink 配置

## 在文件存储HDFS版上生成测试数据${HADOOP_HOME}/bin/hadoop jar  ${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar \
randomtextwriter \
-D mapreduce.randomtextwriter.totalbytes=10240 \
-D mapreduce.randomtextwriter.bytespermap=1024 \
dfs://f-xxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/input


## 使用Flink自带的WordCount.jar对文件存储HDFS版上的数据进行读取计算,并将结果写回到文件存储HDFS版## 检查环境变量中是否包含 HADOOP_CLASSPATHecho$HADOOP_CLASSPATH## 如果环境变量中不包含 HADOOP_CLASSPATHexportHADOOP_CLASSPATH=$HADOOP_CLASSPATH:$($HADOOP_HOME/bin/hadoop classpath)## 启动 yarn session./flink-1.12.5/bin/yarn-session.sh --detached## 执行WordCount.jar./flink-1.12.5/bin/flink run \
./flink-1.12.5/examples/batch/WordCount.jar \
--input dfs://f-xxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/flink-test/input \
--output dfs://f-xxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/flink-test/output
## 查看输出在文件存储HDFS版实例上的部分结果${HADOOP_HOME}/bin/hadoop fs -cat dfs://f-xxxxxxx.cn-zhangjiakou.dfs.aliyuncs.com:10290/flink-test/output | tail -20


了解更多关于文件存储HDFS版的产品信息,欢迎访问https://www.aliyun.com/product/alidfs

如果您对文件存储HDFS版有任何问题,欢迎钉钉扫描以下二维码加入文件存储HDFS版技术交流群。

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
目录
相关文章
|
5月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
946 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
488 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
6月前
|
人工智能 运维 Java
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
本文基于Apache Flink PMC成员宋辛童在Community Over Code Asia 2025的演讲,深入解析Flink Agents项目的技术背景、架构设计与应用场景。该项目聚焦事件驱动型AI智能体,结合Flink的实时处理能力,推动AI在工业场景中的工程化落地,涵盖智能运维、直播分析等典型应用,展现其在AI发展第四层次——智能体AI中的重要意义。
2188 27
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
|
7月前
|
消息中间件 存储 Kafka
Apache Flink错误处理实战手册:2年生产环境调试经验总结
本文由 Ververica 客户成功经理 Naci Simsek 撰写,基于其在多个行业 Flink 项目中的实战经验,总结了 Apache Flink 生产环境中常见的三大典型问题及其解决方案。内容涵盖 Kafka 连接器迁移导致的状态管理问题、任务槽负载不均问题以及 Kryo 序列化引发的性能陷阱,旨在帮助企业开发者避免常见误区,提升实时流处理系统的稳定性与性能。
640 0
Apache Flink错误处理实战手册:2年生产环境调试经验总结
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
1422 70
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
798 6
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
248 3
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
335 5
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
209 4
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
585 5

推荐镜像

更多