内容简介:导语:atlas是开源的元数据管理系统,其包含了元数据治理的基本功能;包括对术语和标签的定义、数据血缘的记录、元数据的采集等功能。对于了解元数据的治理系统的构建过程具有参考意义。本文从实际搭建角度列出一些注意事项,以帮助调研元数据系统的开发者少走弯路。由于atlas官网用的kafka官网版本1.0.0,而CDH上用的是0.9.0-kafka-2.0.2版本。api的版本不一致,导致报下面的错误。
导语:atlas是开源的元数据管理系统,其包含了元数据治理的基本功能;包括对术语和标签的定义、数据血缘的记录、元数据的采集等功能。对于了解元数据的治理系统的构建过程具有参考意义。本文从实际搭建角度列出一些注意事项,以帮助调研元数据系统的开发者少走弯路。
一、修改依赖的kafka版本
1、出现的错误
由于atlas官网用的kafka官网版本1.0.0,而CDH上用的是0.9.0-kafka-2.0.2版本。api的版本不一致,导致报下面的错误。
2、解决方案
要么改atlas源码中kafka的版本,要么hadoop机器集群改用atlas源码当中兼容的kafka版本。
这里我们选择修改atlas源码中依赖的kafka版本。
3、修改代码中kafka的版本后,代码不兼容 。所以注释掉了一部分启动内部kafka的代码
4、把notification模块的启动本地zk和kafka的代码注释掉,这一块代码当中有用到kafka高版本的api和cdh上的kafka不兼容。
5、kafka的钩子模块当中有不少高版本的api,我们目前并不采集kafka的元数据和血缘,所以我从整个项目当中拿掉了这个模块。
二、修改依赖的hbase版本
由于atlas内部的图数据库JanusGraph依赖hbase,并且还有hbase的钩子和导入hbase血缘的代码都会依赖hbase。
但是atlas的源码当中依赖的是Apache的1.1.2版本,而我们的cdh依赖的cdh的1.2.0-cdh5.11.1版本。
所以把代码当中的hbase的版本都换掉cdh上现在用的版本。
JanusGraph需要单独修改依赖的hbase,然后编译安装到mvn仓库,atlas代码依赖这个编译后的JanusGraph图数据库。这个步骤的详情这里不再列出。
1、把atlas整个项目的hbase版本改掉
2、有一行代码版本不兼容,新的api变成了boolen类型,所以老代码注释了,修改成下面一行的代码。
3、hbase-bridge-shim这个模块当中 hbase2个版本接口不兼容,代码做了一点微调。
如下图,把第二个红框圈出的2个方法注释了,在第一个红框里面用了方法参数只有一个不一样的同名方法替换了。在图尾又重写了几个继承的空方法。
三、属性和配置
1、环境变量设置的sh文件里面要把下图所示的2个配置,改成false。即使用外部solr和hbase。
2、配置使用外部kafka。这个是在atlas-application.properties中修改。
四、配置环境变量
1、新增的环境变量如下
sudo vim /etc/profile
export HIVE_HOME=/opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/lib/hive/
export HADOOP_HOME=/opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/lib/hadoop/
source /etc/profile
2、特别说明
这个 HBASE_CONF_DIR 环境变量(hbase的配置文件路径) 也是一个坑,如果设置了,它就用这个路径去找hbase-site.xml;
如果没有设置,它就在atlas下面找。所以如果是用外部的,记得一定要设置环境变量;
如果是用内部的, 要么删掉这个环境变量,要么把环境变量改成本地路径(最好是去掉,因为初次启动的时候哪些配置文件的文件夹还没有创建,也没有地方设置这个路径)。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。