Apache Atlas Docker image Install
Apache Atlas Docker image
This Apache Atlas
is built from the 2.1.0-release source tarball and patched to be run in a Docker container.
Atlas is built with embedded HBase + Solr
and it is pre-initialized, so you can use it right after image download without additional steps.
If you want to use external Atlas backends, set them up according to the documentation.
Basic usage
- Pull the latest release image:
docker pull sburn/apache-atlas
- Start Apache Atlas in a container exposing Web-UI port 21000:
docker run -d \
-p 21000:21000 \
--name atlas \
sburn/apache-atlas \
/opt/apache-atlas-2.1.0/bin/atlas_start.py
Please, take into account that the first startup of Atlas may take up to few mins depending on host machine performance before web-interface become available at http://localhost:21000/
Web-UI default credentials: admin / admin
Usage options
Gracefully stop Atlas:
docker exec -ti atlas /opt/apache-atlas-2.1.0/bin/atlas_stop.py
Check Atlas startup script output:
docker logs atlas
Check interactively Atlas application.log (useful at the first run and for debugging during workload):
docker exec -ti atlas tail -f /opt/apache-atlas-2.1.0/logs/application.log
Run the example (this will add sample types and instances along with traits):
docker exec -ti atlas /opt/apache-atlas-2.1.0/bin/quick_start.py
Start Atlas overriding settings by environment variables
(to support large number of metadata objects for example):
docker run --detach \
-e "ATLAS_SERVER_OPTS=-server -XX:SoftRefLRUPolicyMSPerMB=0 \
-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC \
-XX:+CMSParallelRemarkEnabled -XX:+PrintTenuringDistribution \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dumps/atlas_server.hprof \
-Xloggc:logs/gc-worker.log -verbose:gc -XX:+UseGCLogFileRotation \
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1m -XX:+PrintGCDetails \
-XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps" \
-p 21000:21000 \
--name atlas \
sburn/apache-atlas \
/opt/apache-atlas-2.1.0/bin/atlas_start.py
Start Atlas exposing logs directory on the host to view them directly:
docker run --detach \
-v ${PWD}/atlas-logs:/opt/apache-atlas-2.1.0/logs \
-p 21000:21000 \
--name atlas \
sburn/apache-atlas \
/opt/apache-atlas-2.1.0/bin/atlas_start.py
Start Atlas exposing conf directory on the host to place and edit configuration files directly:
docker run --detach \
-v ${PWD}/pre-conf:/opt/apache-atlas-2.1.0/conf \
-p 21000:21000 \
--name atlas \
sburn/apache-atlas \
/opt/apache-atlas-2.1.0/bin/atlas_start.py
Start Atlas with data directory mounted on the host to provide its persistency:
docker run --detach \
-v ${PWD}/data:/opt/apache-atlas-2.1.0/data \
-p 21000:21000 \
--name atlas \
sburn/apache-atlas \
/opt/apache-atlas-2.1.0/bin/atlas_start.py
Tinkerpop Gremlin support
Image contains build-in extras for those who want to play with Janusgraph, and Atlas artifacts using Apache Tinkerpop Gremlin Console (gremlin CLI).
-
You need Atlas container up and running as shown above.
-
Install
gremlin-server
andgremlin-console
into the container by running included automation script:
docker exec -ti atlas /opt/gremlin/install-gremlin.sh
- Start
gremlin-server
in the same container:
docker exec -d atlas /opt/gremlin/start-gremlin-server.sh
- Finally, run
gremlin-console
interactively:
docker exec -ti atlas /opt/gremlin/run-gremlin-console.sh
Gremlin-console usage example:
\,,,/
(o o)
-----oOOo-(3)-oOOo-----
gremlin>:remote connect tinkerpop.server conf/remote.yaml session
==>Configured localhost/127.0.0.1:8182-[d1b2d9de-da1f-471f-be14-34d8ea769ae8]
gremlin> :remote console
==>All scripts will now be sent to Gremlin Server - [localhost/127.0.0.1:8182]-[d1b2d9de-da1f-471f-be14-34d8ea769ae8] - type ':remote console' to return to local mode
gremlin> g = graph.traversal()
==>graphtraversalsource[standardjanusgraph[hbase:[localhost]], standard]
gremlin> g.V().has('__typeName','hdfs_path').count()
Environment Variables
The following environment variables are available for configuration:
Name | Default | Description |
---|---|---|
JAVA_HOME | /usr/lib/jvm/java-8-openjdk-amd64 | The java implementation to use. If JAVA_HOME is not found we expect java and jar to be in path |
ATLAS_OPTS | any additional java opts you want to set. This will apply to both client and server operations | |
ATLAS_CLIENT_OPTS | any additional java opts that you want to set for client only | |
ATLAS_CLIENT_HEAP | java heap size we want to set for the client. Default is 1024MB | |
ATLAS_SERVER_OPTS | any additional opts you want to set for atlas service. | |
ATLAS_SERVER_HEAP | java heap size we want to set for the atlas server. Default is 1024MB | |
ATLAS_HOME_DIR | What is is considered as atlas home dir. Default is the base location of the installed software | |
ATLAS_LOG_DIR | Where log files are stored. Defatult is logs directory under the base install location | |
ATLAS_PID_DIR | Where pid files are stored. Defatult is logs directory under the base install location | |
ATLAS_EXPANDED_WEBAPP_DIR | Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir. |
Bug Tracker
Bugs are tracked on GitHub Issues.
In case of trouble, please check there to see if your issue has already been reported.
If you spotted it first, help us smash it by providing detailed and welcomed feedback.
Maintainer
This image is maintained by Vadim Korchagin
原文地址:https://www.cnblogs.com/xx2017/p/15162884.html
- 挖洞经验 | 记一次针对Twitter(Periscope)API 的有趣挖洞经历
- 设计模式学习(二): 观察者模式 (C#)
- Carbondata源码系列(一)文件生成过程
- BoopSuite:基于Python编写的无线安全审计套件
- 设计模式学习(一):多用组合少用继承(C#)
- 在asp.net web api 2 (ioc autofac) 使用 Serilog 记录日志
- hbase源码系列(十三)缓存机制MemStore与Block Cache
- hbase源码系列(十四)Compact和Split
- 设计模式学习(四): 1.简单工厂 (附C#实现)
- 从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
- 从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
- RavenDb学习(十)附件,存储大对象
- 从头编写 asp.net core 2.0 web api 基础框架 (3)
- Distribute Cached 使用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 全面解析YOLO V4网络结构
- 刺激!一行代码即可导出所有浏览记录
- 你不知道的 node 爬虫原来这么简单
- 带货直播系统源码中,商品详情页是如何搭建起来的
- 基于飞桨复现CVPR 2020 GhostNet的全程解析
- 【即时通信IM】红包消息如何构建?
- YOLOv4损失函数全面解析
- Pandas进阶修炼120题,给你深度和广度的船新体验
- 5万字、97 张图总结操作系统核心知识点
- C++核心准则CP.100:不要使用无锁编程方式,除非绝对必要
- 神了,Excel的这个操作我今天才知道
- DataFrame(7):DataFrame运算——逻辑运算
- 高性能网关设计实践
- LASSO回归姊妹篇:R语言实现岭回归分析
- 学了这个,三歪再也不想写各种setter了