Configuring a Local Package Repository

You can create a package repository for Cloudera Manager either by hosting an internal web repository or by manually copying the repository files to the Cloudera Manager Server host for distribution to Cloudera Manager Agent hosts.

Loading Filters ... 6.3.4 6.3.3 6.3.1 6.3.0 6.2.1 6.2.0 6.1.1 6.1.0 6.0.1 6.0.0 5.16 5.15 5.14 5.13 5.12 5.11 5.10 5.9 5.8 5.7 5.6 5.5 5.4 5.3 5.2 5.1 5.0 6.3.4 6.3.3 6.3.2 6.2.1 6.2.0 6.1.1 6.1.0 6.0.1 6.0.0 5.16 5.15 5.14 5.13 5.12 5.11 5.10 5.9 5.8 5.7 5.6 5.5 5.4 5.3 5.2 5.1 5.0

Creating a Permanent Internal Repository

The following sections describe how to create a permanent internal repository using Apache HTTP Server:

Setting Up a Web server

To host an internal repository, you must install or use an existing Web server on an internal host that is reachable by the Cloudera Manager host, and then download the repository files to the Web server host. The examples in this section use Apache HTTP Server as the Web server. If you already have a Web server in your organization, you can skip to Downloading and Publishing the Package Repository.

  1. Install Apache HTTP Server:
    RHEL / CentOS
    sudo yum install httpd
    SLES
    sudo zypper install httpd
    Debian
    sudo apt-get install httpd
  2. Start Apache HTTP Server:
    RHEL 7
    sudo systemctl start httpd
    RHEL 6 or lower
    sudo service httpd start
    SLES 12, Ubuntu 16 or later, Debian 8
    sudo systemctl start apache2
    SLES 11, Ubuntu 14.04, Debian 7 or lower
    sudo service apache2 start

Downloading and Publishing the Package Repository

  1. Download the package repository for the product you want to install:
    Cloudera Manager
    To download the files for Cloudera Manager 6.3.3 release, download the repository tarball using the following commands:
    1. Create the following directory:
      sudo mkdir -p /var/www/html/cloudera-repos/cm6
    2. Use the wget commands shown below to download the packages for Cloudera Manager. Substitute your username, password, and Cloudera Manager version number in the commands.
      wget https://username:password@archive.cloudera.com/p/cm6/6.3.4/repo-as-tarball/cm6.3.4-operating system7.tar.gz
    3. Unpack the tarball using the following command:
      tar xvfz cm6.3.3-operating system7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1
    4. Run the following command:
      sudo chmod -R ugo+rX /var/www/html/cloudera-repos/cm6

    If you want to create a repository for a different Cloudera Manager release, start in the Cloudera Manager 6 parent directory, select the Cloudera Manager version you want to use, select the repo-as-tarball directory, and then copy the .tar.gz link for your operating system.

    CDH 6.x
    To download the files for the and CDH 6.x release, run the following commands on the Web server host.
    sudo mkdir -p /var/www/html/cloudera-repos
    sudo wget --recursive --no-parent --no-host-directories https://username:password@archive.cloudera.com/p/cdh6/<version>/<operating_system>/ -P /var/www/html/cloudera-repos
    sudo wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/gplextras6/<version>/<operating_system>/ -P /var/www/html/cloudera-repos
    sudo chmod -R ugo+rX /var/www/html/cloudera-repos/cdh6
    sudo chmod -R ugo+rX /var/www/html/cloudera-repos/gplextras6

    If you want to create a repository for a different CDH 6 release, replace 6.3.3 with the CDH 6 version that you want to download. For more information, see CDH 6 Download Information.

    Apache Accumulo for CDH
    To download the files for an Accumulo release for CDH, run the following commands on the Web server host.
    sudo mkdir -p /var/www/html/cloudera-repos
    sudo wget --recursive --no-parent --no-host-directories https://username:password@archive.cloudera.com/p/accumulo-c5/<operating_system>/ -P /var/www/html/cloudera-repos
    sudo chmod -R ugo+rX /var/www/html/cloudera-repos/accumulo-c5
    Cloudera Navigator Key Trustee Server
    Go to the Key Trustee Server download page. Select Packages from the CHOOSE DOWNLOAD TYPE drop-down menu, select your operating system from the CHOOSE AN OS drop-down menu, and then click DOWNLOAD NOW. This downloads the Key Trustee Server package files in a .tar.gz file. Copy the file to your Web server, and extract the files with the tar xvfz filename.tar.gz command. This example uses Key Trustee Server 5.14.0:
    sudo mkdir -p /var/www/html/cloudera-repos/keytrustee-server
    sudo tar xvfz /path/to/keytrustee-server-CDH version-parcels.tar.gz -C /var/www/html/cloudera-repos/keytrustee-server --strip-components=1
    sudo chmod -R ugo+rX /var/www/html/cloudera-repos/keytrustee-server
    Cloudera Navigator Key Trustee KMS and HSM KMS
    Go to the Key Trustee KMS download page. Select Package from the CHOOSE DOWNLOAD TYPE drop-down menu, select your operating system from the OPERATING SYSTEM drop-down menu, and then click DOWNLOAD NOW. This downloads the Key Trustee KMS package files in a .tar.gz file. Copy the file to your Web server, and extract the files with the tar xvfz filename.tar.gz command. This example uses Key Trustee KMS 5.14.0:
    sudo mkdir -p /var/www/html/cloudera-repos/keytrustee-kms
    sudo tar xvfz /path/to/keytrustee-kms-CDH version-parcels.tar.gz -C /var/www/html/cloudera-repos/keytrustee-kms --strip-components=1
    sudo chmod -R ugo+rX /var/www/html/cloudera-repos/keytrustee-kms
  2. Visit the Repository URL http://<web_server>/cloudera-repos/ in your browser and verify the files you downloaded are present. If you do not see anything, your Web server may have been configured to not show indexes.

Creating a Temporary Internal Repository

You can quickly create a temporary remote repository to deploy packages on a one-time basis. Cloudera recommends using the same host that runs Cloudera Manager, or a gateway host. This example uses Python SimpleHTTPServer as the Web server to host the /var/www/html directory, but you can use a different directory.

  1. Download the repository you need following the instructions in Downloading and Publishing the Package Repository.
  2. Determine a port that your system is not listening on. This example uses port 8900.
  3. Start a Python SimpleHTTPServer in the /var/www/html directory:
    cd /var/www/html
    python -m SimpleHTTPServer 8900
    Serving HTTP on 0.0.0.0 port 8900 ...
  4. Visit the Repository URL http://<web_server>:8900/cloudera-repos/ in your browser and verify the files you downloaded are present.

Configuring Hosts to Use the Internal Repository

After establishing the repository, modify the client configuration to use it:
OS Procedure
RHEL compatible Create /etc/yum.repos.d/cloudera-repo.repo files on cluster hosts with the following content, where <web_server> is the hostname of the Web server:
[cloudera-repo]
name=cloudera-repo
baseurl=http://<web_server>/cm/5
enabled=1
gpgcheck=0 
SLES Use the zypper utility to update client system repository information by issuing the following command:
zypper addrepo http://<web_server>/cm <alias>
Ubuntu Create /etc/apt/sources.list.d/cloudera-repo.list files on all cluster hosts with the following content, where <web_server> is the hostname of the Web server:
deb http://<web_server>/cm <codename> <components>
You can find the <codename> and <components> variables in the ./conf/distributions file in the repository.
After creating the .list file, run the following command:
sudo apt-get update