Configure the controller services

You can add Controller Services to provide shared services to be used by the processors in your data flow. You will use these Controller Services later when you configure your processors.

You must define the Controller Services for the processors in your data flow in the configuration of the root process group where they will be used.

  1. To add a Controller Service to your flow, right-click on the Canvas and select Configure from the pop-up menu. This displays the Controller Services Configuration window.
  2. Select the Controller Services tab.
  3. Click the + button to display the Add Controller Service dialog.
  4. Select the required Controller Service and click Add.
  5. Perform any necessary Controller Service configuration tasks by clicking the Configure icon in the right-hand column.
  6. When you have finished configuring the options you need, save the changes by clicking the Apply button.
  7. Enable the Controller Service by clicking the Enable button (flash) in the far-right column of the Controller Services tab.
In this example, configure the following Controller Services:
  • AvroReader
  • AvroWriter
  • HortonworksSchemaRegistry
AvroReader Controller Service
Table 1. AvroReader Controller Service properties
Property Description Example value for ingest data flow

Schema Access Strategy

Specify how to obtain the schema to be used for interpreting the data.

HWX Content-Encoded Schema Reference

Schema Registry

Specify the Controller Service to use for the Schema Registry.

CDPSchemaRegistry

Schema Name

Specify the name of the schema to look up in the Schema Registry property.

customer

WriteAvro Controller Servie

Table 2. WriteAvro Controller Service properties
Property Description Example value for ingest data flow

Schema Write Strategy

Specifies how the schema for a Record should be added to the data.

HWX Content Encoded Schema Reference

Schema Access Strategy

Specifies how to obtain the schema that is to be used for interpreting the data.

Use Schema Name Property

Schema Registry

Specifies the Controller Service to use for the Schema Registry.

HortonworksSchemaRegistry

Schema name

Specifies the name of the schema to lookup in the Schema Registry property.

customer

HortonworksSchema Registry

Table 3. HortonworksSchemaRegistry Controller Service properties
Property Description Example value for ingest data flow

Schema Registry URL

Provide the URL of the schema registry that this Controller Service should connect to, including version. In the format: https://host:7790/api/v1

https://docs-messaging-master0.cdf-docs.a465-9q4k.cloudera.site:7790/api/v1

SSL Context Service

Specify the SSL Context Service to use for communicating with Schema Registry.

Use the pre-configured SSLContextProvider.

Default NiFi SSL Context Service

Kerberos Principal

Specify the user name that should be used for authenticating with Kerberos.

Use your CDP workload username to set this Authentication property.

srv_nifi-hive-ingest

Kerberos Password

Provide the password that should be used for authenticating with Kerberos.

Use your CDP workload password to set this Authentication property.

password