Ubuntu 16.04 下 Apache Atlas的构建与安装
Apache Atlas是Hadoop社区为解决Hadoop生态系统的元数据治理问题而产生的开源项目,它为Hadoop集群提供了包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心能力。
构建Apache Atlas
下载ApacheAtlas1.0.0版本的源码,apache-atlas-1.0.0-sources.tar.gz,下载地址http://atlas.apache.org/Downloads.html
下载完毕后,执行下面的命令解压、构建Apache Atlas。
tar xvfz apache-atlas-1.0.0-sources.tar.gz
cd apache-atlas-sources-1.0.0/
export MAVEN_OPTS="-Xms2g -Xmx2g"
mvn clean -DskipTests install
备注:
1.需要配置JAVA环境变量,ApacheAtlas1.0.0版本,默认JAVA版本1.8.0-181,版本不匹配执行“mvn clean -DskipTests install”会报错。
2.需要安装Maven,Apache Atlas 1.0.0 版本,默认Maven版本3.5.0以上,版本不匹配执行“mvn clean -DskipTests install”会报错。
第一次构建时间较长,大约1小时25分钟。
打包Apache Atlas(不包含Apache HBase和Apache Solr)
打包命令:
mvn clean -DskipTests package -Pdist
备注:
1.需要执行单元测试和集成测试时不加-DskipTests参数。
2.默认打包中JS、CSS文件都是被压缩后的,如果不希望JS、CSS被压缩,可以使用skipMinify文件进行配置。
该打包方式要求部署环境需要自带Apache HBase和Apache Solr实例,并且需要进行以下配置:
配置atlas.graph.storage.hostname,详情链接
配置atlas.graph.index.search.solr.zookeeper-url,详情链接
配置HBASE_CONF_DIR指向ApacheHBase配置目录,详情链接
创建Solr索引,详情链接
打包Apache Atlas(包含Apache HBase和Apache Solr)
使用embedded-hbase-solr参数来构建包含Apache HBase和Apache Solr的Apache Atlas ,打包命令如下:
mvn clean -DskipTests package -Pdist,embedded-hbase-solr
使用embedded-hbase-solr参数构建的Apache Atlas,在启动时会同时启动一个Apache HBase实例和一个Apache Solr实例。
打包Apache Atlas(包含Apache Cassandra和Apache Solr)
使用embedded-cassandra-solr参数来构建包含Apache Cassandra和Apache Solr的Apache Atlas ,打包命令如下:
mvn clean -DskipTests package -Pdist,embedded-cassandra-solr
使用embedded-cassandra-solr参数构建的Apache Atlas,在启动时会同时启动一个Apache Cassandra实例和一个Apache Solr实例。
Apache Atlas包目录结构
构建过程将会产生以下文件,这些文件将会被用来安装Apache Atlas
distro/target/apache-atlas-${project.version}-bin.tar.gz
distro/target/apache-atlas-${project.version}-hbase-hook.tar.gz
distro/target/apache-atlas-${project.version}-hive-hook.gz
distro/target/apache-atlas-${project.version}-kafka-hook.gz
distro/target/apache-atlas-${project.version}-sources.tar.gz
distro/target/apache-atlas-${project.version}-sqoop-hook.tar.gz
distro/target/apache-atlas-${project.version}-storm-hook.tar.gz
安装运行Apache Atlas
安装Apache Atlas
解压Apache Atlas安装包,并进入目录:
tar -xzvf apache-atlas-${project.version}-bin.tar.gz
cd atlas-${project.version}
使用本地Apache HBase和Apache Solr来启动Apache Atlas
运行以下命令启动Apache Atlas
export MANAGE_LOCAL_HBASE=true
export MANAGE_LOCAL_SOLR=true
bin/atlas_start.py
启动成功界面如下:
Apache HBase和Apache Solr随着Apache Atlas的启动/停止而启动/停止。
使用Apache Atlas
使用以下命令,验证Apache Atlas是否启动成功:
curl -u username:password http://localhost:21000/api/atlas/admin/version
{"Description":"Metadata Management and Data Governance Platform over Hadoop","Version":"1.0.0","Name":"apache-atlas"}
备注:Apache Atlas默认username为admin,默认password为admin;
使用以下命令,快速启动示例模型和数据:
bin/quick_start.py
Enter username for atlas :-
Enter password for atlas :-
启动报错,截图如下:
错误提示:No simple data added to Apache Atlas Server.
备注:怎么添加加示例数据?
访问Apache Atlas UI
启动Apache Atlas,在浏览器中输入地址 http://localhost:21000
登录界面
主界面-Search
主界面-Classification
主界面-Glossary
停止Apache Atlas服务
使用以下命令,停止Apache Atlas服务
bin/atlas_stop.py
配置Apache Atlas
Apache Atlas默认配置目录是{package dir}/conf,将配置目录设置为环境变量ATLAS_CONF。
运行Apache Atlas所需的环境变量可以在atlas-env.sh文件中配置。执行时任何Apache Atlas命令前都会通过脚本引用这个文件。可配置的环境变量:
# The java implementation to use. If JAVA_HOME is not found we expect java and jar to be in path
#export JAVA_HOME=
# any additional java opts you want to set. This will apply to both client and server operations
#export ATLAS_OPTS=
# any additional java opts that you want to set for client only
#export ATLAS_CLIENT_OPTS=
# java heap size we want to set for the client. Default is 1024MB
#export ATLAS_CLIENT_HEAP=
# any additional opts you want to set for atlas service.
#export ATLAS_SERVER_OPTS=
# java heap size we want to set for the atlas server. Default is 1024MB
#export ATLAS_SERVER_HEAP=
# What is is considered as atlas home dir. Default is the base location of the installed software
#export ATLAS_HOME_DIR=
# Where log files are stored. Defatult is logs directory under the base install location
#export ATLAS_LOG_DIR=
# Where pid files are stored. Defatult is logs directory under the base install location
#export ATLAS_PID_DIR=
# Where do you want to expand the war file. By Default it is in /server/webapp dir under the base install dir.
#export ATLAS_EXPANDED_WEBAPP_DIR=
支持大量元数据对象的设置
如果你想存储大量元数据对象,建议设置相关参数以提升JVM的GC性能。通用服务端配置项如下:
export 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"
其中 -XX:SoftRefLRUPolicyMSPerMB 参数选项可以有效保证多用户并发、大数据查询时的GC性能。
针对JDK8建议配置如下:
export ATLAS_SERVER_HEAP="-Xms15360m -Xmx15360m -XX:MaxNewSize=5120m -XX:MetaspaceSize=100M -XX:MaxMetaspaceSize=512m"
注意:对于Mac OS用户,需要配置ATLAS_SERVER_OPTS,在{package dir}/conf/atlas-env.sh文件中取消这行的注释:
#export ATLAS_SERVER_OPTS=
并将其修改为:
export ATLAS_SERVER_OPTS="-Djava.awt.headless=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
配置Apache HBase 作为图数据库的存储端
Apache Atlas默认使用JanusGraph作为图数据库,这也是目前唯一实现可用的图数据库。ApacheHBase目前支持的版本为1.1.x。具体配置Apache Atlas在Apache HBase上图形持久化,可查看详情。
Apache Atlas使用Apache HBase的数据表,可以通过如下设置完成:
atlas.graph.storage.hbase.table=atlas
atlas.audit.hbase.tablename=apache_atlas_entity_audit
配置Apache Solr作为图数据库的索引端
Apache Atlas默认使用JanusGraph作为图数据库,这也是目前唯一实现可用的图数据库。依照下列步骤配置JanusGraph与Apache Solr:
如果未安装Apache Solr,先安装Apache Solr。目前支持的Apache Solr的版本为5.5.1。下载地址:http://archive.apache.org/dist/lucene/solr/5.5.1/solr-5.5.1.tgz
“云模式”启动Apache Solr。Apache Solr 云模式使用ZooKeeper服务作为高可用性集群管理中心。对于小型集群,运行一个ZooKeeper Quorum即可;对于大型集群,需要运行多个独立的ZooKeeper Quorum,至少3个服务器。
注意:Apache Atlas目前仅支持“云模式”下的Apache Solr,不支持“http模式”下的Apache Solr。详情查看:https://cwiki.apache.org/confluence/display/solr/SolrCloud例如,在一台机器启动Apache Solr 节点,监听端口8983:
$SOLR_HOME/bin/solr start -c -z <zookeeper_host:port> -p 8983
- 在SOLR_BIN (e.g. $SOLR_HOME/bin) 目录执行如下命令,在Apache Solr中创建与Apache Atlas使用的索引相匹配的集合。在这个示例中,Apache Atlas 与 Apache Solr实例在2个不同的主机上,首先需要将配置文件从ApacheAtlas实例所在主机的ATLAS_HOME/conf/solr目录中拷贝到Apache Solr实例所在的主机上。命令中的SOLR_CONF指的是拷贝过来的Apache Solr 配置文件所放置的主机目录。
$SOLR_BIN/solr create -c vertex_index -d SOLR_CONF -shards #numShards -replicationFactor #replicationFactor
$SOLR_BIN/solr create -c edge_index -d SOLR_CONF -shards #numShards -replicationFactor #replicationFactor
$SOLR_BIN/solr create -c fulltext_index -d SOLR_CONF -shards #numShards -replicationFactor #replicationFactor