Cassandra

支持的管道类型:

  •  Data Collector

Cassandra目标端将数据写入Cassandra集群。

配置Cassandra目标端时,可以定义连接信息,并将传入字段映射到Cassandra表中的列。您还可以配置目标是将每个批次作为已记录的批次还是未记录的批次写入Cassandra。您可以禁用批量写入,从而可以使目标端单独写入记录。

您可以配置目标端是否不使用身份验证或使用用户名和密码身份验证来访问Cassandra集群。如果安装了DataStax Enterprise(DSE)Java驱动程序,则可以将目标端配置为使用DSE用户名和密码认证或Kerberos认证。

您也可以为连接启用SSL/TLS。

批次类型

Cassandra目标端可以使用以下批处理类型之一将批处理写入Cassandra集群:

Logged
写入Cassandra的已记录批处理使用Cassandra分布式批处理日志,并且是原子的。这意味着目标端只能将整批记录写入Cassandra。如果批次中的一个或多个记录发生错误,则目标端将使整个批次失败。当批次失败时,所有记录都将发送到阶段以进行错误处理。
Unlogged
写入Cassandra的未记录批次不使用Cassandra分布式批处理日志,并且是非原子的。这意味着目标可以将部分记录记录写入Cassandra。如果批次中的一个或多个记录发生错误,则目标仅将那些失败的记录发送到阶段以进行错误处理。目标将批次中的其余记录写入Cassandra。

默认情况下,目标使用Logged批处理类型。

有关Cassandra分布式批处理日志的更多信息,请参见Cassandra查询语言(CQL)文档

认证方式

将Cassandra目标端配置为使用以下身份验证提供程序之一来访问Cassandra集群:

  • None-不执行身份验证。
  • Username/Password-使用Cassandra用户名和密码验证。
  • Username/Password(DSE)-使用DataStax Enterprise用户名和密码身份验证。要求您安装DSE Java驱动程序。
  • Kerberos(DSE)-使用Kerberos身份验证。要求您安装DSE Java驱动程序。

选择DSE身份验证提供程序之一之前,请安装DSE Java驱动程序版本1.2.4或更高版本。有关兼容性矩阵,请参见Cassandra文档有关安装其他驱动程序的信息,请参阅“安装外部库”。

Kerberos(DSE)身份验证

如果安装DSE Java驱动程序,则可以使用Kerberos身份验证连接到Cassandra群集。使用Kerberos身份验证时,Data Collector 使用Kerberos principal和keytab连接到群集。默认情况下,Data Collector使用启动它的用户帐户进行连接。

Kerberos principal和keytab在Data Collector配置文件$SDC_CONF/sdc.properties中定义。要使用Kerberos身份验证,请在Data Collector配置文件中配置所有Kerberos属性,安装DSE Java驱动程序,然后在Cassandra目标中启用Kerberos(DSE)身份验证。

Cassandra数据类型

由于Cassandra的要求,传入字段的数据类型必须与相应的Cassandra列的数据类型匹配。在适当的时候,在管道中的较早位置使用Field Type Converter处理器来转换数据类型。

有关将Java数据类型转换为Cassandra数据类型的详细信息,请参见Cassandra文档。

Cassandra目标端支持以下Cassandra数据类型:

  • ASCII
  • Bigint
  • Boolean
  • Counter
  • Decimal
  • Double
  • Float
  • Int
  • List
  • Map
  • Text
  • Timestamp
  • Timeuuid
  • Uuid
  • Varchar
  • Varint

目前不支持以下数据类型:

  • Blob
  • Inet
  • Set

配置Cassandra目标端

配置Cassandra目标端,以将数据写入Cassandra集群。
  1. 在“Properties”面板的“General选项卡上,配置以下属性:
    一般属性 描述
    Name 阶段名。
    Description 可选说明。
    Required Fields 必须包含用于将记录传递到阶段的记录的数据的字段。

    提示:您可能包括阶段使用的字段。

    根据为管道配置的错误处理,处理不包括所有必填字段的记录。

    Preconditions 必须评估为TRUE的条件才能使记录进入处理阶段。单击 添加以创建其他前提条件。

    根据为该阶段配置的错误处理,处理不满足所有前提条件的记录。

    On Record Error 该阶段的错误记录处理:

    • Discard-放弃记录。
    • To Error-将记录发送到管道以进行错误处理。
    • Stop Pipeline-停止管道。对集群管道无效。
  2. 在“Cassandra”选项卡上,配置以下属性:
    Cassandra属性 描述
    Cassandra Contact Points Cassandra集群中节点的主机名。使用简单或批量编辑模式,单击添加图标以输入多个主机名以确保连接。
    Cassandra Port Cassandra节点的端口号。
    Authentication Provider 确定用于访问集群的身份验证提供程序:

    • None-不执行身份验证。
    • Username/Password-使用Cassandra用户名和密码验证。
    • Username/Password(DSE)-使用DataStax Enterprise用户名和密码身份验证。要求您安装DSE Java驱动程序。
    • Kerberos(DSE)-使用Kerberos身份验证。要求您安装DSE Java驱动程序。
    Protocol Version 本机协议版本,定义驱动程序和Cassandra之间交换的二进制消息的格式。选择您正在使用的协议版本。

    有关确定协议版本的信息,请参见Cassandra文档。

    Compression 传输级请求和响应的可选压缩类型。
    Enable Batches 启用Cassandra批处理操作。如果未选择,则源端将使用单个语句将记录写入Cassandra。
    Write Timeout 完成写入请求所允许的最长时间(以毫秒为单位)。

    未启用批处理操作时可用。

    Batch Type 要写入Cassandra的批处理类型:

    • Logged
    • Unlogged

    启用批处理操作时可用。

    Max Batch Size 每批写入Cassandra的最大语句数。确保此数字不超过在Cassandra集群中配置的批处理大小。
    Fully-Qualified Table Name 要使用的Cassandra表的名称。使用以下格式输入标准名称: <key space>.<table name>
    Field to Column Mapping 将字段从记录映射到Cassandra列。使用简单或批量编辑模式,单击 添加图标以创建其他字段映射。

    注意:记录字段数据类型必须与Cassandra列的数据类型匹配。
  3. 要使用用户名/密码身份验证,请单击“Credentials选项卡,然后输入用户名和密码。
    提示: 要保护敏感信息(例如用户名和密码),可以使用 运行时资源或凭据存储。
  4. 要使用SSL/TLS,请在“TLS”选项卡上配置以下属性:
    TLS属性 描述
    Use TLS 启用TLS的使用。
    Keystore File 密钥库文件的路径。输入文件的绝对路径或相对于Data Collector资源目录$SDC_RESOURCES的路径。

    有关环境变量的更多信息,请参阅《 Data Collector环境配置》。

    默认情况下,不使用任何密钥库。

    Keystore Type 要使用的密钥库的类型。使用以下类型之一:

    • Java Keystore File (JKS)
    • PKCS #12 (p12 file)

    默认值为Java Keystore File (JKS)。

    Keystore Password 密钥库文件的密码。密码是可选的,但建议使用。

    提示:要保护敏感信息(例如密码),可以使用运行时资源或凭据存储。
    Keystore Key Algorithm 用于管理密钥库的算法。

    默认值为 SunX509

    Truststore File 信任库文件的路径。输入文件的绝对路径或相对于Data Collector资源目录$SDC_RESOURCES的路径。

    有关环境变量的更多信息,请参阅《Data Collector环境配置》。

    默认情况下,不使用任何信任库。

    Truststore Type 要使用的信任库的类型。使用以下类型之一:

    • Java Keystore File (JKS)
    • PKCS #12 (p12 file)

    默认值为Java Keystore File (JKS)。

    Truststore Password 信任库文件的密码。密码是可选的,但建议使用。

    提示:要保护敏感信息(例如密码),可以使用运行时资源或凭据存储。
    Truststore Trust Algorithm 用于管理信任库的算法。

    默认值为SunX509

    Use Default Protocols 确定要使用的传输层安全性(TLS)协议。默认协议是TLSv1.2。要使用其他协议,请清除此选项。
    Transport Protocols 要使用的TLS协议。要使用默认TLSv1.2以外的协议,请单击“添加”图标并输入协议名称。您可以使用简单或批量编辑模式来添加协议。

    注意:较旧的协议不如TLSv1.2安全。
    Use Default Cipher Suites 对SSL/TLS握手使用默认的密码套件。要使用其他密码套件,请清除此选项。
    Cipher Suites 要使用的密码套件。要使用不属于默认密码集的密码套件,请单击“添加”图标并输入密码套件的名称。您可以使用简单或批量编辑模式来添加密码套件。

    输入要使用的其他密码套件的Java安全套接字扩展(JSSE)名称。