既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
-
需要这份系统化资料的朋友,可以戳这里获取
-
vim /etc/profile
export HADOOP_CONF_DIR=/opt/cloudera/parcels/CDH/lib/hadoop/etc/hadoop
然后编辑flink-conf.yaml,其中包含了Flink的基础配置。
* 资源参数
JobManager堆内存
jobmanager.heap.mb: 1024
TaskManager堆内存
taskmanager.heap.mb: 2048
每个TaskManager上task slot数目
taskmanager.numberOfTaskSlots: 4
默认并行度
parallelism.default: 12
以上四项只是给出默认配置,实际执行作业时都可以用对应的命令行参数(-jm、-tm、-s、-p)修改。
* 高可用配置
开启基于ZK的高可用
high-availability: zookeeper
ZK集群(即所谓Quorum)地址
high-availability.zookeeper.quorum: ha1:2181,ha2:2181,ha3:2181
Flink在ZK存储中的根节点
high-availability.zookeeper.path.root: /flink
JobManager元数据的持久化位置,必须是可靠存储
high-availability.storageDir: hdfs://mycluster/flink/ha/
程序启动时的最大尝试次数
应当与YARN ApplicationMaster的最大尝试次数(yarn.resourcemanager.am.max-attempts)相同
yarn.application-attempts: 4
注意YARN ApplicationMaster的最大尝试次数(yarn.resourcemanager.am.max-attempts)默认值仅为2,使得作业容错率很低,因此预先把它修改为4,或者更大些。
* StateBackend默认配置
StateBackend类型
可选jobmanager(JM本身)/filesystem(外部文件系统)/rocksdb(自带的RocksDB数据库)
state.backend: filesystem
检查点目录
state.checkpoints.dir: hdfs://mycluster/flink-checkpoints
保存点目录(比检查点更重量级,一般手动操作,用于重启恢复)
state.savepoints.dir: hdfs://mycluster/flink-savepoints
选择filesystem或者rocksdb的话,可靠性比较高。对于轻量级的、逻辑不复杂的任务,可以选择jobmanager。程序中也能通过StreamExecutionEnvironment.setStateBackend()方法来指定。
* 额外的JVM参数
env.java.opts: -server -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError
这个类似于spark-submit中的extraJavaOptions。
Flink on YARN有两种执行模式。
* Session模式:通过yarn-session.sh创建一个持续运行的Flink Session,其中已经分配好了JobManager、TaskManager及所需资源,提交作业时,相当于提交给Session。
* Single job模式:通过flink run脚本每次提交单个作业,设定JobManager为yarn-cluster,由YARN单独分配资源,类似于spark-submit的yarn-cluster部署模式。生产环境一般用这种模式,下面是示例脚本。
![img](https://img-blog.csdnimg.cn/img_convert/2bf8adcdddad553395a12dbba7449c04.png)
![img](https://img-blog.csdnimg.cn/img_convert/9085030dee70cb15fd61b23bb0708051.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**