博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flink Mac本地安装、运行
阅读量:4113 次
发布时间:2019-05-25

本文共 10011 字,大约阅读时间需要 33 分钟。

目录

 


一、flink本地安装

先看下是否有java,不过没有也没事,用的是open-jdk,命令如下:

#1、查看java版本java -version#2、安装flinkbrew install apache-flink#3、查看flink版本flink --version

 

 

二、启动flink

cd /usr/local/Cellar/apache-flink/1.12.1/libexec/binsh start-cluster.sh

然后打开ui页面: 

三、运行demo

1、在安装目录下有测试jar,可以直接运行。

cd /usr/local/Cellar/apache-flink/1.12.1/libexec/examples/streamingflink run WordCount.jarcd ../../logtail flink-*-taskexecutor*#结果(nymph,1)(in,3)(thy,1)(orisons,1)(be,4)(all,2)(my,1)(sins,1)(remember,1)(d,4)

2、也可以使用源码中的wordcount代码,自己打包,运行,更能贴近真实开发场景。

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *    http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.flink.streaming.examples.wordcount;import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.api.java.utils.MultipleParameterTool;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.streaming.examples.wordcount.util.WordCountData;import org.apache.flink.util.Collector;import org.apache.flink.util.Preconditions;/** * Implements the "WordCount" program that computes a simple word occurrence histogram over text * files in a streaming fashion. * * 

The input is a plain text file with lines separated by newline characters. * *

Usage: WordCount --input <path> --output <path>

* If no parameters are provided, the program is run with default data from {@link WordCountData}. * *

This example shows how to: * *

    *
  • write a simple Flink Streaming program, *
  • use tuple data types, *
  • write and use user-defined functions. *
*/public class WordCount { // ************************************************************************* // PROGRAM // ************************************************************************* public static void main(String[] args) throws Exception { // Checking input parameters final MultipleParameterTool params = MultipleParameterTool.fromArgs(args); // set up the execution environment final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); // make parameters available in the web interface env.getConfig().setGlobalJobParameters(params); // get input data DataStream
text = null; if (params.has("input")) { // union all the inputs from text files for (String input : params.getMultiParameterRequired("input")) { if (text == null) { text = env.readTextFile(input); } else { text = text.union(env.readTextFile(input)); } } Preconditions.checkNotNull(text, "Input DataStream should not be null."); } else { System.out.println("Executing WordCount example with default input data set."); System.out.println("Use --input to specify file input."); // get default test text data text = env.fromElements(WordCountData.WORDS); } DataStream
> counts = // split up the lines in pairs (2-tuples) containing: (word,1) text.flatMap(new Tokenizer()) // group by the tuple field "0" and sum up tuple field "1" .keyBy(value -> value.f0) .sum(1); // emit result if (params.has("output")) { counts.writeAsText(params.get("output")); } else { System.out.println("Printing result to stdout. Use --output to specify output path."); counts.print(); } // execute program env.execute("Streaming WordCount"); } // ************************************************************************* // USER FUNCTIONS // ************************************************************************* /** * Implements the string tokenizer that splits sentences into words as a user-defined * FlatMapFunction. The function takes a line (String) and splits it into multiple pairs in the * form of "(word,1)" ({@code Tuple2
}). */ public static final class Tokenizer implements FlatMapFunction
> { @Override public void flatMap(String value, Collector
> out) { // normalize and split the line String[] tokens = value.toLowerCase().split("\\W+"); // emit the pairs for (String token : tokens) { if (token.length() > 0) { out.collect(new Tuple2<>(token, 1)); } } } }}
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License.  You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.flink.streaming.examples.wordcount.util;/** * Provides the default data sets used for the WordCount example program. The default data sets are * used, if no parameters are given to the program. */public class WordCountData {    public static final String[] WORDS =            new String[] {                "To be, or not to be,--that is the question:--",                "Whether 'tis nobler in the mind to suffer",                "The slings and arrows of outrageous fortune",                "Or to take arms against a sea of troubles,",                "And by opposing end them?--To die,--to sleep,--",                "No more; and by a sleep to say we end",                "The heartache, and the thousand natural shocks",                "That flesh is heir to,--'tis a consummation",                "Devoutly to be wish'd. To die,--to sleep;--",                "To sleep! perchance to dream:--ay, there's the rub;",                "For in that sleep of death what dreams may come,",                "When we have shuffled off this mortal coil,",                "Must give us pause: there's the respect",                "That makes calamity of so long life;",                "For who would bear the whips and scorns of time,",                "The oppressor's wrong, the proud man's contumely,",                "The pangs of despis'd love, the law's delay,",                "The insolence of office, and the spurns",                "That patient merit of the unworthy takes,",                "When he himself might his quietus make",                "With a bare bodkin? who would these fardels bear,",                "To grunt and sweat under a weary life,",                "But that the dread of something after death,--",                "The undiscover'd country, from whose bourn",                "No traveller returns,--puzzles the will,",                "And makes us rather bear those ills we have",                "Than fly to others that we know not of?",                "Thus conscience does make cowards of us all;",                "And thus the native hue of resolution",                "Is sicklied o'er with the pale cast of thought;",                "And enterprises of great pith and moment,",                "With this regard, their currents turn awry,",                "And lose the name of action.--Soft you now!",                "The fair Ophelia!--Nymph, in thy orisons",                "Be all my sins remember'd."            };}
4.0.0
org.example
flink-demo
1.0-SNAPSHOT
8
8
org.apache.flink
flink-streaming-java_2.12
1.12.1
provided
maven-clean-plugin
auto-clean
initialize
clean
maven-compiler-plugin
8
8
-Xlint:unchecked
-Xlint:deprecation
org.apache.maven.plugins
maven-shade-plugin
true
*:*
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA
package
shade
com.flinkdemo.wordcount.WordCount
flink run flink-demo-1.0-SNAPSHOT.jar

 

3、停止任务

(1)在ui右上角停止

(2)通过命令停止

flink listflink cancel 任务id

 

参考:

转载地址:http://jdrsi.baihongyu.com/

你可能感兴趣的文章
人类始终无法抗拒的十种心理
查看>>
教你如何做面霸--面试题目及考察要点
查看>>
通过这些小细节看清你身边的人
查看>>
要么让自己痛苦,要么让自己强大
查看>>
六十秒快速乐观法
查看>>
GCD 集中与iOS的多核编程和内存管理
查看>>
iOS常用加密方法(aes、md5、base64)
查看>>
Grad Central Dispatch
查看>>
NSValue包装结构体,存取于NSArray中
查看>>
世界排名前十的电影
查看>>
iphone开发中的一些小技巧
查看>>
iOS编程安全之路-RSA签名与验签
查看>>
<iOS>关于viewWithTag的一点说明
查看>>
<iOS>关于自定义description的一点用法
查看>>
Unix 命令,常用到的
查看>>
Linux操作系统文件系统基础知识详解
查看>>
部分常用到的SQLite语句
查看>>
堆和栈的区别
查看>>
当异常出现时
查看>>
<iOS>iPhone 应用里实现截屏功能的代码
查看>>