更新时间:2024-12-06 GMT+08:00

配置Flink通过IAM委托访问OBS

参考配置MRS集群通过IAM委托对接OBS完成存算分离集群配置后,即可在Flink客户端访问OBS并行文件系统并运行作业。

Flink对接OBS

  1. 使用安装客户端的用户登录Flink客户端安装节点。
  2. 执行如下命令初始化环境变量。

    source 客户端安装目录/bigdata_env

  3. 配置好Flink客户端,具体配置参考从零开始使用Flink的步骤1至步骤4。
  4. 启动session。

    • 普通集群(未开启Kerberos认证)

      yarn-session.sh -nm "session-name" -d

    • 安全集群(开启Kerberos认证)
      • “flink.keystore”“flink.truststore”文件路径为相对路径时:

        在“ssl”的同级目录下执行如下命令启动session,其中“ssl/”是相对路径。

        cd 客户端安装目录/Flink/flink/conf/

        yarn-session.sh -t ssl/ -nm "session-name" -d

        ...
        Cluster started: Yarn cluster with application id application_1624937999496_0017
        JobManager Web Interface: http://192.168.1.150:32261
      • “flink.keystore”“flink.truststore”文件路径为绝对路径时:

        执行如下命令启动session。

        cd 客户端安装目录/Flink/flink/conf/

        yarn-session.sh -nm "session-name" -d

  5. 如果是安全集群,使用以下命令进行用户认证,如果当前集群未启用Kerberos认证,则无需执行此命令。

    kinit 用户名

  6. 在Flink命令行显式添加要访问的OBS文件系统。

    echo -e 'test' >/tmp/test

    hdfs dfs -mkdir -p obs://并行文件系统名称/tmp/flinkjob

    hdfs dfs -put /tmp/test/ obs://并行文件系统名称/tmp/flinkjob/

    flink run 客户端安装目录/Flink/flink/examples/batch/WordCount.jar -input obs://并行文件系统名称/tmp/flinkjob/test -output obs://并行文件系统名称/tmp/flinkjob/output

由于Flink作业是On Yarn运行,在配置Flink对接OBS文件系统之前需要确保Yarn对接OBS文件系统功能是正常的。