mavenapache-atlas

Apache Atlas: curl: (7) Failed to connect to localhost port 21000: Connection refused


I'm trying to run apache atlas on my local. There are several problem I have faced to. First, for clearance of how I have build the apache atlas I will describe the steps:

  1. git clone https://github.com/apache/atlas
  2. cd atlas
  3. mvn clean install -DskipTests -X
  4. mvn clean package -Pdist -DskipTests

It has been built without any error. Here is the project structure:

.
├── 3party-licenses
│   ├── Antlr-LICENSE
│   ├── Respond-LICENSE
│   ├── animate-LICENSE
│   ├── backgrid-columnmanager-LICENSE
│   ├── bootstrap-daterangepicker-LICENSE
│   ├── bootstrap-sidebar-LICENSE
│   ├── es5-shim-LICENSE
│   ├── google-fonts-LICENSE
│   ├── handlebars-LICENSE
│   ├── hbs-LICENSE
│   ├── jQuery-QueryBuilder-LICENSE
│   ├── jQuery-ui-LICENSE
│   ├── janusgraph-LICENSE
│   ├── jquery-placeholder-LICENSE
│   ├── mock-LICENSE
│   ├── normalize.css-LICENSE
│   ├── platform-LICENSE
│   ├── pnotify-LICENSE
│   ├── require-handlebars-plugin-LICENSE
│   ├── swagger-ui-LECENSE
│   └── titan-LICENSE
├── DISCLAIMER.txt
├── LICENSE
├── NOTICE
├── README.txt
├── addons
│   ├── falcon-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── falcon-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hbase-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hbase-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hbase-testing-util
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hdfs-model
│   │   ├── pom.xml
│   │   └── target
│   ├── hive-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── hive-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── impala-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── impala-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── impala-hook-api
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── kafka-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── models
│   │   ├── 0000-Area0
│   │   ├── 1000-Hadoop
│   │   ├── 2000-RDBMS
│   │   ├── 3000-Cloud
│   │   └── 4000-MachineLearning
│   ├── sqoop-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── sqoop-bridge-shim
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── storm-bridge
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   └── storm-bridge-shim
│       ├── pom.xml
│       ├── src
│       └── target
├── atlas-examples
│   ├── pom.xml
│   ├── sample-app
│   │   ├── README.md
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   └── target
│       ├── maven-shared-archive-resources
│       └── rat.txt
├── authorization
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│       ├── atlas-authorization-3.0.0-SNAPSHOT.jar
│       ├── classes
│       ├── generated-sources
│       ├── generated-test-sources
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── maven-status
│       ├── rat.txt
│       └── test-classes
├── build-tools
│   ├── pom.xml
│   ├── src
│   │   └── main
│   └── target
│       ├── atlas-buildtools-1.0.jar
│       ├── classes
│       └── maven-archiver
├── client
│   ├── client-v1
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── client-v2
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── common
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── pom.xml
│   ├── src
│   │   └── main
│   └── target
│       ├── maven-shared-archive-resources
│       └── rat.txt
├── common
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│       ├── atlas-common-3.0.0-SNAPSHOT-tests.jar
│       ├── atlas-common-3.0.0-SNAPSHOT.jar
│       ├── classes
│       ├── generated-sources
│       ├── generated-test-sources
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── maven-status
│       ├── rat.txt
│       └── test-classes
├── dashboardv2
│   ├── gruntfile.js
│   ├── package-lock.json
│   ├── package.json
│   ├── pom.xml
│   ├── public
│   │   ├── css
│   │   ├── ieerror.html
│   │   ├── img
│   │   ├── index.html.tpl
│   │   ├── js
│   │   └── migration-status.html.tpl
│   └── target
│       ├── atlas-dashboardv2-3.0.0-SNAPSHOT
│       ├── atlas-dashboardv2-3.0.0-SNAPSHOT.war
│       ├── classes
│       ├── dist
│       ├── gruntfile.js
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── node
│       ├── node_modules
│       ├── package-lock.json
│       ├── package.json
│       ├── rat.txt
│       └── test-classes
├── dashboardv3
│   ├── gruntfile.js
│   ├── package-lock.json
│   ├── package.json
│   ├── pom.xml
│   ├── public
│   │   ├── css
│   │   ├── ieerror.html
│   │   ├── img
│   │   ├── index.html.tpl
│   │   └── js
│   └── target
│       ├── atlas-dashboardv3-3.0.0-SNAPSHOT
│       ├── atlas-dashboardv3-3.0.0-SNAPSHOT.war
│       ├── classes
│       ├── dist
│       ├── gruntfile.js
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── node
│       ├── node_modules
│       ├── package-lock.json
│       ├── package.json
│       ├── rat.txt
│       └── test-classes
├── dev-support
│   ├── atlas-docker
│   │   ├── Dockerfile
│   │   ├── Dockerfile.atlas
│   │   ├── Dockerfile.atlas-base
│   │   ├── Dockerfile.atlas-build
│   │   ├── README.md
│   │   ├── data
│   │   ├── dist
│   │   ├── docker-compose.atlas-base.yml
│   │   ├── docker-compose.atlas-build.yml
│   │   ├── docker-compose.atlas.yml
│   │   ├── patches
│   │   └── scripts
│   ├── atlas-scripts
│   │   ├── README.txt
│   │   ├── admin_status.sh
│   │   ├── classificationdef_get.sh
│   │   ├── entity_classification_bulk.sh
│   │   ├── entity_classifications_add.sh
│   │   ├── entity_classifications_delete.sh
│   │   ├── entity_classifications_update.sh
│   │   ├── entity_create.sh
│   │   ├── entity_delete_by_guid.sh
│   │   ├── entity_get_by_guid.sh
│   │   ├── entity_get_by_type_and_unique_attr.sh
│   │   ├── entity_update.sh
│   │   ├── entity_update_by_type_and_unique_attr.sh
│   │   ├── entitydef_get.sh
│   │   ├── enumdef_get.sh
│   │   ├── env_atlas.sh
│   │   ├── export_entity_by_guid.sh
│   │   ├── export_entity_by_type_and_attr.sh
│   │   ├── import_zip.sh
│   │   ├── sample-data
│   │   ├── search_basic.sh
│   │   ├── search_basic_with_attribute_filters.sh
│   │   ├── search_dsl.sh
│   │   ├── structdef_get.sh
│   │   ├── typedefs_create.sh
│   │   ├── typedefs_delete.sh
│   │   ├── typedefs_get.sh
│   │   └── typedefs_update.sh
│   ├── findbugsIncludeFile.xml
│   ├── smart-apply-patch.sh
│   └── test-patch.sh
├── distro
│   ├── pom.xml
│   ├── src
│   │   ├── bin
│   │   ├── conf
│   │   ├── data
│   │   ├── logs
│   │   ├── main
│   │   ├── server
│   │   └── test
│   └── target
│       ├── META-INF
│       ├── apache-atlas-3.0.0-SNAPSHOT-atlas-index-repair.zip
│       ├── apache-atlas-3.0.0-SNAPSHOT-bin.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-classification-updater.zip
│       ├── apache-atlas-3.0.0-SNAPSHOT-falcon-hook.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-hbase-hook.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-hive-hook.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-impala-hook.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-kafka-hook.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-server.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-sources.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-sqoop-hook.tar.gz
│       ├── apache-atlas-3.0.0-SNAPSHOT-storm-hook.tar.gz
│       ├── archive-tmp
│       ├── atlas-distro-3.0.0-SNAPSHOT.jar
│       ├── bin
│       ├── conf
│       ├── data
│       ├── logs
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── rat.txt
│       ├── server
│       └── test-classes
├── docs
│   ├── docz-lib
│   │   ├── config
│   │   ├── docz
│   │   └── docz-core
│   ├── doczrc.js
│   ├── package.json
│   ├── pom.xml
│   ├── src
│   │   ├── documents
│   │   └── resources
│   ├── target
│   │   ├── atlas-docs-3.0.0-SNAPSHOT.jar
│   │   ├── classes
│   │   ├── docz-lib
│   │   ├── doczrc.js
│   │   ├── maven-archiver
│   │   ├── maven-shared-archive-resources
│   │   ├── package.json
│   │   ├── pom.xml
│   │   ├── rat.txt
│   │   ├── src
│   │   ├── test-classes
│   │   └── theme
│   └── theme
│       ├── components
│       ├── config.js
│       ├── index.js
│       ├── styles
│       └── utils
├── graphdb
│   ├── api
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── common
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── graphdb-impls
│   │   ├── pom.xml
│   │   └── target
│   ├── janus
│   │   ├── pom.xml
│   │   ├── readme.txt
│   │   ├── src
│   │   └── target
│   ├── janus-hbase2
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── pom.xml
│   ├── readme.txt
│   └── target
│       ├── maven-shared-archive-resources
│       └── rat.txt
├── intg
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│       ├── atlas-intg-3.0.0-SNAPSHOT-tests.jar
│       ├── atlas-intg-3.0.0-SNAPSHOT.jar
│       ├── classes
│       ├── generated-sources
│       ├── generated-test-sources
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── maven-status
│       ├── rat.txt
│       └── test-classes
├── notification
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│       ├── atlas-notification-3.0.0-SNAPSHOT.jar
│       ├── classes
│       ├── dependency
│       ├── generated-sources
│       ├── generated-test-sources
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── maven-status
│       ├── rat.txt
│       └── test-classes
├── plugin-classloader
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│       ├── atlas-plugin-classloader-3.0.0-SNAPSHOT.jar
│       ├── classes
│       ├── generated-sources
│       ├── generated-test-sources
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── maven-status
│       ├── rat.txt
│       └── test-classes
├── pom.xml
├── release-build.xml
├── release-log.txt
├── repository
│   ├── pom.xml
│   ├── src
│   │   ├── main
│   │   └── test
│   └── target
│       ├── atlas-repository-3.0.0-SNAPSHOT-tests.jar
│       ├── atlas-repository-3.0.0-SNAPSHOT.jar
│       ├── classes
│       ├── generated-sources
│       ├── generated-test-sources
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── maven-status
│       ├── rat.txt
│       ├── solr
│       └── test-classes
├── server-api
│   ├── pom.xml
│   ├── src
│   │   └── main
│   └── target
│       ├── atlas-server-api-3.0.0-SNAPSHOT.jar
│       ├── classes
│       ├── generated-sources
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── maven-status
│       ├── rat.txt
│       └── test-classes
├── target
│   ├── maven-shared-archive-resources
│   │   └── META-INF
│   └── rat.txt
├── test-tools
│   ├── pom.xml
│   ├── src
│   │   └── main
│   └── target
│       ├── atlas-testtools-3.0.0-SNAPSHOT.jar
│       ├── classes
│       ├── generated-sources
│       ├── maven-archiver
│       ├── maven-shared-archive-resources
│       ├── maven-status
│       ├── rat.txt
│       └── test-classes
├── tools
│   ├── atlas-index-repair
│   │   ├── README
│   │   ├── pom.xml
│   │   ├── src
│   │   └── target
│   ├── atlas-migration-exporter
│   │   ├── README
│   │   ├── atlas-log4j.xml
│   │   └── atlas_migration_export.py
│   └── classification-updater
│       ├── pom.xml
│       ├── src
│       └── target
└── webapp
    ├── pom.xml
    ├── src
    │   ├── main
    │   └── test
    └── target
        ├── api
        ├── atlas-webapp-3.0.0-SNAPSHOT
        ├── atlas-webapp-3.0.0-SNAPSHOT-classes.jar
        ├── atlas-webapp-3.0.0-SNAPSHOT.war
        ├── atlas.keystore
        ├── classes
        ├── enunciate
        ├── generated-sources
        ├── generated-test-sources
        ├── maven-archiver
        ├── maven-shared-archive-resources
        ├── maven-status
        ├── models
        ├── rat.txt
        ├── solr
        ├── test-classes
        └── war

Whenever I want to run atlas_start.py file, I faced to following logs:

/bigdata/atlas/distro/src/conf/atlas-env.sh: line 59: MANAGE_LOCAL_HBASE=${hbase.embedded}: bad substitution
/bigdata/atlas/distro/src/conf/atlas-env.sh: line 62: MANAGE_LOCAL_SOLR=${solr.embedded}: bad substitution
/bigdata/atlas/distro/src/conf/atlas-env.sh: line 65: MANAGE_EMBEDDED_CASSANDRA=${cassandra.embedded}: bad substitution
/bigdata/atlas/distro/src/conf/atlas-env.sh: line 68: MANAGE_LOCAL_ELASTICSEARCH=${elasticsearch.managed}: bad substitution
java.io.FileNotFoundException: /bigdata/atlas/distro/src/server/webapp/atlas.war (No such file or directory)
    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
    at jdk.jartool/sun.tools.jar.Main.run(Main.java:407)
    at jdk.jartool/sun.tools.jar.Main.main(Main.java:1681)
The Server is no longer running with pid 29164
starting atlas on host localhost
starting atlas on port 21000
..............................................................................................................................................................................................................................................................................................................
Apache Atlas Server started!!!

here is the curl:

curl -u username:password http://localhost:21000/api/atlas/v2/types/typedefs/headers

error:

curl: (7) Failed to connect to localhost port 21000: Connection refused


Solution

  • After struggling with Apache Atlas for a while, I found 3.0.0 Snapshot version very buggy! Therefore I have decided to build and install Apache Atlas 2.1.0 RC3.

    Prerequisite:

    Make sure you have installed java on your machine. In case it is not installed on your computer, you can install it using the following command in Linux:

    sudo apt-get install openjdk-8-jre

    Then JAVA_HOME should be set:

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    

    Building:

    1. Download Apache Atlas 2.1.0-rc3:
    wget https://github.com/apache/atlas/archive/refs/tags/release-2.1.0-rc3.tar.gz
    
    1. Unpack it:
     tar -xzvf release-2.1.0-rc3.tar.gz
    
    1. Set environment variables:
    export MANAGE_LOCAL_HBASE=true
    export MANAGE_LOCAL_SOLR=true
    
    1. Execute:
    mvn clean -DskipTests install
    mvn clean -DskipTests package -Pdist,embedded-hbase-solr
    
    1. Change the directory to distro/target and unpack the server tar file:
    cd distro/target
    tar -xzvf apache-atlas-2.1.0-server.tar.gz
    
    1. Change the directory to apache-atlas-2.1.0-server and run execute atlas_start.py script:
    cd apache-atlas-2.1.0-server
    bin/atlas_start.py
    

    Important Tip 1: In official documentation it is said to change directory to apache-atlas-2.1.0, not apache-atlas-2.1.0-server. I have tried it but it doesn't work.

    Important Tip 2: The following log doesn't mean that Apache Atlas is currently running!

     configured for local hbase.
    hbase started.
    configured for local solr.
    solr started.
    setting up solr collections…
    starting atlas on host localhost
    starting atlas on port 21000
    Apache Atlas Server started!!
    

    To ensure that it is working properly or not, check the application.log in logs directory. If everything would be OK, it takes about 10 minutes to run without any error.

    Brief screenshot of logs/application.log: application.log apache atlas

    **Check the function:**
    
    > curl -u admin:admin http://localhost:21000/api/atlas/admin/version                                                                                                                                 
    
    {"Description":"Metadata Management and Data Governance Platform over Hadoop","Revision":"release","Version":"2.1.0","Name":"apache-atlas"}%   
    

    or

    http://localhost:21000 should look-like the following picture: Apache Atlas


    I want to thank Mark Chesnavsky helping me to resolve this issue. If you have any other issue you can check his post.