更新时间:2024-08-03 GMT+08:00

导入并配置Flink SpringBoot样例工程

该章节内容适用于MRS 3.3.0及之后版本。

操作场景

为了运行FusionInsight MRS产品Flink组件的SpringBoot接口样例代码,需要完成下面的操作。当前支持GaussDB(DWS)样例工程。

该章节以在Linux环境下开发GaussDB(DWS) SpringBoot方式连接Flink服务的应用程序为例。

执行GaussDB(DWS)样例需提前登录GaussDB(DWS)所在节点创建用于接受数据的空表“test_lzh1”,创建命令如下:

create table test_lzh1 (id integer not null);

操作步骤

  1. 安装包含Flink服务的客户端。

    以在集群内节点安装客户端为例:

    1. 登录Manager,在“主页”单击“下载客户端”,弹出“下载集群客户端”信息提示框。
    2. 选择“完整客户端”,选择与待安装节点架构相匹配的平台类型,勾选“仅保存到如下路径”,单击“确定”开始生成客户端文件。

      文件生成后默认保存在主管理节点“/tmp/FusionInsight-Client”。

      客户端软件包名称格式为:“FusionInsight_Cluster_集群ID_Services_Client.tar”。本章节仅以集群ID为1进行介绍,请以实际集群ID为准。

    3. 以客户端安装用户登录将要安装客户端的服务器。
    4. 进入安装包所在目录,执行如下命令解压软件包。

      cd /tmp/FusionInsight-Client

      tar -xvf FusionInsight_Cluster_1_Services_Client.tar

    5. 执行如下命令校验解压得到的文件,检查回显信息与sha256文件里面的内容是否一致,例如:

      sha256sum -c FusionInsight_Cluster_1_Services_ClientConfig.tar.sha256

    6. 解压获取的安装文件。

      tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar

    7. 进入安装包所在目录,执行如下命令安装客户端到指定目录(绝对路径),例如安装到“/opt/hadoopclient”目录。

      cd /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig

      ./install.sh /opt/hadoopclient

    8. 配置安全认证及加密。可参考“组件操作指南”的“从零开始使用Flink”。

  2. 参考获取MRS应用开发样例工程,获取样例代码解压目录中“src\springboot\flink-examples”目录下的样例工程文件夹“flink-dws-sink-example”。
  3. 导入样例工程到IntelliJ IDEA开发环境中。

    1. 在IntelliJ IDEA的菜单栏中,选择“File > Open...”,显示“Open File or Project”对话框。
    2. 在弹出窗口选择文件夹“flink-dws-sink-example”,单击“OK”。

  4. 设置IntelliJ IDEA的文本文件编码格式,解决乱码显示问题。

    1. 在IntelliJ IDEA的菜单栏中,选择“File > Settings”,弹出“Settings”窗口。
    2. 在左边导航上选择“Editor > File Encodings”,在“Project Encoding”和“Global Encoding”区域,设置参数值为“UTF-8”,单击“Apply”后,单击“OK”,如图1所示。
      图1 设置IntelliJ IDEA的编码格式

  5. 设置工程JDK。

    1. 在IntelliJ IDEA的菜单栏中,选择“File > Settings”,弹出“Settings”窗口。
    2. 选择“Build, Execution, Deployment > Compiler > Java Compiler”,在“Project bytecode version”右侧的下拉菜单中,选择“8”。修改“flink-dws-sink-example”的“Target bytecode version”为“8”。

    3. 单击“Apply”后单击“OK”。
    4. 在IntelliJ IDEA的菜单栏中,选择“File > Project Structure...”,弹出“Project Structure”窗口。
    5. 选择“SDKs”,单击加号选择“JDK”。

    6. 在弹出的“Select Home Directory for JDK”窗口,选择对应的JDK目录,然后单击“OK”。
    7. 完成JDK选择后,单击“Apply”。
    8. 选择“Project”,在“SDK”的下拉菜单中选择在“SDKs”中添加的JDK,在“language level”下的下拉菜单中选择“8 - Lambdas, type annotations etc.”。

    9. 单击“Apply”。
    10. 选择“Modules”,在“Source”页面,修改“Language level”为“8 - Lambdas, type annotations etc.”。

      在“Dependencies”页面,修改“Module SDK”为“SDKs”中添加的JDK。

    11. 单击“Apply”,单击“OK”。

  6. 配置Maven。

    1. 参考配置华为开源镜像仓章节描述,增加开源镜像仓地址等配置信息到本地Maven的“setting.xml”配置文件。
    2. 修改完成后,在IntelliJ IDEA选择“File > Settings > Build, Execution, Deployment > Build Tools > Maven”,勾选“User settings file”右侧的“Override”,并修改“User settings file”的值为当前“settings.xml”文件放置目录,确保该目录为“<本地Maven安装目录>\conf\settings.xml”。
      图2 “settings.xml”文件放置目录
    3. 单击“Maven home directory”右侧的下拉菜单,选择Maven的安装路径。
    4. 单击“Apply”并单击“OK”。

  7. 在“src\main\resources”路径下找到“application.properties”配置文件,在该文件中新增以下内容:

    • 执行GaussDB(DWS)样例
      spring.datasource.dws.url=jdbc:postgresql://dws节点IP地址:8000/postgres
      spring.datasource.dws.username=dbadmin
      spring.datasource.dws.password=dbadmin的密码
      spring.datasource.dws.driver=org.postgresql.Driver