如何处理可能存在的“多KDC认证冲突”?

EasyStream实时任务支持用户添加自定义认证配置,以访问带认证的目标(可以是源端也可以是目标端,如kafka、hive、hdfs等),但配置中需要注意以下事项,以保证用户提交任务的配置和任务依赖的配置保持一致,避免运行时冲突,按具体场景可细分为以下两项:

  1. 如果运行任务的hadoop集群带kerberos认证,也即提交时已带有认证信息,则任务中可不用再添加自定义认证配置,即可读写当前集群(如果要添加也必须使用同一套配置)

    1. 如果任务需读写不同集群,则只适用于目标集群不带kerberos认证的情况(此时不需要添加额外认证信息)
    2. 如果任务读写当前集群,但需要使用不同的用户进行读写,则建议通过proxy user的方式进行:参考社区文档
  2. 如果运行任务的hadoop集群不带kerberos认证,但任务中需要访问带认证的源端或目标端,此时添加目标端认证配置即可。

正常配置数据源和代码,语法提示 'table.exec.source.ded-events-duplicate' is enabled which requires the changelog sources to define a PRIMARY KEY 怎么处理?

问题主要集中在1.12和1.14版本中,由于任务中数据表可能采用 canal-json 序列化方式,此时语法引擎将其解析为CDC数据源,因此要求主键。

解决方法

手动在代码或在配置项中加入 set 'table.exec.source.cdc-events-duplicate' = 'false';