开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink是这样设置提交参数的吗?

1b84b21ccdd2308e0f1e13cf608dd73a.png
Flink是这样设置提交参数的吗?

展开
收起
2401。 2023-09-17 21:18:27 162 0
4 条回答
写回答
取消 提交回答
  • 是的。参数信息长度不要大于1024,且不建议用来传复杂参数,复杂参数指包括了换行、空格或者其他特殊字符的参数。如果您需要传入复杂参数,请使用附加依赖文件来传输。

    image.png

    ——参考来源于阿里云官方文档

    2024-01-24 11:46:26
    赞同 1 展开评论 打赏
  • 是的,这是正确的方式将参数传递给 Flink 应用程序。在这个例子中,您可以看到如何通过添加额外的参数 (--mysql-conf) 来向应用程序提供 MySQL 数据库的相关信息 (如主机名、用户名等)。

    当您部署 Flink 应用程序时,可以将其打包为 JAR 或者 Docker 容器镜像,并通过 Kubernetes API 将它们部署到集群上。您可以定义一个 YAML 格式的部署描述符文件,其中包含了关于您的应用程序的信息以及所需的资源分配和其他配置选项。

    例如,如果您想要创建一个新的 Deployment 对象,可以在 Kubernetes 集群中的 /etc/kubernetes/deployment.yaml 文件中编写如下内容:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-flink-app-deployment
    spec:
      replicas: 1 # 指定副本数量
      selector:
        matchLabels:
          app: my-flink-app
      template:
        metadata:
          labels:
            app: my-flink-app
        spec:
          containers:
          - image: <your-image>
            command: ["java", "-jar", "/usr/app/my-flink-job.jar"]
            env:
              - name: MYSQL_HOST
                valueFrom:
                  secretKeyRef:
                    name: mysql-secret
                    key: host
              - name: MYSQL_USERNAME
                valueFrom:
                  secretKeyRef:
                    name: mysql-secret
                    key: username
              - name: MYSQL_PASSWORD
                valueFrom:
                  secretKeyRef:
                    name: mysql-secret
                    key: password
              - name: MYSQL_DATABASE_NAME
                value: "my-mysql-db"
    

    然后,您可以使用 kubectl 命令行工具来部署此 Deployment 到您的 Kubernetes 集群中:

    kubectl apply -f deployment.yaml
    

    现在,Kubernetes 就会在您的集群中为您创建一个名为“my-flink-app”的 Deployment 对象,并按照您提供的参数自动调整容器内的 Java 应用程序。

    2024-01-15 14:14:42
    赞同 展开评论 打赏
  • 某政企事业单位运维工程师,主要从事系统运维及大数据开发工作,多次获得阿里云、华为云、腾讯云征文比赛一二等奖;CTF选手,白帽,全国交通行业网络安全大赛二等奖,全国数信杯数据安全大赛银奖,手握多张EDU、CNVD、CNNVD证书

    是的,图中的配置方式是将MySQL连接参数传递给了Flink SQL引擎。具体来说,mysql-sync-database是一个入口点(Entry Point),它的主方法接受一系列命令行选项作为参数。这些选项用于告诉Flink如何连接到MySQL数据库以及读取什么表等。

    这里的--database test_db是指定要连接的数据库名字;--username和--password分别是要使用的用户名和密码;--hostname则是MySQL服务器的主机地址;--including-tables "tbl1|test."则说明我们想要读取的名字前缀为'test.'的表。

    至于--entry-point com.selectdb.flink.tools.cdc.CdcTools,它是指定要使用的入口点类。在这个例子中,入口点类是com.selectdb.flink.tools.cdc.CdcTools,这是一个实现了org.apache.flink.api.common.functions.RuntimeFunction接口的类。

    2024-01-15 10:58:18
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    你提供的参数看起来像是用于提交Flink任务的命令行参数。不过,其中有些参数的格式可能需要调整一下,以符合Flink的参数格式。以下是一个可能的命令行参数设置示例:

    ./bin/flink run -c com.selectdb.flink.tools.cdc.CdcTools -jar /flink-selectdb-connector-1.17-2.1.0-SNAPSHOT.jar --database test db --mysql-conf.hostname= --mysql-conf.username= --mysql-conf.password=1 --mysql-conf.database-name=mysql db --including-tables "tbl1ltest.*" 149500400040

    注意:这个示例假设你的Flink安装路径是/bin/flink,以及你的JAR文件路径是/flink-selectdb-connector-1.17-2.1.0-SNAPSHOT.jar。你需要根据你的实际环境进行相应的修改。

    2024-01-12 22:14:11
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载