管道维护

了解管道状态

管道状态是管道的当前状态,例如“running”或“stopped”。管道状态可以显示在“All Pipelines”列表中。管道的状态也可以出现在Data Collector日志中。

通常在“All Pipelines”列表中显示以下管道状态:

  • EDITED-管道已创建或修改,并且自上次修改以来未运行。
  • FINISHED-管道已完成所有预期的处理,并已停止运行。
  • RUN_ERROR-管道在运行和停止时遇到错误。
  • RUNNING-管道正在运行。
  • STOPPED-管道已手动停止。
  • START_ERROR-管道在启动时遇到错误,无法启动。
  • STOP_ERROR-管道在停止时遇到错误。
以下管道状态是瞬态的,很少显示在“All Pipelines”列表中。 当管道日志记录级别设置为Debug时,这些状态可以显示在Data Collector日志中:

  • CONNECT_ERROR-运行集群模式管道时,Data Collector无法连接到基础集群管理器,例如Mesos或YARN。
  • CONNECTING-管道正在准备在Data Collector重新启动后重新启动。
  • DISCONNECTED-管道与外部系统断开连接,通常是因为Data Collector正在重新启动或关闭。
  • FINISHING-管道正在完成所有预期的处理。
  • RETRY-管道在运行时遇到错误后正在尝试运行。仅当将管道配置为重试错误时,才会发生这种情况。
  • RUNNING_ERROR-管道在运行时遇到错误。
  • STARTING-管道正在初始化,但尚未启动。
  • STARTING_ERROR-管道在启动时遇到错误。
  • STOPPING-手动请求停止后,管道正在停止。
  • STOPPING_ERROR-管道在停止时遇到错误。

状态转换示例

以下是管道如何在状态之间移动的一些示例:

启动管道
首次成功启动管道时,管道会通过以下状态转换:

(EDITED)... STARTING... RUNNING
首次启动管道但无法启动时,管道会通过以下状态转换:

(EDITED)... STARTING... STARTING_ERROR... START_ERROR
停止或重新启动Data Collector

Data Collector关闭时,正在运行的管道会通过以下状态转换:

(RUNNING)... DISCONNECTING... DISCONNECTED
数据采集器重新启动时正在运行经过下面的状态过渡,任何管道:

DISCONNECTED... CONNECTING... STARTING... RUNNING
重试管道
将管道配置为重试错误后,当管道在运行时遇到错误时,Data Collector将执行指定的重试次数。
重试错误并成功重试时,管道会通过以下状态转换:

(RUNNING)... RUNNING_ERROR... RETRY... STARTING... RUNNING
重试错误并遇到另一个错误时,管道会通过以下状态转换:

(RUNNING)... RUNNING_ERROR... RETRY... STARTING... RUNNING... RUNNING_ERROR... 
当执行最终重试并且无法返回到运行状态时,管道会通过以下状态转换:

(RUNNING)... RUNNING_ERROR... RUN_ERROR
停止管道
成功停止管道后,管道会通过以下状态转换:

(RUNNING)... STOPPING... STOPPED
当您停止管道并且管道遇到错误时,管道会通过以下状态转换:

(RUNNING)... STOPPING... STOPPING_ERROR... STOP_ERROR

启动管道

您可以在有效时启动Data Collector管道。启动管道时,Data Collector会运行管道,直到停止管道或关闭Data Collector为止。

注意:仅当Data Collector 计算机可以访问SDC Edge时,才可以使用Data Collector UI在Data Collector EdgeSDC Edge)上启动边缘管道。有关管理边缘管道的更多信息,请参见管理SDC Edge上的管道。

对于大多数起源,当您重新启动管道时,Data Collector会默认从上次停止的地方开始管道。您可以重置原点以读取所有可用数据。

Kafka Consumer原点开始根据从Kafka ZooKeeper传递的偏移量处理数据。

您可以从以下位置启动管道:

  • 主页上,从列表中选择管道,然后单击“Start图标。
  • 在管道画布中,单击“Start图标。

    如果未启用“Start”图标,则管道无效。

使用参数启动管道

如果为管道定义了运行时参数,则可以指定启动管道时要使用的参数值。

注意:如果要使用默认参数值,只需单击“Start图标即可启动管道。

有关更多信息,请参见使用运行时参数。

  1. 在管道画布中,单击“More图标,然后单击“Start with Parameters
    如果未启用“Start with Parameters,则管道无效。

    “Start with Parameters对话框列出了为管道定义的所有参数及其默认值。

  2. 用您要用于此管道运行的值覆盖所有默认值。
  3. 点击开始

重置源端

当您希望Data Collector处理所有可用数据而不是处理最后保存的偏移量中的数据时,可以重置源端。当管道未运行时重置源端。

您可以为以下源端阶段重置源端:

  • Amazon S3
  • Azure Data Lake Storage Gen1
  • Azure Data Lake Storage Gen2
  • Directory
  • Elasticsearch
  • File Tail
  • Google Cloud Storage
  • Hadoop FS Standalone
  • HTTP Client
  • JDBC Multitable Consumer
  • JDBC Query Consumer
  • Kinesis Consumer
  • MapR DB JSON
  • MapR FS Standalone
  • MongoDB
  • MongoDB Oplog
  • MySQL Binary Log
  • Salesforce
  • SFTP/FTP/FTPS Client
  • SQL Server 2019 BDC Multitable Consumer
  • SQL Server CDC Client
  • SQL Server Change Tracking
  • Teradata Consumer
  • Windows Event Log

对于这些源端,当您停止管道时,Data Collector会记录它停止处理数据的位置。当您重新启动管道时,它将从默认情况下中断的地方继续。当您希望Data Collector处理所有可用数据而不是从其停止的位置继续时,请重置源端。有关重置Kinesis Consumer源的独特详细信息,请参阅重置Kinesis Consumer源。

您可以通过指定其他Kafka配置属性,将Kafka和MapR Streams消费者来源配置为处理所有可用数据。您可以通过删除 Microsoft Azure门户中的偏移量详细信息来重置Azure IoT/Event Hub Consumer源。其余的源端阶段将处理瞬态数据,其中重置源端无效。

您可以从主页同时重置多个管道的源端 。或者,您可以从管道画布中重置单个管道的源端。

重置源端:

  1. 主页中选择多个管道,或在管道画布中查看单个管道。
  2. 单击“More”图标,然后单击“Reset Origin”
  3. 在“Reset Origin Confirmation对话框中,单击“Yes以重置源端。

停止管道

当您希望Data Collector停止处理管道的数据时,请停止管道。

Data Collector运行管道时,默认情况下它将显示在Monitor模式下的Data Collector UI中。

  1. 主页上,选择列表中的管道,然后单击“Stop图标。或者,要在管道画布中停止管道,请单击“Stop图标。
    出现“Stop Pipeline Confirmation对话框。
  2. 要停止管道,请单击“Yes”
    如果管道仍处于Stopping状态,则可以强制Data Collector立即停止管道。

    在某些情况下,管道最多可以保持Stopping状态五分钟。例如,如果管道中的脚本处理器包括具有定时等待或无限循环的代码,则Data Collector将等待五分钟,然后强制管道停止。

  3. 要强制从首页停止管道,请单击管道的更多图标,然后单击“Force Stop”。或者要强制管道从管道画布中停止,请单击“Force Stop
    出现“Force Stop Pipeline Confirmation对话框。
  4. 要强制停止管道,请单击“Yes

导入管道

导入管道以使用在其他Data Collector上开发的管道或还原备份文件。

您可以从单个管道文件,包含多个管道文件的ZIP文件或从外部HTTP URL导入管道。管道文件是从Data Collector导出的JSON文件。

导入管道

您可以从Data Collector导出的管道JSON文件中导入单个管道。导入单个管道时,可以在导入期间重命名管道。
  1. 要导入单个管道,请从主页上单击Create New Pipeline > Import Pipeline
  2. 在“Import Pipeline对话框中,输入管道标题和可选描述。
  3. 浏览并选择管道文件,然后单击“Open
  4. 点击“Import”

从存档文件导入一组管道

您可以从包含多个管道JSON文件的ZIP文件中导入一组管道。当您导入一组管道时,Data Collector会导入现有管道名称。如有必要,可以在导入后重命名管道。

  1. 要导入一组管道,请从主页单击Create New Pipeline > Import Pipelines from Archive
  2. 在“Import Pipelines from Archive对话框中,浏览并选择包含管道文件的ZIP文件,然后单击“Open
  3. 要导入文件中的所有管道,请点击“Import”

从HTTP URL导入管道

您可以从外部HTTP URL导入单个管道。例如,您可以从Data Collector Edge GitHub存储库中导入样本Data Collector Edge管道。

从HTTP URL导入管道时,可以在导入期间重命名管道。

  1. 要从HTTP URL 导入管道,请在主页上单击Create New Pipeline > Import Pipeline from HTTP URL
  2. 在“Import Pipeline from HTTP URL对话框中,输入管道标题和可选描述。
  3. 输入管道的HTTP URL。
    例如,要将名为MQTT的示例边缘管道导入到StreamSets GitHub存储库中包含的HTTP ,请输入以下URL:

    https://raw.githubusercontent.com/streamsets/datacollector-edge/master/resources/samplePipelines/mqttToHttp/pipeline.json
  4. 点击“Import”

共享管道

创建管道时,您将成为管道的所有者。作为管道的所有者,您拥有管道的所有权限,可以配置管道共享,还可以更改管道的所有者。管道可以只有一个用户作为所有者。

与管道所有者一样,具有Admin角色的用户也具有所有管道的所有权限,可以配置管道共享并可以更改管道所有者。

默认情况下,所有其他用户均无权访问管道。要允许其他用户使用管道,必须与用户或其组共享管道,并配置管道权限。

共享管道时,可以为每个用户和组配置以下权限:

允许 描述
查看和监视管道,并查看警报。查看现有快照数据。
编辑管道和警报。
执行 启动和停止管道。预览数据并拍摄快照

当某人与您共享管道时,它将显示在管道库中管道库中“Shared With Me”的标签下 。

有关角色和权限的更多信息,请参见角色和权限。

共享管道

共享管道,以允许用户执行与管道相关的任务。您可以与单个用户或组共享管道。

如果您是管道的所有者或具有管理员角色的用户,则可以共享管道。

您可以随时配置管道共享,但是只有在启用Data Collector来使用管道访问控件时,才强制执行管道许可。启用共享后,共享配置才会生效。

  1. 您可以从以下任一位置共享管道:
    • 主页上,选择管道,单击 更多图标,然后单击“Share”。
    • 在管道画布中,单击“Share图标: 
  2. 在“Sharing Settings对话框中,在“Select Users and Groups窗口中单击 ,选择要与之共享的用户和组,然后单击“Add
  3. 配置希望每个用户和组拥有的权限,然后单击“Save

更改管道所有者

作为管道的所有者或具有Admin角色的用户,您可以将用户指定为管道的所有者。

管道所有者拥有管道的所有权限,并可以为其他用户和组配置共享。只能有一个管道所有者。

  1. 您可以从以下位置配置管道权限:
    • 主页上,选择管道,单击“More”图标,然后单击“Share”。
    • 在管道画布中,单击“Share图标: 
  2. 如有必要,在“Sharing Settings对话框中,添加要用作所有者的用户。
  3. 要选择一个新的所有者,请单击该用户的“More图标,然后单击“Is Owner
  4. 单击保存以保存更改。

向管道添加标签

您可以在管道中添加标签,以对相似的管道进行分组。例如,您可能想按数据库模式或测试或生产环境对管道进行分组。

您可以使用嵌套标签来创建管道分组的层次结构。使用以下格式输入嵌套标签:

<label1>/<label2>/<label3>

例如,在由源系统测试环境组管道,您可以向适当的管道添加标签Test/HDFSTest/Elasticsearch

您可以从以下位置向管道添加标签:

  • 主页上,选择列表中的管道,单击“More”图标,然后单击“Add Labels”。输入标签,然后单击“Save”。
    注意:已添加到管道中的现有标签将被忽略。
  • 在管道画布上,单击“General选项卡,然后为“Labels属性输入标签。

导出管道

导出管道以创建备份或与其他Data Collector一起使用管道。您可以导出带有或不带有在管道中配置的纯文本凭据的管道。您可以导出单个管道或一组管道。

注意:要导出与Control Hub一起使用的管道,请参阅导出Control Hub的管道。
  1. 主页上,选择一个或多个要导出的管道。
    或者,要导出单个管道,可以打开管道。
  2. 单击“More图标,然后选择是否使用配置的纯文本凭据导出管道:
    • Export – Data Collector将从导出的管道中删除所有已配置的纯文本凭据。
    • Export with Plain Text Credentials – Data Collector包括在出口管道的任何配置的纯文本凭据。
    Data Collector将包含导出管道的文件写入默认下载目录:

    • 导出单个管道时,Data Collector会生成一个以管道命名的JSON文件,如下所示: <pipeline name>.json
    • 导出一组管道时,Data Collector将创建一个名为的ZIP文件pipelines.zip

导出Control Hub的管道

如果您在未向Control Hub注册的Data Collector中开发管道,请导出有效的管道以在Control Hub中使用。

如果您在向Control Hub注册的Data Collector中开发管道,直接将管道发布到Control Hub

您可以导出单个管道或一组管道。当您导出Control Hub的管道时,Data Collector会导出没有纯文本凭据的管道。

注意:要导出管道以在另一个Data Collector中使用,请参阅“导出管道”。
  1. 主页上,选择一个或多个要导出的管道。
    或者,要导出单个管道,可以打开管道。
  2. 单击“More”图标,然后单击“Export for Control Hub”
    Data Collector导出没有任何纯文本凭据的管道,并将包含导出管道的文件写入默认下载目录:

    • 导出单个管道时,Data Collector会生成一个以该管道命名的JSON文件,如下所示: <pipeline name>.json。生成的JSON文件包括管道中使用的每个阶段库的定义。
    • 导出一组管道时,Data Collector会创建一个名为Pipelines.zip的ZIP文件。
在为Control Hub导出管道之后,将管道导入Control Hub并重新配置在导出过程中删​​除的所有纯文本凭据。

复制管道

当您要保留管道的现有版本,同时继续配置重复版本时,请复制管道。复制是原始管道的精确副本。

复制管道时,可以重命名管道并指定要制作的副本数。

  1. 主页上,在列表视图中选择管道,然后单击“Duplicate图标。或者,要在管道画布中复制管道,请单击管道的“More图标,然后单击“Duplicate
  2. 在“Duplicate Pipeline Definition对话框中,输入重复管道的名称和要制作的副本数。
    创建多个副本时,Data Collector会在管道名称后附加一个整数。例如,如果输入名称“test”并创建管道的两个副本,则Data Collector会将重复的管道命名为“test1”和“test2”。
  3. 单击“Duplicate”
    显示复制的管道。

删除管道

您可以在不再需要管道时将其删除。删除管道是永久的。要保留备份,请在删除管道之前将其导出。
  1. 主页上,在列表中选择管道,然后单击“Delete图标。或者,要删除管道画布中的管道,请单击管道的“More”图标,然后单击“Delete”
    出现确认窗口。
  2. 要删除管道,请单击“Yes”