我的大数据开发第2章:初步了解Flink

我的大数据开发第2章:初步了解Flink

关于如何快速搭建一个 Flink 学习和测试环境,请参考第1章。

0. 引言

传统的大数据架构靠堆叠各种组件来实现数据处理流程上的各种操作,而Apache Flink(https://flink.apache.org/)作为一个开源的、分布式的、高性能的、低延迟的、高吞吐的大数据框架,以数据并行和流水线方式实现了对任意流数据的处理。Flink的核心是用Java和Scala编写的分布式流数据处理引擎,批数据被当作流数据的一个特例。Flink提供了更高抽象层的API以便用户编写分布式数据处理任务。

早在2008年,Flink(德语:敏捷的、灵巧的)的前身已经是柏林理工大学一个研究性项目,2014年被Apache孵化器所接受,迅速成为了Apache Software Foundation的顶级项目之一。2019年,阿里巴巴集团以1亿多美元的价格收购了Flink的商业公司Data Artisans。在阿里巴巴的生产环境中,基于Flink的计算平台实现了毫秒级的延迟情况下,每秒钟处理上亿次的消息或者事件。目前,Flink 的最新版本已经更新到了1.12.0,主要还是依靠开源社区的贡献而发展。Flink已经被国内外诸多互联网公司广泛应用在业务上。

与Flink相关的书籍文章不胜枚举,这些文章过多着眼于分析Flink的一些技术特性,缺少在业务实践中应用Flink遇到的问题和运维过程中的经验总结。因此,本文是我在开发和运维Flink的过程中的总结。希望它能切实解决Flink开发和运维中遇到的共性的问题。

1. 搭建Flink开发环境

Flink开发环境用于编写、编译、测试和打包Flink应用。Flink主要采用Java语言开发,个别地方用到了Scala。开发环境需要一台联网的x86的PC(我是在一台centos7的虚拟机服务器上开发,其他如RHEL、Ubuntu等都可以),需要安装java8或java11。我用的是jdk-8u271-linux-x64.tar.gz。为了构建Java程序,还需要maven,我用的是apache-maven-3.6.3-bin.tar.gz。然后下载最新的Flink软件包,我下载的是:flink-1.12.0-bin-scala_2.12.tgz,下载地址:
https://www.apache.org/dyn/closer.lua/flink/flink-1.12.0/flink-1.12.0-bin-scala_2.12.tgz

解压后配置环境变量文件(/etc/profile.d/hacl-env.sh)如下:

###################################
# hadoop cluster env
# 2020-01-05
###################################
# java8
export JAVA_HOME=/usr/local/java/current
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

# scala
export SCALA_HOME=/usr/local/scala/current
export PATH=$PATH:$SCALA_HOME/bin

#######################
# apache.org softwares
#######################
export APACHE_ROOT=/usr/local/apache

# maven
export M2_HOME=$APACHE_ROOT/maven-current
export M2_CONF_DIR=$M2_HOME/conf
export PATH=$PATH:$M2_HOME/bin

# zookeeper
export ZK_HOME=$APACHE_ROOT/zookeeper-current
export ZK_CONF_DIR=$ZK_HOME/conf
export PATH=$PATH:$ZK_HOME/bin

# kafka
export KAFKA_HOME=$APACHE_ROOT/kafka-current
export KAFKA_CONF_DIR=$KAFKA_HOME/config
export PATH=$PATH:$KAFKA_HOME/bin

# hadoop
export HADOOP_HOME=$APACHE_ROOT/hadoop
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车斗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值