zoukankan      html  css  js  c++  java
  • Flink本地安装和创建Flink应用

    本篇文章首发于头条号Flink本地安装和创建Flink应用,欢迎关注我的头条号和微信公众号“大数据技术和人工智能”(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的CSDN博客


    本篇介绍一下Flink本地环境搭建和创建Flink应用。

    本地安装

    Flink可以在Linux、Mac OS X和Windows上运行,要求安装Java 8.x。

    java -version
    java version "1.8.0_161"
    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
    
    #从官网下载页面 http://flink.apache.org/downloads.html 下载Flink
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.8.0/flink-1.8.0-bin-scala_2.11.tgz
    tar xzf flink-1.8.0-bin-scala_2.11.tgz
    cd flink-1.8.0
    #启动本地Flink群集
    ./bin/start-cluster.sh
    #停止本地Flink群集
    #./bin/stop-cluster.sh
    

    启动成功后可以打开http://127.0.0.1:8081看到Flink的web UI,如下图所示。

    本地安装也可以通过Flink源码构建的方式,具体操作可以参考Flink源码分析-源码构建

    运行示例

    使用nc命令监听指定端口。

    nc -l 9002
    #然后随便输入点东西,比如像下面这样
    #这些东西在提交SocketWindowWordCount Job之前或之后输入都是可以的
    hello world
    word count
    hi
    flink
    ha ha
    

    运行Flink测试example,这里用Flink WordCount Job来测试一下。

    #在源码目录下执行,指定9002端口,这个端口要和刚刚nc命令监听的端口一致
    ./build-target/bin/flink run ./build-target/examples/streaming/SocketWindowWordCount.jar --port 9002
    

    查看SocketWindowWordCount Job的输出。

    #在源码目录下执行
    tail -100f ./build-target/log/flink-*-taskexecutor-0-*.out
    #执行后输出如下
    hello : 1
    world : 1
    word : 1
    count : 1
    hi : 1
    flink : 1
    ha : 2
    
    

    也可以在Flink web UI里查看输出,如下图所示。

    创建项目

    Flink可以使用Maven和Gradle来构建,这里只介绍使用Maven构建,要求使用Maven 3.x和Java 8.x。

    1. 使用Maven创建
    #使用Maven创建
    mvn archetype:generate                              
      -DarchetypeGroupId=org.apache.flink               
      -DarchetypeArtifactId=flink-quickstart-java       
      -DarchetypeVersion=1.8.0                          
      -DgroupId=flink-demo                              
      -DartifactId=flink-demo                           
      -Dversion=0.1                                     
      -Dpackage=myflink                                 
      -DinteractiveMode=false
    

    如果没有指定groupIdartifactIdversionpackage,在创建的过程中会提示定义这几个参数的值并确认,如下图所示。

    1. 使用官方提供的快速入门脚本创建
    #使用官方提供的快速入门脚本创建
    curl https://flink.apache.org/q/quickstart.sh | bash -s 1.8.0
    
    1. 使用IntelliJ IDEA等集成开发环境新建

    创建好的项目结构如下

    tree myflink/
    .
    ├── pom.xml
    └── src
        └── main
            ├── java
            │   └── myflink
            │       ├── BatchJob.java
            │       └── StreamingJob.java
            └── resources
                └── log4j.properties
    

    接下来就可以开始开心愉快的coding啦_

  • 相关阅读:
    过河卒(Noip2002)
    暑假学习日记2013/7/18
    暑假学习日记2013/7/16
    iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G) by徐文棋
    隐藏键盘的N种方法
    cell重用
    关于viewControllers之间的传值方式
    iOS开发之工欲善其事,必先利其器
    NSLog输出格式及随机数
    iOS团队代码规范
  • 原文地址:https://www.cnblogs.com/cjblogs/p/10885524.html
Copyright © 2011-2022 走看看