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 ... 7.13.1 7.11.3 7.7.3 7.7.1 7.6.7 7.6.1 7.5.1 7.4.4 7.3.1 7.2.4 7.1.4 7.1.3 7.1.2 7.1.1 7.0.3 5.16 5.15 5.14 5.13 5.16 5.15 5.14 5.13 7.1.9.1000 7.1.9 7.1.8 7.1.7.3000 7.1.7.2000 7.1.7.1000 7.1.7 7.1.6 7.3.1 7.1.9.1000 7.1.9 7.1.8 7.1.7.3000 7.1.7.2000 7.1.7.1000 7.1.7

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 for Cloudera Manager.

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

Downloading and publishing the package repository for Cloudera Manager

  1. Download the package repository for the product you want to install:
    Cloudera Manager 7

    Do the following steps to download the files for a Cloudera Manager release:

    1. Run the following command to create a local repository directory to hold the Cloudera package repository:
      sudo mkdir -p /var/www/html/cloudera-repos/cm7
    2. Run the following command to download the repository tarball for your operating system:
      wget https://[username]:[password]@archive.cloudera.com/p/cm7/7.0.3/repo-as-tarball/cm7.0.3-redhat7.tar.gz
    3. Run the following command to unpack the tarball into the local repository directory:
      tar xvfz cm7.0.3-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm7 --strip-components=1
    4. Run the following command to modify the file permission that allows you to download the files under the local repository directory:
      sudo chmod -R ugo+rX /var/www/html/cloudera-repos/cm7
  2. Visit the Repository URL http://<web_server>/cloudera-repos/ in your browser and verify the files you downloaded are present.

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 for Cloudera Manager.
  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