Installing and Upgrading the Sentry Service
This topic describes how to install and upgrade the Sentry service. If you are migrating from Sentry policy files to the database-backed Sentry service, see Migrating from Sentry Policy Files to the Sentry Service.
Adding the Sentry Service
Use one of the following sections to add/install the Sentry service:
Adding the Sentry Service Using Cloudera Manager
Minimum Required Role: Cluster Administrator (also provided by Full Administrator)
- On the tab, click to the right of the cluster name and select Add a Service. A list of service types display. You can add one type of service at a time.
- Select the Sentry service and click Continue.
-
Customize role assignments for Sentry. The wizard evaluates the hardware configurations of the available hosts and selects the best hosts for each role. If you are happy with the preselected hosts, click Continue and move to the next step. Otherwise, you can change the hosts that are assigned to the roles. The View By Host button allows you to view a list of hosts.
To change the host for a role, click the hostname under the role. A window appears with a list of hosts to choose from. Note that you can only select one host for the Sentry Server. You can search for a host in the Search field or you can filter the list by entering a range of hosts in the Search field. You can search for hosts in the following ways:
- Range of hostnames (without the domain portion)
Range Definition Matching Hosts 10.1.1.[1-4] 10.1.1.1, 10.1.1.2, 10.1.1.3, 10.1.1.4 host[1-3].company.com host1.company.com, host2.company.com, host3.company.com host[07-10].company.com host07.company.com, host08.company.com, host09.company.com, host10.company.com - IP addresses
- Rack name
Click Search to filter the list and click a hostname to select the host. Click OK to close the window. The hostname that you selected appears under the role.
Click Continue to move to the next page in the wizard.
- Range of hostnames (without the domain portion)
- Configure database settings. You can use either an embedded or a custom database.
- Choose the database type:
- Leave the default setting of Use Embedded Database to have Cloudera Manager create and configure required databases. Make a note of the auto-generated passwords.
- Select Use Custom Databases to specify external databases.
- Enter the database host, database type, database name, username, and password for the database that you created when you set up the database. See the Creating Databases documentation for Sentry Server database requirements.
- Click Test Connection to confirm that Cloudera Manager can communicate with the database using the information you have supplied. If the test succeeds in all cases, click Continue; otherwise check and correct the information you have provided for the database and then try the test again. (For some servers, if you are using the embedded database, you will see a message saying the database will be created at a later step in the installation process.) The Review Changes page displays.
- Choose the database type:
- Click Continue then click Finish. You are returned to the Home page.
- Verify the new service is started properly by checking the health status for the new service. If the Health Status is Good, then the service started properly.
- To use the Sentry service, begin by enabling Hive and Impala for the service.
Installing Sentry Using the Command Line
OS | Command |
---|---|
RHEL |
$ sudo yum install sentry |
SLES |
$ sudo zypper install sentry |
Ubuntu or Debian |
$ sudo apt-get update; $ sudo apt-get install sentry |
Starting the Sentry Service
- Set the SENTRY_HOME and HADOOP_HOME parameters.
- Create the Sentry database schema using the Sentry schematool. Sentry, by default, does not initialize the schema. The schematool is a built-in way for you to deploy the backend schema
required by the Sentry service. For example, the following command uses the schematool to initialize the schema for a MySQL database.
bin/sentry --command schema-tool --conffile <sentry-site.xml> --dbType mysql --initSchema
Alternatively, you can set the sentry.verify.schema.version configuration property to false. However, this is not recommended. - Start the Sentry service.
bin/sentry --command service --conffile <sentry-site.xml>
Upgrading the Sentry Service
Use one of the following sections to upgrade the Sentry service:
Upgrading the Sentry Service Using Cloudera Manager
If you have a cluster managed by Cloudera Manager, go to Upgrading CDH and Managed Services Using Cloudera Manager and follow the instructions depending on the version of CDH you are upgrading to. If you are upgrading from CDH 5.1, you will notice an extra step in the procedure to upgrade the Sentry database schema.
For command-line instructions, continue reading.
Upgrading the Sentry Service Using the Command Line
- Stop the Sentry service by identifying the PID of the Sentry Service and use the kill command to end the process:
ps -ef | grep sentry kill -9 <PID>
Replace <PID> with the PID of the Sentry Service. - Remove the previous version of Sentry.
OS Command RHEL $ sudo yum remove sentry
SLES $ sudo zypper remove sentry
Ubuntu or Debian $ sudo apt-get remove sentry
- Install the new version of Sentry.
OS Command RHEL $ sudo yum install sentry
SLES $ sudo zypper install sentry
Ubuntu or Debian $ sudo apt-get update; $ sudo apt-get install sentry
- (From CDH 5.1 to CDH 5.x) Upgrade Sentry Database Schema
Use the Sentry schematool to upgrade the database schema as follows:
bin/sentry --command schema-tool --conffile <sentry-site.xml> --dbType <db-type> --upgradeSchema
Where <db-type> should be either mysql, postgres or oracle. - Start the Sentry Service
- Set the SENTRY_HOME and HADOOP_HOME parameters.
- Run the following command:
bin/sentry --command service --conffile <sentry-site.xml>