数据收集器配置
您可以编辑数据收集器配置文件 ,以配置电子邮件警报的主机名、端口号和帐户信息等属性。$SDC_CONF/sdc.properties
通过将数据存储在外部位置,然后使用随 StreamSets 表达式语言提供的函数检索数据,可以保护数据收集器配置文件中的敏感数据。还可以引用环境变量中的信息。
Kerberos Authentication
您可以使用 Kerberos 身份验证连接到外部系统以及 YARN 群集。
默认情况下,数据收集器使用启动它的用户帐户连接到外部系统。启用 Kerberos 时,它可以使用 Kerberos 主体连接到外部系统。
- 哈多普FS起源
- 哈多普FS独立起源
- 卡夫卡起源
- 卡夫卡消费者起源
- 卡夫卡多主题消费者起源
- 映射器 FS 起源
- 映射器FS独立起源
- 从SDC RPC到卡夫卡原产地
- UDP 到卡夫卡的起源
- H 基本查找处理器
- 配置单元元数据处理器
- 卡桑德拉目标,当安装了数据斯塔克斯企业 Java 驱动程序时
- 哈多普 FS 目的地
- 总部基地目的地
- 蜂巢元存储目标
- 卡夫卡生产者目的地
- 地图数据库目的地
- 枫叶地图目的地
- 索尔德目的地
- HDFS 文件元数据执行器
- MapR FS 文件元数据执行器
- 地图还原执行器
- 火花执行器
若要使数据收集器能够使用 Kerberos 身份验证,请使用安装类型所需的过程。
为 RPM 和压缩包启用 Kerberos
要为 RPM 或压缩包安装启用 Kerberos 身份验证,请执行以下步骤:
- 在 Linux 上,在数据收集器计算机上安装以下 Kerberos 客户端包:
- krb5-工作站
- krb5-client
- 将 Kerberos 配置文件
krb5.conf
复制到数据收集器计算机。默认位置为/等/krb5
.该文件包含 Kerberos 配置信息,包括 Kerberos 领域的关键分发中心 (KDC) 和管理服务器的位置、当前领域的默认值以及主机名到 Kerberos 领域的映射。
krb5.conf
- 将数据收集器配置为根据阶段类型使用 Kerberos。如果同时为卡夫卡和非卡夫卡阶段启用 Kerberos,请使用这两种方法。
- 非 Kafka 阶段 - 要为非 Kafka 阶段启用 Kerberos,请通过修改数据收集器配置文件将数据收集器配置为使用 Kerberos。数据收集器对每个阶段使用相同的 Kerberos 主体。在文件中配置以下 Kerberos 属性以启用 Kerberos 并定义主体和密钥表:
$SDC_CONF/sdc.properties
- kerberos.client.enabled
- kerberos.client.principal
- kerberos.client.keytab
重要:对于群集管道,请在配置数据收集器时输入密钥表的绝对路径。独立管道不需要绝对路径。 - Kafka 阶段 - 要为 Kafka 阶段启用 Kerberos,请在数据收集器将阶段配置为使用 Kerberos 时使用的 Java 认证和授权服务 (JAAS) 配置文件中配置 Kerberos 属性。您可以将每个卡夫卡阶段配置为使用不同的 Kerberos 主体。
- 非 Kafka 阶段 - 要为非 Kafka 阶段启用 Kerberos,请通过修改数据收集器配置文件将数据收集器配置为使用 Kerberos。数据收集器对每个阶段使用相同的 Kerberos 主体。在文件中配置以下 Kerberos 属性以启用 Kerberos 并定义主体和密钥表:
- 重新启动数据收集器。
- 将舞台配置为使用 Kerberos。
注意:如果 YARN 群集需要 Kerberos 身份验证,并且数据收集器启用了 Kerberos 身份验证,则群集管道会自动使用它。
使用 Cloudera 管理器启用 Kerberos
要为 Cloudera 管理器安装启用 Kerberos 身份验证,请使用 Cloudera 管理器。
当您通过 Cloudera 管理器启用 Kerberos 时,Cloudera 管理器将创建所需的 Kerberos 主体和密钥表。
- 在云端管理器中,选择流集服务,然后单击配置。
- 选择“启用 Kerberos 客户端”。
- 在 Cloudera 管理器主页中,单击管理> 安全性。
- 单击“Kerberos 凭据”。
- 单击“生成缺少的凭据”。
- 重新启动数据收集器。
- 将舞台配置为使用 Kerberos。
注意:如果 YARN 群集需要 Kerberos 身份验证,并且数据收集器启用了 Kerberos 身份验证,则群集管道会自动使用它。
发送电子邮件
您可以配置电子邮件配置属性,以使数据收集器能够发送电子邮件通知。
在数据收集器边缘管道中无效。数据收集器边缘管道不发送电子邮件。
若要启用发送电子邮件,请在数据收集器配置文件中配置 mail.transport.protocol 属性,然后配置 smtp/smtps 属性和 xmail 属性。有关详细信息,请参阅配置数据收集器。
保护配置文件中的敏感数据
通过将数据收集器配置文件中的敏感数据存储在外部位置,然后使用 或 函数检索数据,可以保护这些数据收集器配置文件中的敏感数据。file
exec
- 属性
- 库属性
- 凭据存储属性
某些配置文件属性(如 属性)要求您输入密码。无需在配置文件中以明文形式输入密码,而是可以将密码存储在配置文件外部,然后使用 or 函数检索敏感数据。https.keystore.password
file
exec
从文件
将敏感数据存储在单独的文件中,然后使用配置文件中的函数检索数据,如下所示:file
<span style="color:#333333"><span style="background-color:#eeeeee"><code>${file("<filename>")}</code></span></span>
xmail.username
$SDC_CONF
<span style="color:#333333"><span style="background-color:#eeeeee"><code>xmail.username=${file("email_username.txt")}</code></span></span>
从另一个文件中检索敏感数据可提供一定程度的安全性。但是,附加文件中的敏感数据仍以明文形式输入,因此容易受到其他人访问的攻击。为了提高安全性,请使用脚本或可执行文件来检索敏感数据。
使用脚本或可执行文件
为了提高安全性,请开发从外部位置检索敏感数据的脚本或可执行文件。例如,您可以开发一个脚本来解密包含密码的加密文件。或者,您可以开发一个脚本来调用外部 REST API,以从远程保管库系统检索密码。
使用配置文件中的函数调用脚本或可执行文件,如下所示:exec
<span style="color:#333333"><span style="background-color:#eeeeee"><code>${exec("<script name>")} </code></span></span>
例如,如果按如下方式配置该属性,则数据收集器将运行
email_pwd.sh脚本来检索密码:
xmail.password
<span style="color:#333333"><span style="background-color:#eeeeee"><code>xmail.password=${exec("email_pwd.sh")}</code></span></span>
使用 或 函数时,数据收集器将使用文件或脚本的确切输出。因此,如果输出生成密码,然后生成换行符,则数据收集器会将该值与换行符一起使用。这会导致数据收集器使用无效的密码。请仔细设计和测试如何定义文件或脚本的输出,以确保函数仅返回预期的敏感数据。file
exec
从文件中检索敏感数据
使用配置文件中的函数从本地文件中检索敏感数据。file
您可以将一条信息存储在文件中。当数据收集器启动时,它会从引用的文件中检索敏感数据。
- 为要保护的每个配置值创建一个文本文件。每个文件中仅包含一个配置值。
确保文件不包含敏感数据后面的多余字符,如换行符。例如,您可以运行以下命令以确保文件不包含换行符:
<span style="color:#333333"><span style="background-color:#eeeeee"><code>echo -n '<password>' > password-file.txt</code></span></span>
- 将文件保存在数据收集器可以访问的本地目录中。
对于数据收集器的 Cloudera 管理器安装,请确保将文件保存在数据收集器配置目录 之外,因为当数据收集器重新启动时,配置目录会发生变化。对于所有其他数据收集器安装,可以将文件保存在配置目录中,然后在使用该函数时只需输入文件名即可。
$SDC_CONF
file
- 在配置文件中,将相关值设置为
file
函数以及相应的文件路径和名称。对于数据收集器的 Cloudera 管理器安装,请输入文件的绝对路径,如下所示: