connect flink_Flink 安装以及运行一个小例子

Flink 是什么

官网:[Apache Flink: 数据流上的有状态计算](Apache Flink: 数据流上的有状态计算

eb1d12c6ca6549f5325aae29af03ead4.png

本地搭建

我们先本地搭建一个 Flink 环境,跑一下代码。<br /><br /><br />Flink 可以运行在 LinuxMac OS XWindows 系统上面。很简单,只需要你的系统上安装了 JDK 1.8 即可。

搭建步骤如下

Mac

1.检查 JDK 版本,打开 terminal 输入 `java --vetrsion` ,输出如下信息则确认环境是 JDK 1.8 的。

java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

2.对于 Mac 用户,可以使用 [homebrew](Homebrew) 来直接安装。在 terminal 输入

$ brew install apache-flink

安装完毕之后!

45aa6d6edea7015f53254c6aa8360820.png

验证一下:

$ flink --version
Version: 1.7.1, Commit ID: 89eafb4

启动 Flink,在 Mac 下安装之后的路径(默认)为 /usr/local/Cellar/apache-flink/1.7.1

cd 进如该目录之后,执行

./libexec/bin/start-cluster.sh 

然后打开浏览器,输入 localhost:8081 查看。我们可以看到下图中有一个 Task Manager 实例。

d71c994a716f7a7fb479ca2fb83a656c.png

看来这个本地单机版 Flink 已经跑起来了。

Linux

我们去官方的下载页面:[下载页面](Apache Flink: Downloads)

b7016309e06b0cee36497848b5bb3e1b.png

运行一个例子

接下来我们可以试着跑一个例子,这个代码我们先不用管是如何写出来的。在安装路径下面有一个目录:/usr/local/Cellar/apache-flink/1.7.1/libexec/examples 下面包含一些官方打包好的代码。我们进入 Streaming 目录下面会的发现几个 jar 包。我们接下里运行一个单词统计的例子。

第一步:我们重新打开一个 terminal,执行 `nc -l 9000` ,启动一个监听端口,用于模拟我们的数据流入口。<br />第二步:cd /usr/local/Cellar/apache-flink/1.7.1/bin 之后,执行如下命令:

flink run ../libexec/examples/streaming/SocketWindowWordCount.jar --port 900

如果出现如下错误,很大概率是第一步和第二步的顺序颠倒了,先要保证 9000 端口已经被监听了。

Caused by: java.net.ConnectException: Connection refused (Connection refused)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at org.apache.flink.streaming.api.functions.source.SocketTextStreamFunction.run(SocketTextStreamFunction.java:96)
	at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:94)
	at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:58)
	at org.apache.flink.streaming.runtime.tasks.SourceStreamTask.run(SourceStreamTask.java:99)
	at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:300)
	at org.apache.flink.runtime.taskmanager.Task.run(Task.java:704)
	at java.lang.Thread.run(Thread.java:748)

下图是正常的情况,左边是 flink 连接了 9000 端口在等待输入。后边是我们模拟数据流的输入。

49efa7a5beb6533f699942dff47f62f3.png

我们也可以在 web 界面上查看这个 Job 的信息,访问 localhost:8081。

79caeed35b692ba2031fd9929511270f.png

我们在右边那个窗口输入一些单词。比如这样:

089489f90912c207a9222a68e97e59fb.png

这个 flink 任务一直在运行,我们在哪里可以看到输出结果呢?进入这个目录下 /usr/local/Cellar/apache-flink/1.7.1/libexec/log 你找到 .out 结尾的文件。然后执行如下命令,实时监测该文件:

tail -f log/flink-*-taskexecutor-*.out

你会看到下面的输出:

bcc50693a49d1d42dd5e45395c733118.png

最后关闭集群。

./bin/stop-cluster.sh

更多大数据技术,欢迎关注「大数据进击之路」。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值