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

本文涉及的产品
对象存储 OSS,20GB 3个月
云备份 Cloud Backup,100GB 3个月
对象存储 OSS,恶意文件检测 1000次 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轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
1月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
648 13
Apache Flink 2.0-preview released
|
1月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
73 3
|
1月前
|
分布式计算 监控 大数据
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu
58 1
|
1月前
|
数据挖掘 物联网 数据处理
深入探讨Apache Flink:实时数据流处理的强大框架
在数据驱动时代,企业需高效处理实时数据流。Apache Flink作为开源流处理框架,以其高性能和灵活性成为首选平台。本文详细介绍Flink的核心特性和应用场景,包括实时流处理、强大的状态管理、灵活的窗口机制及批处理兼容性。无论在实时数据分析、金融服务、物联网还是广告技术领域,Flink均展现出巨大潜力,是企业实时数据处理的理想选择。随着大数据需求增长,Flink将继续在数据处理领域发挥重要作用。
|
SQL HIVE 流计算
flink写hdfs inprogress文件问题
flink落地到hdfs的文件,在hive中读不到
2647 0
|
2月前
|
运维 数据处理 数据安全/隐私保护
阿里云实时计算Flink版测评报告
该测评报告详细介绍了阿里云实时计算Flink版在用户行为分析与标签画像中的应用实践,展示了其毫秒级的数据处理能力和高效的开发流程。报告还全面评测了该服务在稳定性、性能、开发运维及安全性方面的卓越表现,并对比自建Flink集群的优势。最后,报告评估了其成本效益,强调了其灵活扩展性和高投资回报率,适合各类实时数据处理需求。
|
4月前
|
存储 监控 大数据
阿里云实时计算Flink在多行业的应用和实践
本文整理自 Flink Forward Asia 2023 中闭门会的分享。主要分享实时计算在各行业的应用实践,对回归实时计算的重点场景进行介绍以及企业如何使用实时计算技术,并且提供一些在技术架构上的参考建议。
836 7
阿里云实时计算Flink在多行业的应用和实践
|
23天前
|
存储 分布式计算 流计算
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
本文介绍了阿里云开源大数据团队在实时计算领域的最新成果——向量化流计算引擎Flash。文章主要内容包括:Apache Flink 成为业界流计算标准、Flash 核心技术解读、性能测试数据以及在阿里巴巴集团的落地效果。Flash 是一款完全兼容 Apache Flink 的新一代流计算引擎,通过向量化技术和 C++ 实现,大幅提升了性能和成本效益。
803 17
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
|
3月前
|
SQL 消息中间件 Kafka
实时计算 Flink版产品使用问题之如何在EMR-Flink的Flink SOL中针对source表单独设置并行度
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
20天前
|
SQL 运维 数据可视化
阿里云实时计算Flink版产品体验测评
阿里云实时计算Flink基于Apache Flink构建,提供一站式实时大数据分析平台,支持端到端亚秒级实时数据分析,适用于实时大屏、实时报表、实时ETL和风控监测等场景,具备高性价比、开发效率、运维管理和企业安全等优势。

推荐镜像

更多
下一篇
无影云桌面