Download and verify Apache Ranger¶
Apache Ranger is distributed as a source tarball, as binary tarballs for each service and plugin, as Docker
images and as Maven artifacts. All releases are made under the
Apache License, Version 2.0; the LICENSE and NOTICE files in
each artifact list the terms of the bundled third-party components.
Whatever you download, verify it. Every file published by the project comes with a detached OpenPGP signature
(.asc) and a checksum file (.sha512, and .sha256 for the source tarball). The signing keys are in the
project's KEYS file. Verification takes a minute and protects you from a corrupted mirror or a tampered file.
Current release¶
The current stable release is Apache Ranger 2.9.0 (August 8, 2026); see the 2.9.0 release notes. Download it from the ASF download server, which serves the closest mirror:
| Artifact | Link |
|---|---|
| Source | apache-ranger-2.9.0.tar.gz (asc, sha512, sha256) |
| Services | services/ — admin, usersync, tagsync, kms, pdp |
| Plugins | plugins/ — atlas, elasticsearch, hbase, hdfs, hive, kafka, knox, kylin, ozone, presto, schema-registry, solr, sqoop, storm, trino, yarn |
| Tools | tools/ — migration-util, ranger-tools, sample-client, solr_audit_conf |
| Everything | downloads.apache.org/ranger/2.9.0/ |
Binary tarballs follow the naming pattern ranger-<version>-<component>.tar.gz, for example
services/admin/ranger-2.9.0-admin.tar.gz and plugins/hive/ranger-2.9.0-hive-plugin.tar.gz. Each sits next to
its .asc and .sha512 files. Binary tarballs have been published for 2.6.0 and later (the pdp service and the
trino plugin from 2.9.0); for older releases build them from the source tarball.
Previous releases are listed on the Releases page. Every release ever made, including the incubating ones, stays available at archive.apache.org/dist/ranger/ and archive.apache.org/dist/incubator/ranger/.
Verify signatures and checksums¶
Signatures and checksums must always be fetched from the ASF servers (downloads.apache.org or
archive.apache.org), not from a mirror, so that a compromised mirror cannot serve matching fake files.
1. Import the signing keys¶
The KEYS file contains the public keys of all Ranger release managers:
curl -O https://downloads.apache.org/ranger/KEYS
gpg --import KEYS
The same file is available from https://dist.apache.org/repos/dist/release/ranger/KEYS. Release announcement
emails name the key used for that release; you can show a key's fingerprint with gpg --fingerprint <key-id>.
Because you import keys from a file rather than through a web of trust, gpg will report the signature as good
but the key as not certified; that warning is expected.
2. Verify the OpenPGP signature¶
export RANGER_VERSION=2.9.0
curl -O https://downloads.apache.org/ranger/${RANGER_VERSION}/apache-ranger-${RANGER_VERSION}.tar.gz
curl -O https://downloads.apache.org/ranger/${RANGER_VERSION}/apache-ranger-${RANGER_VERSION}.tar.gz.asc
gpg --verify apache-ranger-${RANGER_VERSION}.tar.gz.asc apache-ranger-${RANGER_VERSION}.tar.gz
A successful check prints Good signature from "<release manager>". Any other result means the file must not be
used.
3. Verify the checksum¶
For releases from 2.5.0 onward the .sha512 file is produced with sha512sum, so it can be checked directly:
curl -O https://downloads.apache.org/ranger/${RANGER_VERSION}/apache-ranger-${RANGER_VERSION}.tar.gz.sha512
sha512sum -c apache-ranger-${RANGER_VERSION}.tar.gz.sha512
curl -O https://downloads.apache.org/ranger/${RANGER_VERSION}/apache-ranger-${RANGER_VERSION}.tar.gz.sha512
shasum -a 512 -c apache-ranger-${RANGER_VERSION}.tar.gz.sha512
The source tarball also ships a .sha256 file; sha256sum -c (or shasum -a 256 -c) checks it the same way.
Repeat steps 2 and 3 for every binary tarball you download.
Older releases
The .sha512 files of releases 2.0.0 through 2.4.0 are in gpg --print-md SHA512 format (upper-case hex in
groups), which sha512sum -c cannot read. For those, run gpg --print-md SHA512 apache-ranger-<version>.tar.gz
and compare the output with the file. The 2.2.0 checksum files are named with an upper-case extension,
apache-ranger-2.2.0.tar.gz.SHA512 and .SHA256. Releases 0.4.0 through 0.7.0 (except 0.6.3) have no
.sha512 file; their digests are in a single .mds file (gpg --print-mds output), so compare the matching
line with gpg --print-md SHA512 <file> or gpg --print-md SHA1 <file>.
Docker images¶
Official images are published to Docker Hub under the apache organization for each release from 2.4.0 onward.
The release manager builds them from the dev-support/ranger-docker Dockerfiles at the release tag; see
Release process.
| Image | Purpose | Tags |
|---|---|---|
| apache/ranger | Ranger Admin | 2.4.0 … 2.9.0 |
| apache/ranger-db | PostgreSQL database initialized for Ranger | same as apache/ranger |
| apache/ranger-solr | Solr with the ranger_audits collection |
same as apache/ranger |
| apache/ranger-zk | ZooKeeper for Solr | 2.4.0 … 2.8.0 (no 2.9.0 tag has been published) |
| apache/ranger-base | Base image (OS + JDK) used to build and run the other images | <date>-<n>-<jdk>, for example 20260806-2-17 |
The images are not signed; pull them by version tag rather than latest and check the image digest shown by
Docker Hub. The quick-start below, from the cwiki page
Run Ranger in Docker using DockerHub images,
starts Ranger Admin with its PostgreSQL, Solr and ZooKeeper dependencies:
export RANGER_VERSION=2.9.0
export RANGER_ZK_VERSION=2.8.0
docker pull apache/ranger-zk:${RANGER_ZK_VERSION}
docker pull apache/ranger-solr:${RANGER_VERSION}
docker pull apache/ranger-db:${RANGER_VERSION}
docker pull apache/ranger:${RANGER_VERSION}
docker network create rangernw
docker run -d --name ranger-zk --hostname ranger-zk.example.com --network rangernw -p 2181:2181 \
apache/ranger-zk:${RANGER_ZK_VERSION}
docker run -d --name ranger-solr --hostname ranger-solr.example.com --network rangernw -p 8983:8983 \
apache/ranger-solr:${RANGER_VERSION} solr-precreate ranger_audits /opt/solr/server/solr/configsets/ranger_audits/
docker run -d --name ranger-db --hostname ranger-db.example.com --network rangernw \
--health-cmd='su -c "pg_isready -q" postgres' --health-interval=10s --health-timeout=2s --health-retries=30 \
apache/ranger-db:${RANGER_VERSION}
docker run -d --name ranger --hostname ranger.example.com --network rangernw \
-e RANGER_VERSION=${RANGER_VERSION} -e RANGER_DB_TYPE=postgres -p 6080:6080 \
apache/ranger:${RANGER_VERSION} /home/ranger/scripts/ranger.sh
Ranger Admin is then available at http://localhost:6080/ (user admin, password rangerR0cks!). To run the
full stack with plugins, or to build images from a source checkout, use the compose files in
dev-support/ranger-docker.
Maven Central¶
Ranger libraries are published to Maven Central under the group org.apache.ranger, with the release version
as the artifact version. Releases 0.6.0 through 2.9.0 are available; artifacts for a new release are deployed
during the release process, so check
repo1.maven.org/maven2/org/apache/ranger/ if the version
you need is not there yet.
Artifacts you are most likely to depend on:
| Artifact | Contents |
|---|---|
ranger-plugins-common |
Policy engine, RangerBasePlugin, policy refresher, RangerAccessRequest/RangerAccessResult |
ranger-plugins-audit (up to 2.6.0) / ranger-audit-dest-solr, ranger-audit-dest-hdfs, ranger-audit-dest-es, ranger-audit-dest-kafka, ranger-audit-dest-log4j, ranger-audit-dest-cloudwatch (2.7.0 and later) |
Audit framework and destinations; see the 2.7.0 breaking changes |
ranger-intg |
Java client for the Ranger Admin REST API (RangerClient) |
ranger-authz-api, authz-embedded |
Component-neutral authorization API and embedded authorizer (2.8.0 and later) |
ranger-<component>-plugin, ranger-<component>-plugin-shim |
Per-component authorizers and their shim classes (hdfs, hive, hbase, kafka, knox, solr, ozone, trino, …) |
ranger-plugin-classloader |
Classloader used by the shims to isolate plugin dependencies |
ranger-kms, ranger-tagsync, unixusersync, security-admin-web |
Service modules |
<dependency>
<groupId>org.apache.ranger</groupId>
<artifactId>ranger-plugins-common</artifactId>
<version>2.9.0</version>
</dependency>
The Python client is published to PyPI as apache-ranger
(pip install apache-ranger); its source is in intg/src/main/python of the repository.
Source code and release tags¶
Every release since 0.7.1 is tagged in the Git repository as release-ranger-<version>
(https://github.com/apache/ranger/tags); the tag matches the contents of the source tarball. Release branches
are named ranger-<major>.<minor>, for example ranger-2.9. To build a release from source:
git clone https://github.com/apache/ranger.git
cd ranger
git checkout release-ranger-2.9.0
mvn clean package -DskipTests
The build writes the same ranger-<version>-<component>.tar.gz files that are published in the services/,
plugins/ and tools/ directories to target/.
Further reading¶
- Releases — every release with dates and links.
- Release process — how artifacts are built, signed and published.
- Installation overview — choosing between tarballs, Docker and building from source.
- ASF release signing guide and verifying downloads.