tree: 1a3f01693c6e320cb4998786bbbecc9f9d440b32 [path history] [tgz]
  1. config/
  2. dist/
  3. downloads/
  4. patches/
  5. scripts/
  6. .dockerignore
  7. .env
  8. .gitignore
  9. docker-compose.ranger-base.yml
  10. docker-compose.ranger-build.yml
  11. docker-compose.ranger-hadoop.yml
  12. docker-compose.ranger-hbase.yml
  13. docker-compose.ranger-hive.yml
  14. docker-compose.ranger-kafka.yml
  15. docker-compose.ranger-kms.yml
  16. docker-compose.ranger-knox.yml
  17. docker-compose.ranger-mysql.yml
  18. docker-compose.ranger-postgres-mounted.yml
  19. docker-compose.ranger-postgres.yml
  20. docker-compose.ranger-tagsync.yml
  21. docker-compose.ranger-trino.yml
  22. docker-compose.ranger-usersync.yml
  23. docker-compose.ranger.yml
  24. Dockerfile.ranger
  25. Dockerfile.ranger-base
  26. Dockerfile.ranger-build
  27. Dockerfile.ranger-hadoop
  28. Dockerfile.ranger-hbase
  29. Dockerfile.ranger-hive
  30. Dockerfile.ranger-kafka
  31. Dockerfile.ranger-kms
  32. Dockerfile.ranger-knox
  33. Dockerfile.ranger-mysql
  34. Dockerfile.ranger-postgres
  35. Dockerfile.ranger-solr
  36. Dockerfile.ranger-tagsync
  37. Dockerfile.ranger-trino
  38. Dockerfile.ranger-usersync
  39. Dockerfile.ranger-zk
  40. download-archives.sh
  41. README.md
dev-support/ranger-docker/README.md

Overview

Docker files in this folder create docker images and run them to build Apache Ranger, deploy Apache Ranger and dependent services in containers.

Usage

  1. Ensure that you have recent version of Docker installed from docker.io (as of this writing: Engine 20.10.5, Compose 1.28.5). Make sure to configure docker with at least 6gb of memory.

  2. Update environment variables in .env file, if necessary

  3. Set dev-support/ranger-docker as your working directory.

  4. Execute following command to download necessary archives to setup Ranger/HDFS/Hive/HBase/Kafka/Knox services:

    chmod +x download-archives.sh && ./download-archives.sh
    
  5. Execute following commands to set environment variables to build Apache Ranger docker containers:

    export DOCKER_BUILDKIT=1
    export COMPOSE_DOCKER_CLI_BUILD=1
    export RANGER_DB_TYPE=postgres
    
  6. Build Apache Ranger in containers using docker-compose

    1. Execute following command to build Apache Ranger:

      docker-compose -f docker-compose.ranger-base.yml -f docker-compose.ranger-build.yml up
      

      Time taken to complete the build might vary (upto an hour), depending on status of ${HOME}/.m2 directory cache.

    2. Alternatively, the following commands can be executed from the parent directory

      1. To generate tarballs:mvn clean package -DskipTests

      2. Copy the tarballs and version file to dev-support/ranger-docker/dist

        cp target/ranger-* dev-support/ranger-docker/dist/
        cp target/version dev-support/ranger-docker/dist/
        
      3. Build the ranger-base image:

        docker-compose -f docker-compose.ranger-base.yml build --no-cache
        
  7. To enable file based sync source for usersync execute: export ENABLE_FILE_SYNC_SOURCE=true

  8. Execute following command to start Ranger, Ranger enabled HDFS/YARN/HBase/Hive/Kafka/Knox and dependent services (Solr, DB) in containers:

    docker-compose -f docker-compose.ranger-base.yml -f docker-compose.ranger.yml -f docker-compose.ranger-${RANGER_DB_TYPE}.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f docker-compose.ranger-kms.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hbase.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-hive.yml -f docker-compose.ranger-trino.yml -f docker-compose.ranger-knox.yml up -d
    
    • valid values for RANGER_DB_TYPE: mysql or postgres
  9. To rebuild specific images and start containers with the new image, use following command:

    docker-compose -f docker-compose.ranger-base.yml -f docker-compose.ranger.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f docker-compose.ranger-kms.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hbase.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-hive.yml -f docker-compose.ranger-trino.yml -f docker-compose.ranger-knox.yml up -d --no-deps --force-recreate --build <service-1> <service-2>
    
  10. Ranger Admin can be accessed at http://localhost:6080 (admin/rangerR0cks!)