Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions dev-support/ranger-docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,22 @@ cd dev-support/ranger-docker
# To enable file based sync source for usersync do:
# export ENABLE_FILE_SYNC_SOURCE=true

# valid values for RANGER_DB_TYPE: mysql/postgres/oracle
# valid values for RANGER_DB_TYPE: mysql/postgres/oracle/sqlserver

docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f docker-compose.ranger-pdp.yml -f docker-compose.ranger-kms.yml up -d

# Ranger Admin can be accessed at http://localhost:6080 (admin/rangerR0cks!)
~~~

Solr is no longer part of the core stack, so the command above brings up Ranger **without Solr**.
Choose an audit store explicitly:
- For **Solr** audits, add `-f docker-compose.ranger-solr.yml` to any command below and set `audit_store=solr` in the relevant `scripts/admin/ranger-admin-install-${RANGER_DB_TYPE}.properties`.
- For **OpenSearch** audits, add `-f docker-compose.ranger-opensearch.yml` and set `audit_store=opensearch` (see "OpenSearch audit flow" below).

~~~
# Example: core services with Solr audits
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-solr.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f docker-compose.ranger-pdp.yml -f docker-compose.ranger-kms.yml up -d
~~~
#### Bring up hive container
~~~
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-hive.yml up -d
Expand Down Expand Up @@ -159,7 +169,7 @@ Similarly, check the `depends` section of the `docker-compose.ranger-service.yam
#### Bring up all containers
~~~
./scripts/ozone/ozone-plugin-docker-setup.sh
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f docker-compose.ranger-pdp.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-knox.yml -f docker-compose.ranger-ozone.yml up -d
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-solr.yml -f docker-compose.ranger-usersync.yml -f docker-compose.ranger-tagsync.yml -f docker-compose.ranger-pdp.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-knox.yml -f docker-compose.ranger-ozone.yml up -d
~~~

#### To rebuild specific images and start containers with the new image:
Expand All @@ -169,7 +179,7 @@ docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-usersync.ym

#### To bring up audit server ingestor + dispatchers. Make sure kafka, solr, and hdfs containers are running before bringing up audit server services.
~~~
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-audit-server.yml up -d
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-solr.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-audit-server.yml up -d
~~~

#### To bring up audit server services individually:
Expand All @@ -178,7 +188,7 @@ docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-hadoop.yml
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-audit-ingestor.yml up -d

# Solr dispatcher
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-audit-dispatcher-solr.yml up -d
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-solr.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-audit-dispatcher-solr.yml up -d

# HDFS dispatcher
docker compose -f docker-compose.ranger.yml -f docker-compose.ranger-hadoop.yml -f docker-compose.ranger-kafka.yml -f docker-compose.ranger-audit-dispatcher-hdfs.yml up -d
Expand Down
2 changes: 0 additions & 2 deletions dev-support/ranger-docker/docker-compose.ranger-ozone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ services:
condition: service_started
ranger:
condition: service_started
ranger-solr:
condition: service_started
environment:
OZONE_OPTS: -XX:-UseContainerSupport -Dcom.sun.net.ssl.checkRevocation=false
OZONE_HOME: /opt/hadoop
Expand Down
2 changes: 0 additions & 2 deletions dev-support/ranger-docker/docker-compose.ranger-pdp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ services:
depends_on:
ranger:
condition: service_started
ranger-solr:
condition: service_started
environment:
- PDP_VERSION
- KERBEROS_ENABLED
Expand Down
50 changes: 50 additions & 0 deletions dev-support/ranger-docker/docker-compose.ranger-solr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
services:
ranger-solr:
build:
context: .
dockerfile: Dockerfile.ranger-solr
args:
- RANGER_BASE_IMAGE=${RANGER_BASE_IMAGE}
- RANGER_BASE_VERSION=${RANGER_BASE_VERSION}
- SOLR_VERSION=${SOLR_VERSION}
- SOLR_PLUGIN_VERSION=${SOLR_PLUGIN_VERSION}
- KERBEROS_ENABLED=${KERBEROS_ENABLED}
image: ranger-solr
container_name: ranger-solr
hostname: ranger-solr.rangernw
volumes:
- ./dist/keytabs/ranger-solr:/etc/keytabs
- ./scripts/solr/solr-ranger_audits:/opt/solr/server/solr/configsets/ranger_audits/conf
# Core conf is copied once by solr-precreate; mount so Solr 9 cache updates apply without recreating the core
- ./scripts/solr/solr-ranger_audits:/var/solr/data/ranger_audits/conf
- ./scripts/solr/ranger_audits/core.properties:/var/solr/data/ranger_audits/core.properties
- ./scripts/solr/ranger-solr-plugin-install.properties:/opt/ranger/ranger-solr-plugin/install.properties
# Keep enable templates in sync with repo (image tarball may be stale)
- ../../plugin-solr/conf/ranger-solr-security-changes.cfg:/opt/ranger/ranger-solr-plugin/install/conf.templates/enable/ranger-solr-security-changes.cfg:ro
- ./scripts/solr/core-site.xml:/opt/solr/server/resources/core-site.xml
- ./scripts/solr/solr-jaas.conf:/var/solr/data/jaas.conf
- ./scripts/solr/solr-security.json:/var/solr/data/security.json
- ./scripts/solr/ranger-solr.sh:/opt/ranger/ranger-solr.sh
- ./scripts/kdc/krb5.conf:/etc/krb5.conf
networks:
- ranger
ports:
- "8983:8983"
depends_on:
ranger-kdc:
condition: service_started
ranger-zk:
condition: service_started
environment:
- KERBEROS_ENABLED
- KRB5_CONFIG=/etc/krb5.conf
# Solr 9 enables Java SecurityManager by default; Ranger keytab login and policy cache need broader access
- SOLR_SECURITY_MANAGER_ENABLED=false
command:
- solr-precreate
- ranger_audits
- /opt/solr/server/solr/configsets/ranger_audits/

networks:
ranger:
name: rangernw
48 changes: 0 additions & 48 deletions dev-support/ranger-docker/docker-compose.ranger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ services:
condition: service_started
ranger-db:
condition: service_healthy
ranger-solr:
condition: service_started
environment:
- RANGER_VERSION
- RANGER_DB_TYPE
Expand Down Expand Up @@ -97,52 +95,6 @@ services:
environment:
- KERBEROS_ENABLED

ranger-solr:
build:
context: .
dockerfile: Dockerfile.ranger-solr
args:
- RANGER_BASE_IMAGE=${RANGER_BASE_IMAGE}
- RANGER_BASE_VERSION=${RANGER_BASE_VERSION}
- SOLR_VERSION=${SOLR_VERSION}
- SOLR_PLUGIN_VERSION=${SOLR_PLUGIN_VERSION}
- KERBEROS_ENABLED=${KERBEROS_ENABLED}
image: ranger-solr
container_name: ranger-solr
hostname: ranger-solr.rangernw
volumes:
- ./dist/keytabs/ranger-solr:/etc/keytabs
- ./scripts/solr/solr-ranger_audits:/opt/solr/server/solr/configsets/ranger_audits/conf
# Core conf is copied once by solr-precreate; mount so Solr 9 cache updates apply without recreating the core
- ./scripts/solr/solr-ranger_audits:/var/solr/data/ranger_audits/conf
- ./scripts/solr/ranger_audits/core.properties:/var/solr/data/ranger_audits/core.properties
- ./scripts/solr/ranger-solr-plugin-install.properties:/opt/ranger/ranger-solr-plugin/install.properties
# Keep enable templates in sync with repo (image tarball may be stale)
- ../../plugin-solr/conf/ranger-solr-security-changes.cfg:/opt/ranger/ranger-solr-plugin/install/conf.templates/enable/ranger-solr-security-changes.cfg:ro
- ./scripts/solr/core-site.xml:/opt/solr/server/resources/core-site.xml
- ./scripts/solr/solr-jaas.conf:/var/solr/data/jaas.conf
- ./scripts/solr/solr-security.json:/var/solr/data/security.json
- ./scripts/solr/ranger-solr.sh:/opt/ranger/ranger-solr.sh
- ./scripts/kdc/krb5.conf:/etc/krb5.conf
networks:
- ranger
ports:
- "8983:8983"
depends_on:
ranger-kdc:
condition: service_started
ranger-zk:
condition: service_started
environment:
- KERBEROS_ENABLED
- KRB5_CONFIG=/etc/krb5.conf
# Solr 9 enables Java SecurityManager by default; Ranger keytab login and policy cache need broader access
- SOLR_SECURITY_MANAGER_ENABLED=false
command:
- solr-precreate
- ranger_audits
- /opt/solr/server/solr/configsets/ranger_audits/

networks:
ranger:
name: rangernw