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

大佬,flink集成kerberos需要配这个么,我-D加上这些配置也不行

1157问.png

展开
收起
游客3oewgrzrf6o5c 2022-07-07 18:07:54 566 0
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    是的,Flink集成Kerberos需要进行一些配置。您可以通过以下步骤进行配置:

    创建Kerberos principal和keytab文件
    首先,您需要在Kerberos服务器上创建一个Kerberos principal和对应的keytab文件。这可以通过使用kadmin命令来完成。例如,以下命令将创建一个名为flink的principal和对应的keytab文件:

    kadmin
    Copy code
    配置Flink
    在Flink中,您需要将Kerberos principal和keytab文件路径传递给Flink。您可以通过在启动Flink时使用-D参数来实现这一点。例如,以下命令将启动Flink,并使用Kerberos认证:

    Djava.security.auth.login.config=/path/to/flink-kerberos-config.xml -jar flink run -c org.apache.flink.client.cli.CliFrontend ./flink-dist/bin/flink run -m yarn-cluster -yn 2 -ys 2 -yjm 1024 -ytm 1024 -c MyJob /path/to/my-job.jar
    

    其中,/path/to/flink-kerberos-config.xml是您的Kerberos配置文件,/path/to/my-job.jar是您要运行的Flink作业的JAR文件。

    Kerberos配置文件
    在Kerberos配置文件中,您需要指定Kerberos principal、keytab文件路径、服务名称和KDC服务器。例如,以下是一个简单的Kerberos配置文件示例:

    <configuration>
      <property name="java.security.krb5.conf" value="/path/to/krb5.conf" />
      <property name="flink.security.auth.login.config" value="/path/to/flink-kerberos-config.xml" />
      <property name="yarn.resourcemanager.address" value="http://localhost:8088" />
      <property name="yarn.resourcemanager.ha.enabled" value="false" />
      <property name="yarn.resourcemanager.webapp.address" value="http://localhost:8080" />
      <property name="yarn.nodemanager.address" value="localhost:8050" />
      <property name="yarn.nodemanager.vmem.checkpoint.size" value="200000000" />
      <property name="yarn.nodemanager.resource.memory.mbytes" value="2048" />
      <property name="yarn.nodemanager.vmem.bytes.per.checkpoint" value="20000000" />
      <property name="yarn.scheduler.capacity-percent" value="100" />
      <property name="yarn.scheduler.capacity-min-percent" value="0" />
      <property name="yarn.scheduler.capacity-max-percent" value="100" />
      <property name="yarn.scheduler.fair-allocation-policy" value="FAIR" />
      <property name="yarn.scheduler.min-vcores" value="1" />
      <property name="yarn.scheduler.max-vcores" value="1" />
      <property name="yarn.scheduler.queue.name" value="default" />
      <property name="yarn.application.classpath" value="/path/to/my-job.jar:/path/to/flink-dist/lib/*" />
      <property name="yarn.application.queue" value="default" />
      <property name="yarn.application.name" value="MyJob" />
      <property name="yarn.application.memory" value="2048" />
      <property name="yarn.application.vmem" value="2048" />
      <property name="yarn.nodemanager.resource.memory.bytes.per.checkpoint" value="20000000" />
      <property name="yarn.nodemanager.vmem-checkpoint-size" value="200000000" />
      <property name="yarn.nodemanager.vmem.bytes.per.checkpoint" value="20000000" />
      <property name="yarn.nodemanager.vmem-checkpointing.enabled" value="true" />
      <property name="yarn.nodemanager.vmem-checkpoint.size" value="200000000" />
      <property name="yarn.resourcemanager.address" value="http://localhost:8088" />
      <property name="yarn.resourcemanager.ha.enabled" value="false" />
      <property name="yarn.resourcemanager.webapp.address" value="http://localhost:8080" />
      <property name="yarn.resourcemanager.nodemanager.address" value="localhost:8050" />
      <property name="yarn.resourcemanager.scheduler.address" value="localhost:8030" />
      <property name="yarn.resourcemanager.service.enabled" value="true" />
      <property name="yarn.resourcemanager.webapp.address" value="http://localhost:8080" />
      <property name="yarn.resourcemanager.ha.enabled" value="false" />
      <property name="yarn.resourcemanager.nodemanager.address" value="localhost:8050" />
      <property name="yarn.resourcemanager.scheduler.address" value="localhost:8030" />
      <property name="yarn.resourcemanager.service.enabled" value="true" />
      <property name="yarn.resourcemanager.admin.address" value="http://localhost:8081" />
      <property name="yarn.resourcemanager.admin.webapp.address" value="http://localhost:8081" />
      <property name="yarn.resourcemanager.admin.enabled" value="true" />
      <property name="yarn.resourcemanager.job-tracker.address" value="localhost:8041" />
      <property name="yarn.resourcemanager.job-tracker.webapp.address" value="http://localhost:8041" />
      <property name="yarn.resourcemanager.job-tracker.enabled" value="true" />
      <property name="yarn.resourcemanager.job-tracker.http.address" value="http://localhost:8041" />
      <property name="yarn.resourcemanager.job-tracker.http.port" value="8041" />
      <property name="yarn.resourcemanager.job-tracker.webapp.address" value="http://localhost:8041" />
      <property name="yarn.resourcemanager.job-tracker.enabled" value="true" />
      <property name="yarn.resourcemanager.job-tracker.http.address" value="http://localhost:8041" />
      <property name="yarn.resourcemanager.job-tracker.http.port" value="8041" />
    
    2023-08-12 19:43:28
    赞同 展开评论 打赏

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

相关产品

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

    更多
    阿里邮箱—安全高效集成 立即下载
    集成智能接入网关APP:优化企业级移动办公网络 立即下载
    云效助力企业集成安全到DevOps中 立即下载