今天咱们来讲一下flink,你们可能对flink还不是特别的熟悉,其实它是一个很早的项目,只是在2016年的时候才被你们所注意到,如今已经被不少公司所使用,做为一个后起之秀,或者说流计算的新贵,为何它能获得你们的承认呢,Flink把批处理看成流处理中的一种特殊状况.在Flink中,全部的数据都看做流.这是一个很好的抽象.再加上它完善的checkpoint机制,使得它对状态的管理很是的细致.因此可以脱颖而出,相信在阿里这个巨人的肩膀上,它会很快火起来的.那咱们今天就来玩一下flink,先从最基本的搭建flink集群开始吧.java
这一篇介绍的是standalone模式,flink on yarn的请看这里web
1.Flink独立集群模式安装(Cluster Standalone)函数
(1),JDK的配置和各个机器之间的免密我就不说了,网上随便一搜一大堆.oop
(2),解压包: tar -zxvf flink-1.6.0-bin-hadoop28-scala_2.11.tgz 测试
(3),配置conf/flink-conf.yaml文件,以下所示:ui
#Jobmanager的IP地址,即master地址。 jobmanager.rpc.address: master #每个TaskManager的堆大小(单位是MB),因为每一个taskmanager要运行operator的各类函数(Map、Reduce、CoGroup等,包含sorting、hashing、caching),所以这个值应该尽量的大。若是集群仅仅跑Flink的程序,建议此值等于机器的内存大小减去一、2G,剩余的一、2GB用于操做系统。若是是Yarn模式,这个值经过指定tm参数来分配给container,一样要减去操做系统能够容忍的大小(一、2GB)。 taskmanager.heap.size: 1024 #每一个TaskManager的并行度。一个slot对应一个core,默认值是1.一个并行度对应一个线程。总的内存大小要且分给不一样的线程使用。 #taskmanager.numberOfTaskSlots: 4 #每一个operator的默认并行度。默认是1.若是程序中对operator设置了setParallelism,或者提交程序时指定了-p参数,则会覆盖此参数。若是只有一个Job运行时,此值能够设置为taskManager的数量 * 每一个taskManager的slots数量。即NumTaskManagers * NumSlotsPerTaskManager 。 #parallelism.default: 8 #临时目录 taskmanager.tmp.dirs: /tmp #JobManager的堆大小(单位是MB)。当长时间运行operator很是多的程序时,须要增长此值。具体设置多少只能经过测试不断调整。 jobmanager.heap.size: 1024 #jobmanager.web.port: 8081 #JobMamanger的端口,默认是6123。 jobmanager.rpc.port: 6123 #HA的配置 #recovery.mode: zookeeper #recovery.zookeeper.quorum: master:2181,storm1:2181,storm2:2181 classloader.resolve-order: parent-first
配置这些就能够了(注意: 后面必定要用空格分开)spa
(4),配置slaves,把子节点的ip地址或者hostname写上:操作系统
slave1.net
slave2线程
(5),把在master上配置好的,文件夹发送到各个worker节点上.
scp -r flink root@slave1:/home/jason/bigdata/
(6),Flink集群搭建完成,能够启动了,直接在bin下./start-cluster.sh, 在master节点上运行下面的脚本,那么这台机器上将会启动一个JobManager,并经过SSH链接列在slaves文件中的全部节点以便在每一个节点上启动TaskManager
(7),中止flink集群,直接在master节点运行bin/stop-cluster.sh
(8),web界面输入:master:8081就能够看到了,以下图因此:
到这里flink的Standalone模式集群就搭建好了,看惯了spark的ui,看flink的还有点不太习惯.先介绍到这儿,后面会有代码demo.请你们接着看.基于standalone的demo
Flink的web ui 使用能够看这个,http://www.javashuo.com/article/p-tidkloug-gg.html
若是有写的不对的地方,欢迎你们指正,若是有什么疑问,能够加QQ群:340297350,更多的Flink和spark的干货能够加入下面的星球