Modifying Configuration Settings
When a service is added to Cloudera Manager, either through the Installation or Upgrade Wizard or with the Add Services workflow, Cloudera Manager configures it with a default set of configuration properties, based on the needs of the service and various characteristics of the cluster in which it will run. These configuration properties include both service-wide configuration settings, as well as specific settings for each role type associated with the service, managed through Role Groups. A role group includes a set of configuration properties for that role type, as well as a list of role instances associated with that role group. Cloudera Manager automatically creates a default role group for each role type.
Certain role types — specifically those that allow multiple instances on multiple nodes, such as DataNodes, TaskTrackers, RegionServers — allow the creation of additional role groups that differ from the default configuration. Each role instance can be associated with only a single role group.
Note that when you run the installation or upgrade wizard, Cloudera Manager automatically creates the appropriate default configurations for the roles it adds. It may also create additional role groups for a given role type, if necessary. For example, if you have a DataNode role on the same host as the NameNode, it may require a slightly different configuration that DataNode roles running on other hosts. Therefore, Cloudera Manager will create a separate role group for the DataNode role that is running on the NameNode host, and use the default DataNode configuration for the DataNode roles running on other hosts.
You can modify the settings of the default role group, or you can create new role groups and associate role instances to whichever role group is most appropriate. This simplifies the management of role configurations when one group of role instances may require different settings than another group of instances of the same role type — for example, due to differences in the hardware the roles run on.
For information on creating a new role group, see Managing Role Groups .
Certain roles, such as the CDH3 NameNode and SecondaryNameNode, provide only a default role group, as only one instance of the role can exist in the cluster. You cannot create additional role groups for those roles.
You modify the configuration for any of the service's role groups through the Configuration tab for the service. You can also override the settings inherited from a role group for a given role instance, if necessary. see Overriding Configuration Settings.
Role groups provide two types of properties: those that affect the configuration of the service itself (the Default section in the left-hand panel) and those that affect monitoring of the service, if applicable (the Monitoring section). (Not all services have monitoring properties). For more information about monitoring properties see Configuring Monitoring Settings.
If you change configuration settings in the Configuration tab after you have started the service or instance, you may need to restart the service or instance. If you need to restart, a message is displayed at the top of the Configuration tab. For more information, see Restarting Services and Instances after Configuration Changes.
Changing the Configuration of a Service or Role
To change configuration settings for a service or role:
- Click the Services tab and select the service you want to modify.
- Pull down the Configuration tab at the top of the window and select Edit. The left hand panel organizes the configuration properties into categories; first those that are Service-Wide, followed by role groups for each role type within the service. Each role group shows its own set of properties, organized by function Advanced properties are listed separately for each role group. If you have created additional role groups they will appear in this panel and you can modify them just as you can the default role group. For example, if during installation, Cloudera Manager determined that a different set of configuration values is needed for the DataNode co-located on the same host with the NameNode, you might see two categories in the Category panel — DataNode (Default) and DataNode (1) (where DataNode (1) is the role group Cloudera Manager created for the DataNode instance co-located with the NameNode role).
- Under the appropriate role group, select the category for the properties you want to change.
- To search for a text string (such as "safety valve"), in a property, value, or description, enter the text string in the Search box at the top of the Category list.
- Moving the cursor over the value cell highlights the cell; click anywhere in the highlighted area to enable editing of the value. Then type the new value in the field provided (or check or uncheck the box, as appropriate).
- To facilitate entering some types of values, you can specify not only the value, but also the units that apply to the value. for example, to enter a setting that specifies bytes per second, you can choose to enter the value in bytes (B), KiBs, MiBs, or GiBs — selected from a drop-down menu that appears when you edit the value.
- To remove the value you entered, click the Reset to the default value link.
- If the property allows a list of values, click the Plus icon to the right of the edit field to add an additional field. An example of this is the DataNode Data Directory property, which can have a comma-delimited list of directories as its value. To remove an item from such a list, click the Minus icon to the right of the field you want to remove.
- Click Save Changes to commit the changes. You can add a note that will be included with the change in the Configuration History. This will change the setting for the role group, and will apply to all role instances associated with that role group. Depending on the change you made, you may need to restart the service or roles associated with the configuration you just changed. Or, you may need to redeploy your client configuration for the service. You should see a message to that effect at the top of the Configuration page, and services will display an outdated configuration icon .
Validation of Configuration Settings
If you try to use a configuration value that is outside the recommended range of values, Cloudera Manager displays a warning after you click Save Changes at the Configuration tab. Cloudera Manager displays a warning at the top of the Configuration tab and a warning label below the text box where the out-of-range value is entered. Normally this warning value is yellow, but you may get a red validation error if the input is blatantly incorrect.
Overriding Configuration Settings
For role types that allow multiple instances, each role instance inherits its configuration settings from its associated role group. While role groups provide a convenient way to provide alternate configuration settings for selected groups of role instances, there may be situations where you want to make a one-off configuration change — for example when a node has malfunctioned and you want to temporarily reconfigure it. In this case, you can override configuration settings for a specific role instance.
To override a configuration setting for a specific role instance:
- Go to the Service page for the Service whose role you want to change.
- Click the Instances tab
- Click the role instance you want to change
- On the role instance page, click the Configuration tab.
- Change the configuration values as appropriate.
- Save your changes.
Note that you will most likely need to restart your service or role to have your configuration changes take effect. To see a list of all role instances that have an override value for a particular configuration setting, expand the Overridden by link in the value cell for the overridden value. To view the override values, and change them if appropriate, click the Edit Overrides link. This opens the Edit Overrides page, and lists the role instances that have override settings for the selected configuration setting.
On the Edit Overrides page, you can do any of the following:
- View the list of role instances that have overridden the value specified in the role group. Use the selections on the drop-down menu below the Value column header to view a list of instances that use the inherited value, instances that use an override value, or all instances. This view is especially useful for finding inconsistent settings in a cluster. You can also use the Host and Rack text boxes to filter the list.
- Change the override value for the role instances to the inherited value from the associated role group. To do so, select the role instances you want to change, choose Inherited Value from the drop-down menu next to Change value of selected instances to and click Apply.
- Change the override value for the role instances to a different value. To do so, select the role instances you want to change, choose Other from the drop-down menu next to Change value of selected instances to. Enter the new value in the text box and then click Apply.
Resetting Configuration Settings to the Default Value
If you want to reset a setting back to its default value, click the Reset to the default value link below the text box in the value cell. The default value is inserted and both the text box and the Reset link disappear.
Explicitly setting a configuration to the same value as its default (inherited value) will have the same effect as using the Reset to the default value link. Setting a configuration to the same value as its default value will NOT result in an override.
Restarting Services and Instances after Configuration Changes
If you change the configuration settings after you start a service or instance, you may need to restart the service or instance to have the configuration settings become active. If you need to restart, a message is displayed at the top of the Configuration tab when you save your changes.
To restart a service or instance:
- To restart the entire service (such as all of HDFS), choose Restart from the Actions menu (at the upper right).
- To restart an instance (such as all DataNodes or a particular DataNode), click the Instances link, select the instances you want to restart and then select Restart from the Actions for Selected menu.
- Click Restart that appears in the next screen to confirm.
- If you see a Finished status, the service or instances have restarted.
- Navigate to the Service > Status tab. The service should show a Status of Started for all instances and a health status of Good.