Mac下安装Flink的local模式(flink-1.5.2)

版权声明:本文为博主九师兄(QQ群:spark源代码 198279782 欢迎来探讨技术)原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21383435/article/details/81531097

1.下载

lcc@lcc flink$ ll
drwxr-xr-x@ 11 lcc  staff        352  7 26 04:42 flink-1.5.2/
-rw-r--r--@  1 lcc  staff  301130745  8  8 15:23 flink-1.5.2-bin-hadoop27-scala_2.11.tgz

注意hadoop的版本兼容问题,我本地为hadoop-2.7

2. 默认无需配置也可以运行

直接运行

cc@lcc conf$ ../bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host lcc.
Starting taskexecutor daemon on host lcc.
lcc@lcc conf$

查看是否运行成功

lcc@lcc flink-1.5.2$ tail log/flink-lcc-standalonesession-0-lcc.log
- Rest endpoint listening at localhost:8081
- http://localhost:8081 was granted leadership with 
- Web frontend listening at http://localhost:8081.

然后可以在界面上查看http://localhost:8081

这里写图片描述

小贴士

1.0.2版本

lcc@lcc flink-1.0.2$ bin/start-local.sh
Starting jobmanager daemon on host lcc.

1.2.0版本

lcc@lcc flink-1.2.0$ bin/start-cluster.sh
Starting cluster.
Starting jobmanager daemon on host lcc.
Starting taskmanager daemon on host lcc.

1.5.0版本

cc@lcc conf$ ../bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host lcc.
Starting taskexecutor daemon on host lcc.
lcc@lcc conf$

可以看到1.0.2有start-local.sh脚本,只启动了jobmanager
1.2.0没有start-local.sh脚本,只启动了jobmanager,taskmanager
1.5.0版本没有start-local.sh脚本,只启动了standalonesessiontaskexecutor

由此可见版本的变迁

扫描二维码关注公众号,回复: 2925832 查看本文章

3. 运行SocketWindowWordCount程序

2. 配置

解压安装包,进入conf配置文件目录下,主要配置文件为flink-conf.yaml和slaves,配置flink-conf.yaml

2.1 基本配置

jobmanager.rpc.address: localhost1   --jobManager 的IP地址

jobmanager.rpc.port: 6123   --jobManager 的端口,默认为6123

jobmanager.heap.mb --jobManager 的JVM heap大小  

taskmanager.heap.mb  --taskManager的jvm heap大小设置

taskmanager.numberOfTaskSlots  --taskManager中taskSlots个数,最好设置成work节点的CPU个数相等

parallelism.default  --并行计算数

fs.default-scheme --文件系统来源

fs.hdfs.hadoopconf:  --hdfs置文件路径

jobmanager.web.port    -- jobmanager的页面监控端口

2.2 内存管理配置

Flink默认上分配taskmanager.heap.mb配置值得70%留它管理,内存的管理让flinK批量处理效果很高;并且flink不会出现OutMemoryException的问题,因为flink知道预留多少内存来执行程序;如果flink运行的程序所需要的内存超过了它所管理的内存,Flink就可以利用磁盘;总而言之,flink的内存管理提高了鲁棒性和系统的速度;下面就介绍管理内存的配置文件:

taskmanager.memory.fraction  --管理内存的百分比,默认0.7

taskmanager.memory.size    --taskManager 具体管理内存的大小;此配置重写taskmanager.memory.fraction的配置

taskmanager.memory.segment-size --内存管理器所使用的内存缓冲区的大小和网络堆栈字节

taskmanager.memory.preallocate  --taskmanager是否启动时管理所有的内存

2.3 slaves 中配置节点机器的ip或主机名

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/81531097