YUM repositoryedit

We use the PGP key D88E42B4, Elastic’s Signing Key, with fingerprint

4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4

to sign all our packages. It is available from http://pgp.mit.edu.

Signing Keyedit

Download and install the public signing key:

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

Repository Configurationedit

Add the following in your /etc/yum.repos.d/ directory in a file with a .repo suffix, for example curator.repo

The repositories are different for CentOS/RHEL 6 and 7 due to library and path differences. Be sure to use the correct version for your system!

RHEL/CentOS 6:

[curator-4]
name=CentOS/RHEL 6 repository for Elasticsearch Curator 4.x packages
baseurl=http://packages.elastic.co/curator/4/centos/6
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

RHEL/CentOS 7:

[curator-4]
name=CentOS/RHEL 7 repository for Elasticsearch Curator 4.x packages
baseurl=http://packages.elastic.co/curator/4/centos/7
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

Binary Package Installation (recommended)edit

Starting with version 4.1.2, Curator comes with a binary version. What this really means is that the source is compiled, and all required libraries are bundled with the curator binary, so there are no conflicts.

There are separate binary packages for RedHat variants. The binary packages resulting from the creation process have been tested on CentOS 6 & 7, with a different binary for each. They may work on similar variants and/or derivatives, but they have not been tested.

yum install elasticsearch-curator

This will install the necessary files into /opt/elasticsearch-curator and make a symlink at /usr/bin/curator that points to the curator binary in the aforementioned directory.

The elasticsearch-curator binary package cannot coexist with the python-elasticsearch-curator package. This collision is explicitly defined in packages since 4.1.2, but not in previous packages. If it is installed, you must uninstall the python-elasticsearch-curator package before installing the elasticsearch-curator binary package.

Python Package Installationedit

This method will install all of the python modules (or libraries) that Curator requires, as well as an entry-point to launch Curator. The shared library approach introduces the possibility of library collision, which will prevent installation, with error messages explaining why. If this happens, it is recommended that you use the binary installation method, as this precludes the possibility of library collision.

To install Curator, run the following:

yum install python-elasticsearch-curator

The python-elasticsearch-curator binary package cannot coexist with the elasticsearch-curator package. This collision is explicitly defined in packages since 4.1.2, but not in previous packages. If it is installed, you must uninstall the elasticsearch-curator binary package before installing the python-elasticsearch-curator package and its dependencies.

Troubleshootingedit

There are some pitfalls you may encounter:

  • ImportError: No module named pkg_resources

    If you see this error:

    Traceback (most recent call last):
      File "/usr/bin/curator", line 5, in <module>
        from pkg_resources import load_entry_point
    ImportError: No module named pkg_resources

    Then you will need to install python-setuptools (provided in the Curator repository):

    yum install python-setuptools

    See more detail in this FAQ.

  • Requires: python-unittest2 (RHEL/CentOS 6 only)

    If you see an error like this:

    Error: Package: python-elasticsearch-2.4.0-1.noarch (curator-4)
               Requires: python-unittest2

    Then you will need to install python-unittest2, which is provided in the Curator repository, and also in the epel-release repository:

    yum install epel-release

    After this is installed, run the yum install python-elasticsearch-curator command again.