美文网首页
[flink]flink入门:安装和使用样例demo

[flink]flink入门:安装和使用样例demo

作者: Wayne维基 | 来源:发表于2019-11-20 12:11 被阅读0次

    安装环境准备

    • mac
    • java 8以上
    • idea

    安装步骤

    • 官网下载:https://flink.apache.org/downloads.html

    • 下载后解压进入目录

    • flink-1.8.2/bin目录下运行启动脚本:start-cluster.sh

        • image.png
    • 查看是否启动成功
      浏览器输入 :http://localhost:8081

        • image.png
    • 如果有问题,可以查看运行日志:log/

      ps:mac还可以尝试用命令安装

      brew install apache-flink
      

    demo

    1 利用mvn创建一个工程

      mvn archetype:generate                               \
         -DarchetypeGroupId=org.apache.flink              \
       -DarchetypeArtifactId=flink-quickstart-scala     \
       -DarchetypeVersion=1.7.2
    

    2 项目构建过程中需要输入groupId,artifactId,version和package
    构建后目录结构如下:

      • image.png

    3 本教程中的代码
    https://github.com/WayneZeng/springcloud-demo/tree/master/flink/flink-demo

    4 idea中运行java程序

    5 控制台启动一个通讯进程,利用nc命令输入字符串
    nc命令简介
    )

    image.png 6 可以看到java程序的输出 image.png

    7 以上是单机方式运行,用集群的方式运行如下:

    • maven打包java工程生成jar
    • 控制台输入jps,看下前面启动的TaskManagerRunner还在,不在的话回到前面运行一次:start-cluster.sh
    • /bin/flink run xxxxx.jar --port 9000
    • 控制台继续输入可以去web页面看到job的运行情况
        • image.png

    常见错误:

    1 org.apache.flink.api.common.functions.InvalidTypesException

    Flink 类型提取依赖于继承等机制,而 lambda 函数比较特殊,它是匿名的,也没有与之相关的类,所以其类型信息较难获取。Eclipse 的 JDT 编译器会把 lambda 函数的泛型签名等信息写入编译后的字节码中,而对于 javac 等常见的其他编译器,则不会这样做,因而 Flink 就无法获取具体类型信息了。
    参考官方文档说明
    解决方式:
    调用return显式指定类型

    .returns(WordWithCount.class)
    
    2 This type (GenericType<org.myorg.quickstart.SocketWindowWordCount.WordWithCount>) cannot be used as key.

    自己定义一个JAVABEAN的时候,不要忘记写无参构造参数


    image.png

    相关文章

      网友评论

          本文标题:[flink]flink入门:安装和使用样例demo

          本文链接:https://www.haomeiwen.com/subject/lpugictx.html