Flink快速上手(QuickStart)

Posted 过往记忆大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink快速上手(QuickStart)相关的知识,希望对你有一定的参考价值。

下面文章里面嵌入代码,不能很好地显示,可以点击下面 阅读原文

安装:下载并启动

  可以在Linux、Mac OS X以及Windows上运行。为了能够运行,唯一的要求是必须安装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。

操作命令如下:

1 cd ~/Downloads        # Go to download directory
2 tar xzf flink-*.tgz   # Unpack the downloaded archive
3 cd flink-1.0.0
4 $ bin/start-local.sh    # Start Flink

打开http://www.iteblog.com:8081检查Jobmanager和其他组件是否正常运行。Web前端应该显示了只有一个可用的 TaskManager。

运行例子

现在,我们来运行SocketTextStreamWordCount例子,它从socket中获取文本,然后计算每个单词出现的次数。操作步骤如下:

1、首先,我们使用netcat来启动本地服务器:

1 $ nc -l -p 9000

2、然后我们就可以提交Flink程序了:

01 $ bin/flink run examples/streaming/SocketTextStreamWordCount.jar \
02   --hostname localhost \
03   --port 9000
04
05 Printing result to stdout. Use --output to specify output path.
06 04/05/2016 16:03:36 Job execution switched to status RUNNING.
07 04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to SCHEDULED
08 04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to DEPLOYING
09 04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to SCHEDULED
10 04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to DEPLOYING
11 04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to RUNNING
12 04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to RUNNING
13 04/05/2016 17:00:43 Source: Socket Stream -> Flat Map(1/1) switched to FINISHED
14 04/05/2016 17:00:43 Keyed Aggregation -> Sink: Unnamed(1/1) switched to FINISHED
15 04/05/2016 17:00:43 Job execution switched to status FINISHED.

这个程序和socket进行了连接,并等待输入。我们可以在WEB UI中检查Job是否正常运行:

3、计数会打印到标准输出stdout。监控JobManager的输出文件(.out文件),并在nc中敲入一些单词:

1 $ nc -l -p 9000
2 lorem ipsum
3 ipsum ipsum ipsum
4 bye

.out 文件会立即打印出单词的计数:

1 tail -f log/flink-*-jobmanager-*.out
2 (lorem,1)
3 (ipsum,1)
4 (ipsum,2)
5 (ipsum,3)
6 (ipsum,4)
7 (bye,1)

要停止 Flink,只需要运行:

1 $ 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

访问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 的内存。

本博客文章除特别声明,全部都是原创!
尊重原创,转载请注明: 转载自
本文链接: 


猜你喜欢
1、
2、
3、
4、
5、





以上是关于Flink快速上手(QuickStart)的主要内容,如果未能解决你的问题,请参考以下文章

Apache Flink从入门到放弃——快速上手(Java版)

Apache Flink从入门到放弃——快速上手(Java版)

Flink快速上手

Flink快速上手之wordCount(java)

Flink快速上手之wordCount(java)

Flink quickstart