Apache Atlas:curl:7无法连接到本地主机端口 21000:连接被拒绝

问题描述

我正在尝试在本地运行 apache atlas。我遇到了几个问题。 首先,为了清楚我是如何构建 apache 图集的,我将描述步骤:

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

它已经构建,没有任何错误。这是项目结构:

.
├── 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

每当我想运行 atlas_start.py 文件时,我都会遇到以下日志:

/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!!!

这是卷曲:

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

错误

curl: (7) 无法连接到本地主机端口 21000:连接被拒绝

解决方法

在 Apache Atlas 上挣扎了一段时间后,我发现 3.0.0 Snapshot 版本非常有问题!因此我决定构建和安装 Apache Atlas 2.1.0 RC3

先决条件:

确保您已在您的机器上安装了 java。如果您的计算机上没有安装它,您可以在 Linux 中使用以下命令进行安装:

sudo apt-get install openjdk-8-jre

然后应该设置 JAVA_HOME

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

建筑:

  1. 下载 Apache Atlas 2.1.0-rc3:
wget https://github.com/apache/atlas/archive/refs/tags/release-2.1.0-rc3.tar.gz
  1. 打开包装:
 tar -xzvf release-2.1.0-rc3.tar.gz
  1. 设置环境变量:
export MANAGE_LOCAL_HBASE=true
export MANAGE_LOCAL_SOLR=true
  1. 执行:
mvn clean -DskipTests install
mvn clean -DskipTests package -Pdist,embedded-hbase-solr
  1. 将目录更改为 distro/target 并解压服务器 tar 文件:
cd distro/target
tar -xzvf apache-atlas-2.1.0-server.tar.gz
  1. 将目录更改为 apache-atlas-2.1.0-server 并运行执行 atlas_start.py 脚本:
cd apache-atlas-2.1.0-server
bin/atlas_start.py

重要提示 1: 在官方文档中,据说将目录更改为 apache-atlas-2.1.0,而不是 apache-atlas-2.1.0-server。我试过了,但没有用。

重要提示 2:以下日志并不意味着 Apache Atlas 当前正在运行!

 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!!

要确保它正常工作与否,请检查日志目录中的 application.log。如果一切正常,大约需要 10 分钟才能运行,没有任何错误。

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"}%   

http://localhost:21000 应该类似于下图: Apache Atlas


我要感谢 Mark Chesnavsky 帮助我解决了这个问题。如果您有任何其他问题,您可以查看 his post