Creating and configuring controller services
Learn how to set up and configure controller services specifically tailored for your CDW Iceberg ingest data flow.
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.
- Hive Catalog Controller Service
- Kerberos Password User Service
Configuring the Hive Catalog Controller Service
In the context of CDW, the Hive Metastore URI is the same as the one for the Hive service of the Base cluster. Rather than specifying the thrift URI directly, a more straightforward approach is to provide the necessary configuration files.
- core-site.xml
- hdfs-site.xml
- hive-site.xml
In Flow Management clusters, these files are made available automatically on every node assuming the Hive gateway role has been added to the NiFi nodes in the Base cluster.
Property | Description | Example value for ingest data flow |
---|---|---|
Hive Metastore URI |
Provide the URI of the metastore location. |
|
Default Warehouse Location |
Provide the default warehouse location in the HDFS file system. |
|
Hadoop Configuration Resources |
Add a comma-separated list of Hadoop Configuration files, such as hive-site.xml and core-site.xml for kerberos. Include full paths to the files so that NiFi can refer to those configuration resources from your specified path. |
/etc/hive/conf/hive-site.xml,/etc/hadoop/conf/core-site.xml,/etc/hive/conf/hdfs-site.xml |
Configuring the Kerberos Password User Service
Use the Kerberos Password User Service so that you do not need to distribute a keytab file across the NiFi nodes of the cluster.
It is best practice to have a dedicated service account created for your specific use case so that you can configure specific policies in Ranger and have better control in case of multi-tenancy with many use cases.
Property | Description | Example value for ingest data flow |
---|---|---|
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_to_iceberg |
Kerberos Password |
Provide the password that should be used for authenticating with Kerberos. Use your CDP workload password to set this Authentication property. |
password (sensitive value) |