伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

来源:本站原创 浏览:110次 时间:2022-03-11


准备工作

1、安装查看 Java 的版本号,推荐使用 Java 8。

安装 Flink

2、在 Mac OS X 上安装 Flink 是非常方便的。推荐通过 homebrew 来安装。

1brew install apache-flink

3、检查安装:

1flink --version

结果:

1Version: 1.6.0, Commit ID: ff472b4

4、启动 flink

1zhisheng@zhisheng  /usr/local/Cellar/apache-flink/1.6.0/libexec/bin  ./start-cluster.sh
2Starting cluster.
3Starting standalonesession daemon on host zhisheng.
4Starting taskexecutor daemon on host zhisheng.

接着就可以进入 web 页面(http://localhost:8081/) 查看

demo

1、新建一个 maven 项目

创建一个 SocketTextStreamWordCount 文件,加入以下代码:

 1package com.zhisheng.flink;
2
3import org.apache.flink.api.common.functions.FlatMapFunction;
4import org.apache.flink.api.java.tuple.Tuple2;
5import org.apache.flink.streaming.api.datastream.DataStreamSource;
6import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
7import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
8import org.apache.flink.util.Collector;
9
10/**
11 * Created by zhisheng_tian on 2018/9/18
12 */
13public class SocketTextStreamWordCount {
14    public static void main(String[] args) throws Exception {
15        //参数检查
16        if (args.length != 2) {
17            System.err.println("USAGE:\nSocketTextStreamWordCount <hostname> <port>");
18            return;
19        }
20
21        String hostname = args[0];
22        Integer port = Integer.parseInt(args[1]);
23
24
25        // set up the streaming execution environment
26        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
27
28        //获取数据
29        DataStreamSource<String> stream = env.socketTextStream(hostname, port);
30
31        //计数
32        SingleOutputStreamOperator<Tuple2<String, Integer>> sum = stream.flatMap(new LineSplitter())
33                .keyBy(0)
34                .sum(1);
35
36        sum.print();
37
38        env.execute("Java WordCount from SocketTextStream Example");
39    }
40
41    public static final class LineSplitter implements FlatMapFunction<String, Tuple2<String, Integer>> {
42        @Override
43        public void flatMap(String s, Collector<Tuple2<String, Integer>> collector) {
44            String[] tokens = s.toLowerCase().split("\\W+");
45
46            for (String token: tokens) {
47                if (token.length() > 0) {
48                    collector.collect(new Tuple2<String, Integer>(token, 1));
49                }
50            }
51        }
52    }
53}

接着进入工程目录,使用以下命令打包。

1mvn clean package -Dmaven.test.skip=true

然后我们开启监听 9000 端口:

1nc -l 9000  

最后进入 flink 安装目录 bin 下执行以下命令跑程序:

1flink run -c com.zhisheng.flink.SocketTextStreamWordCount /Users/zhisheng/IdeaProjects/flink/word-count/target/original-word-count-1.0-SNAPSHOT.jar 127.0.0.1 9000

注意换成你自己项目的路径。

执行完上述命令后,我们可以在 webUI 中看到正在运行的程序:

我们可以在 nc 监听端口中输入 text,比如:

然后我们通过 tail 命令看一下输出的 log 文件,来观察统计结果。进入目录 apache-flink/1.6.0/libexec/log,执行以下命令:

1tail -f flink-zhisheng-taskexecutor-0-zhisheng.out

注意:切换成你自己的路径和查看自己的目录。

总结

本文描述了如何在 Mac 电脑上安装 Flink,及运行它。接着通过一个简单的 Flink 程序来介绍如何构建及运行Flink 程序。

关注我

转载请注明地址:http://www.54tianzhisheng.cn/2018/09/18/flink-install

另外我自己整理了些 Flink 的学习资料,目前已经全部放到微信公众号了。你可以加我的微信:zhisheng_tian,然后回复关键字:Flink 即可无条件获取到。

相关文章

1、《从0到1学习Flink》—— Apache Flink 介绍

2、《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

3、《从0到1学习Flink》—— Flink 配置文件详解

4、��֢��ҩ,�еķ�ʸ《从0到1学习Flink》—— Data Source 介绍

5、《从0到1学习Flink》—— 如何自定义 Data Source ?

6、《从0到1学习Flink》—— Data Sink 介绍

7、《从0到1学习Flink》—— 如何自定义 Data Sink ?


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net