Flink快速入门
安装:下载并启动
Flink可以在Linux、Mac OS X以及Windows上运行。为了能够运行Flink,唯一的要求是必须安装Java 7.x或者更高版本。对于Windows用户来说,请参考 Flink on Windows 文档,里面介绍了如何在Window本地运行Flink。
下载
从下载页面(http://flink.apache.org/downloads.html
)下载所需的二进制包。你可以选择任何与 Hadoop/Scala 结合的版本。比如 Flink for Hadoop 2。
启动一个local模式的Flink集群
启动一个local模式的Flink集群非常地简单,我们可以按照以下的步骤来操作:
1、进入到下载的目录;
2、解压下载的文件;
3、启动Flink。
操作命令如下:
$ cd ~ /Downloads # Go to download directory $ tar xzf flink-*.tgz # Unpack the downloaded archive $ cd flink-1.0.0 $ bin /start-local .sh # Start Flink |
打开https://www.iteblog.com:8081
检查Jobmanager和其他组件是否正常运行。Web前端应该显示了只有一个可用的 TaskManager。

运行例子
现在,我们来运行SocketTextStreamWordCount
例子,它从socket中获取文本,然后计算每个单词出现的次数。操作步骤如下:
1、首先,我们使用netcat来启动本地服务器:
$ nc -l -p 9000 |
2、然后我们就可以提交Flink程序了:
$ bin /flink run examples /streaming/SocketTextStreamWordCount .jar \ -- hostname localhost \ --port 9000 Printing result to stdout. Use --output to specify output path. 04 /05/2016 16:03:36 Job execution switched to status RUNNING. 04 /05/2016 16:03:36 Source: Socket Stream -> Flat Map(1 /1 ) switched to SCHEDULED 04 /05/2016 16:03:36 Source: Socket Stream -> Flat Map(1 /1 ) switched to DEPLOYING 04 /05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1 /1 ) switched to SCHEDULED 04 /05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1 /1 ) switched to DEPLOYING 04 /05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1 /1 ) switched to RUNNING 04 /05/2016 16:03:36 Source: Socket Stream -> Flat Map(1 /1 ) switched to RUNNING 04 /05/2016 17:00:43 Source: Socket Stream -> Flat Map(1 /1 ) switched to FINISHED 04 /05/2016 17:00:43 Keyed Aggregation -> Sink: Unnamed(1 /1 ) switched to FINISHED 04 /05/2016 17:00:43 Job execution switched to status FINISHED. |
这个程序和socket进行了连接,并等待输入。我们可以在WEB UI中检查Job是否正常运行:

3、计数会打印到标准输出stdout。监控JobManager的输出文件(.out文件),并在nc中敲入一些单词:
$ nc -l -p 9000 lorem ipsum ipsum ipsum ipsum bye |
.out 文件会立即打印出单词的计数:
$ tail -f log /flink- *-jobmanager-*.out (lorem,1) (ipsum,1) (ipsum,2) (ipsum,3) (ipsum,4) (bye,1) |
要停止 Flink,只需要运行:
$ bin /stop-local .sh |

集群模式安装
在集群上运行 Flink 是和在本地运行一样简单的。需要先配置好 SSH 免密码登录 和保证所有节点的目录结构是一致的,这是保证我们的脚本能正确控制任务启停的关键。然后我们就可以按照下面步骤来操作:
1、在每台节点上,复制解压出来的 flink 目录到同样的路径下。
2、选择一个 master 节点 (JobManager) 然后在 conf/flink-conf.yaml
中设置 jobmanager.rpc.address
配置项为该节点的 IP 或者主机名。确保所有节点有有一样的 jobmanager.rpc.address
配置。
3、将所有的 worker 节点 (TaskManager)的 IP 或者主机名(一行一个)填入 conf/slaves 文件中。
现在,你可以在 master 节点上启动集群:bin/start-cluster.sh
。
下面的例子阐述了三个节点的集群部署(IP地址从 10.0.0.1 到 10.0.0.3,主机名分别为 master, worker1, worker2)。并且展示了配置文件,以及所有机器上一致的可访问的安装路径。

访问https://ci.apache.org/projects/flink/flink-docs-release-1.0/setup/config.html查看更多可用的配置项。为了使 Flink 更高效的运行,还需要设置一些配置项。
以下都是非常重要的配置项:
1、TaskManager 总共能使用的内存大小(taskmanager.heap.mb)
2、每一台机器上能使用的 CPU 个数(taskmanager.numberOfTaskSlots)
3、集群中的总 CPU 个数(parallelism.default)
4、临时目录(taskmanager.tmp.dirs)
Flink on YARN
你可以很方便地将 Flink 部署在现有的YARN集群上,操作如下:
1、下载 Flink Hadoop2 包: Flink with Hadoop 2
2、确保你的 HADOOP_HOME (或 YARN_CONF_DIR
或 HADOOP_CONF_DIR
) __环境变量__设置成你的 YARN 和 HDFS 配置。
3、运行 YARN 客户端:./bin/yarn-session.sh
。你可以带参数运行客户端 -n 10 -tm 8192 表示分配 10 个 TaskManager,每个拥有 8 GB 的内存。
Flink快速入门的更多相关文章
- Flink快速入门--安装与示例运行
flink是一款开源的大数据流式处理框架,他可以同时批处理和流处理,具有容错性.高吞吐.低延迟等优势,本文简述flink在windows和linux中安装步骤,和示例程序的运行. 首先要想运行Flin ...
- flink01--------1.flink简介 2.flink安装 3. flink提交任务的2种方式 4. 4flink的快速入门 5.source 6 常用算子(keyBy,max/min,maxBy/minBy,connect,union,split+select)
1. flink简介 1.1 什么是flink Apache Flink是一个分布式大数据处理引擎,可以对有限数据流(如离线数据)和无限流数据及逆行有状态计算(不太懂).可以部署在各种集群环境,对各种 ...
- [转帖]Flink(一)Flink的入门简介
Flink(一)Flink的入门简介 https://www.cnblogs.com/frankdeng/p/9400622.html 一. Flink的引入 这几年大数据的飞速发展,出现了很多热门的 ...
- Scala快速入门 - 基础语法篇
本篇文章首发于头条号Scala快速入门 - 基础语法篇,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的 ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
随机推荐
- Buffer Data
waylau/netty-4-user-guide: Chinese translation of Netty 4.x User Guide. 中文翻译<Netty 4.x 用户指南> h ...
- php+nginx上传文件配置
- python基础-第七篇-7.2面向对象(进阶篇)
进入到今天的探索前,我先对上节内容进行一下回顾: 面向对象是一种编程方式,此编程方式的实现是基于对类和对象的使用 类是一个模板,模板中包装了多个函数可供使用 对象是基于类创建的,实例用于调用被包装在类 ...
- 【非root用户】安装【python,pip,package】
安装python: 下载源码 解压 进入 ./configure --prefix=/path/python3.6 注意一定要设置prefix,否则默认安装到/usr/local make make ...
- MySQL对指定字段进行加密(双向加密)
1:建表 test create table test( name varchar(200), value blob ); 插入数据 使用 ENCODE 加密: ,ENCODE('加密字段值', '钥 ...
- java-mybaits-00503-延迟加载
1.什么是延迟加载 resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 需求: ...
- java并发 —— Lock
java并发 -- Lock 关于java并发中的锁知识,少不了 Lock.本文转载自:Java并发编程:Lock. 从Java 5之后,在java.util.concurrent.locks包下提供 ...
- logstash安装
1.下载并安装公共签名密钥 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 2.创建镜像源文件:/etc/yum.rep ...
- 如何注册iClap账号?
iClap是一个以产品为基础,集成员工日常所需工具,打通项目工作流程,实现员工自我工作管理.项目管理和企业管理三个体系协同的管理规范系统. 工具/原料 iPhone/Android/浏览器 Teamb ...
- SHUOJ Arithmetic Sequence (FFT)
链接:http://acmoj.shu.edu.cn/problem/533/ 题意:求一个序列中,有多少三元组(其中元素不重复)在任意的排列下能构成等差数列. 分析:等差数列:\(A_j-A_i=A ...