This is an automated email from the ASF dual-hosted git repository.

mneethiraj pushed a commit to branch atlas-2.6
in repository https://gitbox.apache.org/repos/asf/atlas.git

commit 64019e35c9b84940c89fe0b25cbfc6793208cdac
Author: Madhan Neethiraj <[email protected]>
AuthorDate: Sun Sep 13 11:05:39 2026 -0700

    ATLAS-5403: fix docker setup startup failure in atlas-hadoop, atlas-hive 
containers (#755)
---
 dev-support/atlas-docker/Dockerfile.atlas-base     |  1 +
 dev-support/atlas-docker/README.md                 |  4 +--
 dev-support/atlas-docker/config/init_postgres.sh   | 17 +++++++++++
 .../atlas-docker/docker-compose.atlas-common.yml   | 12 ++++++++
 .../atlas-docker/docker-compose.atlas-hadoop.yml   |  2 +-
 .../atlas-docker/docker-compose.atlas-postgres.yml | 34 ----------------------
 6 files changed, 33 insertions(+), 37 deletions(-)

diff --git a/dev-support/atlas-docker/Dockerfile.atlas-base 
b/dev-support/atlas-docker/Dockerfile.atlas-base
index abc2b68d3..e025e86fd 100644
--- a/dev-support/atlas-docker/Dockerfile.atlas-base
+++ b/dev-support/atlas-docker/Dockerfile.atlas-base
@@ -45,6 +45,7 @@ RUN groupadd atlas && \
     useradd -g hadoop -ms /bin/bash kafka && \
     mkdir -p /home/atlas/dist && \
     mkdir -p /home/atlas/scripts && \
+    chmod 755 /home/atlas && \
     chown -R atlas:atlas /home/atlas
 
 ENTRYPOINT [ "/bin/bash" ]
diff --git a/dev-support/atlas-docker/README.md 
b/dev-support/atlas-docker/README.md
index 0be922f07..9e1d97d7e 100644
--- a/dev-support/atlas-docker/README.md
+++ b/dev-support/atlas-docker/README.md
@@ -68,7 +68,7 @@ Docker files in this folder create docker images and run them 
to build Apache At
 
       ```shell
       export ATLAS_BACKEND=postgres
-      docker compose -f docker-compose.atlas.yml -f 
docker-compose.atlas-postgres.yml up -d --wait
+      docker compose -f docker-compose.atlas.yml -f 
docker-compose.atlas-hadoop.yml -f docker-compose.atlas-hbase.yml up -d --wait
       ```
 
       The Postgres overlay runs `config/init_postgres.sh` as a one-shot 
initialization service before Atlas starts.
@@ -78,7 +78,7 @@ Docker files in this folder create docker images and run them 
to build Apache At
 
       ```shell
       export ATLAS_BACKEND=hbase
-      docker compose -f docker-compose.atlas.yml -f 
docker-compose.atlas-hadoop.yml up -d --wait
+      docker compose -f docker-compose.atlas.yml -f 
docker-compose.atlas-hadoop.yml -f docker-compose.atlas-hive.yml up -d --wait
       ```
 
    Apache Atlas will be installed at /opt/atlas/, and logs are at 
/var/log/atlas directory.
diff --git a/dev-support/atlas-docker/config/init_postgres.sh 
b/dev-support/atlas-docker/config/init_postgres.sh
old mode 100644
new mode 100755
index 8085c336f..bb02407ae
--- a/dev-support/atlas-docker/config/init_postgres.sh
+++ b/dev-support/atlas-docker/config/init_postgres.sh
@@ -103,6 +103,19 @@ EOSQL
   "${psql_cmd[@]}" --dbname "${database_name}" -c "GRANT ALL ON SCHEMA public 
TO public;"
 }
 
+
+# Start the normal PostgreSQL entrypoint in background
+docker-entrypoint.sh postgres &
+pg_pid=$!
+
+# Wait until PostgreSQL is ready
+until pg_isready -U "${POSTGRES_USER:-postgres}" -d 
"${POSTGRES_DB:-postgres}"; do
+    sleep 1
+done
+
+echo "PostgreSQL is ready"
+
+
 create_role hive "${HIVE_DB_PASSWORD}"
 create_database hive hive
 
@@ -110,3 +123,7 @@ create_role atlas "${ATLAS_DB_PASSWORD}"
 create_database atlas atlas
 
 PGPASSWORD="${ATLAS_DB_PASSWORD}" "${atlas_psql_cmd[@]}" --file 
"${ATLAS_SCHEMA_FILE}"
+
+
+# Keep postgres as the container's main process
+wait "$pg_pid"
diff --git a/dev-support/atlas-docker/docker-compose.atlas-common.yml 
b/dev-support/atlas-docker/docker-compose.atlas-common.yml
index 15375cd2a..cd5159ab6 100644
--- a/dev-support/atlas-docker/docker-compose.atlas-common.yml
+++ b/dev-support/atlas-docker/docker-compose.atlas-common.yml
@@ -53,7 +53,19 @@ services:
     networks:
       - atlas
     environment:
+      POSTGRES_HOST: atlas-db
+      POSTGRES_PORT: 5432
+      POSTGRES_USER: postgres
+      POSTGRES_DB: postgres
       POSTGRES_PASSWORD: atlasR0cks!
+      HIVE_DB_PASSWORD: atlasR0cks!
+      ATLAS_DB_PASSWORD: atlasR0cks!
+      ATLAS_SCHEMA_FILE: /tmp/create_schema.sql
+    volumes:
+      - ./config/init_postgres.sh:/tmp/init_postgres.sh:ro
+      - 
../../graphdb/janusgraph-rdbms/src/main/resources/META-INF/postgres/create_schema.sql:/tmp/create_schema.sql:ro
+    command:
+      - /tmp/init_postgres.sh
     healthcheck:
       test: 'su -c "pg_isready -q" postgres'
       interval: 30s
diff --git a/dev-support/atlas-docker/docker-compose.atlas-hadoop.yml 
b/dev-support/atlas-docker/docker-compose.atlas-hadoop.yml
index a6880fc22..4a82d2d52 100644
--- a/dev-support/atlas-docker/docker-compose.atlas-hadoop.yml
+++ b/dev-support/atlas-docker/docker-compose.atlas-hadoop.yml
@@ -16,7 +16,7 @@ services:
       - "9000:9000"
       - "8088:8088"
     healthcheck:
-      test: [ "CMD-SHELL", "su hdfs -c \"/opt/hadoop/bin/hdfs dfsadmin -report 
| grep -q 'Live datanodes'\"" ]
+      test: [ "CMD-SHELL", "su hdfs -c \"/opt/hadoop/bin/hdfs dfs -stat 
/tmp/hive\"" ]
       interval: 30s
       timeout: 10s
       retries: 30
diff --git a/dev-support/atlas-docker/docker-compose.atlas-postgres.yml 
b/dev-support/atlas-docker/docker-compose.atlas-postgres.yml
deleted file mode 100644
index 05fe13225..000000000
--- a/dev-support/atlas-docker/docker-compose.atlas-postgres.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-services:
-  atlas:
-    depends_on:
-      atlas-db-init:
-        condition: service_completed_successfully
-
-  atlas-db-init:
-    image: postgres:13.21
-    container_name: atlas-db-init
-    hostname: atlas-db-init.example.com
-    networks:
-      - atlas
-    depends_on:
-      atlas-backend:
-        condition: service_healthy
-    environment:
-      POSTGRES_HOST: atlas-db
-      POSTGRES_PORT: 5432
-      POSTGRES_USER: postgres
-      POSTGRES_DB: postgres
-      POSTGRES_PASSWORD: atlasR0cks!
-      HIVE_DB_PASSWORD: atlasR0cks!
-      ATLAS_DB_PASSWORD: atlasR0cks!
-      ATLAS_SCHEMA_FILE: /tmp/create_schema.sql
-    volumes:
-      - ./config/init_postgres.sh:/tmp/init_postgres.sh:ro
-      - 
../../graphdb/janusgraph-rdbms/src/main/resources/META-INF/postgres/create_schema.sql:/tmp/create_schema.sql:ro
-    command:
-      - /bin/bash
-      - /tmp/init_postgres.sh
-
-networks:
-  atlas:
-    name: atlasnw

Reply via email to