Deploying the Kafka to S3 Avro ReadyFlow

Learn how to use the Deployment wizard to deploy the Kafka to S3 Avro ReadyFlow using the information you collected using the prerequisites check list.

The CDF Catalog is where you manage the flow definition lifecycle, from initial import, to versioning, to deploying a flow definition.

  1. In DataFlow, from the left navigation pane, click Catalog.
    Flow definitions available for you to deploy are displayed, one definition per row.
  2. Launch the Deployment wizard.
    1. Click the row to display the flow definition details and versions.
    2. Click a row representing a flow definition version to display flow definition version details and the Deploy button.
    3. Click Deploy to launch the Deployment wizard.
  3. Select the environment to which you want to deploy this version of your flow definition, and click Continue.
  4. In the Overview, give your flow deployment a unique name.

    You can use this name to distinguish between different versions of a flow definition, flow definitions deployed to different environments, and similar.

  5. In NiFi Configuration:
    1. Select a NiFi Runtime Version for your flow deployment. Cloudera recommends that you always use the latest available version, if possible.
    2. Select the Custom NAR Configuration checkbox, if your data flow requires custom NiFi processors or controller services.
    3. Autostart Behavior is on by default, allowing your flow to start automatically after successful deployment. You can clear selection if you do not want the automatic start.
  6. In Parameters, specify parameter values like connection strings, usernames and similar, and upload files like truststores, and similar.

    For parameters specific to this ReadyFlow, see the Example with the configuration parameters table below.

  7. Specify your Sizing & Scaling configurations.
    NiFi node sizing
    You can adjust the size of your cluster from Extra Small to Large
    Number of NiFi nodes
    • You can set whether you want to automatically scale your cluster depending on resource demands. When you enable autoscaling, the minimum NiFi nodes are used for initial size and the workload scales up or down depending on resource demands.
    • You can set the number of nodes from 1 to 32.
  8. In Key Performance Indicators, you can set up your metrics system with specific KPIs to track the performance of a deployed flow. You can also define when and how to receive alerts about the KPI metrics tracking.

    See Working with KPIs for more information about the KPIs available and how you can monitor them.

  9. Review the summary of the information you provided in the Deployment wizard and make any necessary edits by clicking Previous. When you are finished, complete your flow deployment by clicking Deploy.

Once you click Deploy, you are being redirected to the Alerts tab in the detail view for the deployment where you can track its progress.

For the Kafka to S3 Avro, the following parameters are required, using the information you collected in the Meeting the pre-requisites.

Table 1. Kafka to S3 Avro ReadyFlow configuration parameters
Parameter Name Description Example
CDP Workload User Specify the CDP machine user or workload user name that you want to use to authenticate to Kafka and the object store. Ensure this user has the appropriate access rights in Ranger for the Kafka topic and ID Broker for object store access.
CDP Workload User Password Specify the password of the CDP machine user or workload user you're using to authenticate against Kafka and the object store.
CDPEnvironment

DataFlow will use this parameter to auto-populate the Flow Deployment with Hadoop configuration files required to interact with S3.

DataFlow automatically adds all required configuration files to interact with Data Lake services. Unnecessary files that are added won't impact the deployment process.

CSV Delimiter If your source data is CSV, specify the delimiter here.
Data Input Format Specify the format of your input data.
  • CSV
  • JSON
  • AVRO
Kafka Broker Endpoint Specify the Kafka bootstrap servers string as a comma separated list.
Kafka Consumer Group ID The name of the consumer group used for the the source topic you are consuming from.
Kafka Source Topic Specify a topic name that you want to read from.
S3 Bucket Specify the name of the S3 bucket you want to write to.

The full path will be constructed from:

s3a://#{S3 Bucket}/#{S3 Path}/${Kafka.topic}

S3 Bucket Region

Specify the AWS region in which your bucket was created.

Supported values are:

  • us-gov-west-1

  • us-gov-east-1

  • us-east-1

  • us-east-2

  • us-west-1

  • us-west-2

  • eu-west-1

  • eu-west-2

  • eu-west-3

  • eu-central-1

  • eu-north-1

  • eu-south-1

  • ap-east-1

  • ap-south-1

  • ap-southeast-1

  • ap-southeast-2

  • ap-northeast-1

  • ap-northeast-2

  • ap-northeast-3

  • sa-east-1

  • cn-north-1

  • cn-northwest-1

  • ca-central-1

  • me-south-1

  • af-south-1

  • us-iso-east-1

  • us-isob-east-1

  • us-iso-west-1

S3 Path Specify the path within the bucket where you want to write to without any leading characters.

The full path will be constructed from:

s3a://#{S3 Bucket}/#{S3 Path}/${Kafka.topic}

Schema Name Specify the schema name to be looked up in the Schema Registry for the source Kafka topic.
Schema Registry Hostname Specify the hostname of the Schema Registry you want to connect to. This must be the direct hostname of the Schema Registry itself, not the Knox Endpoint.