安装:下载并启动

  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快速入门的更多相关文章

  1. Flink快速入门--安装与示例运行

    flink是一款开源的大数据流式处理框架,他可以同时批处理和流处理,具有容错性.高吞吐.低延迟等优势,本文简述flink在windows和linux中安装步骤,和示例程序的运行. 首先要想运行Flin ...

  2. 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是一个分布式大数据处理引擎,可以对有限数据流(如离线数据)和无限流数据及逆行有状态计算(不太懂).可以部署在各种集群环境,对各种 ...

  3. [转帖]Flink(一)Flink的入门简介

    Flink(一)Flink的入门简介 https://www.cnblogs.com/frankdeng/p/9400622.html 一. Flink的引入 这几年大数据的飞速发展,出现了很多热门的 ...

  4. Scala快速入门 - 基础语法篇

    本篇文章首发于头条号Scala快速入门 - 基础语法篇,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的 ...

  5. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  6. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  7. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  8. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  9. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. VI乱码, cat 和 more正常

    今天在做一个东西的时候发现,vi乱码,cat,more这个文件汉字显示也正常,查了网上很多东西最后发现按一种说法改对了: 应该是格式化的问题! 比如man手册的文件有一些格式标记,你用man   ,c ...

  2. 剑指Offer——整数中1出现的次数(从1到n整数中1出现的次数)

    题目描述: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了 ...

  3. apache2.2版本 configuration error: couldn't perform authentication. AuthType not set!: /

    configuration error:  couldn't perform authentication. AuthType not set!: /  500服务器错误 解决方案: <Dire ...

  4. #define宏定义

    1 #define的概念  #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本.  该命令有两种格式:一种是简单的宏定义, ...

  5. Windows使用中的一些小技巧

    1.网站保存在桌面 在桌面新建一个快捷方式,然后输入网址即可.

  6. mysql参照完整性 策略设置之 on update 和 on delete

    一.当表中有外键约束的时候参照表中数据的删除和修改违背参照完整性时 可根据以下策略进行处理 1.两条策略设置为cascade的时候 参照表中的数据修改或者删除的时候改表中数据也会被删除 2.两条策略设 ...

  7. (0.2.4)Mysql安装——yum源安装

    转自:https://www.cnblogs.com/jimboi/p/6405560.html Centos6.8通过yum安装mysql5.7 1.下载好对应版本的yum源文件 2.安装用来配置m ...

  8. 006-Hadoop Hive sql语法详解1-数据结构和Hive表建立

    1.认识hive:  Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表, ...

  9. linux 实用命令

    从一台机器远程连接到另一台机器: ssh platform@192.168.155.116 从一台机器发送文件到另一台机器: scp /home/weihuang/vie-zyzj.jar platf ...

  10. Python之路——堡垒机原理及其简单实现

    1 堡垒机基本概述 其从功能上讲,它综合了核心系统运维和安全审计管控两大主干功能,从技术实现上讲,通过切断终端计算机对网络和服务器资源的直接访问,而采用协议代理的方式,接管了终端计算机对网络和服务器的 ...