开源元数据管理平台OpenMetadata开发环境搭建

这篇具有很好参考价值的文章主要介绍了开源元数据管理平台OpenMetadata开发环境搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开源的元数据管理平台很多。开源元数据管理平台是一种用于收集、存储和管理数据的工具,它们提供了一种可扩展的方式来组织和维护数据的元数据信息。以下是一些常见的开源元数据管理平台:

  1. Apache Atlas:Apache Atlas是一个开源的大数据元数据管理和数据治理平台,旨在帮助组织收集、整理和管理数据的元数据信息。它提供了丰富的元数据模型和搜索功能,可以与各种数据存储和处理平台集成。
  2. LinkedIn DataHub:LinkedIn DataHub是LinkedIn开源的元数据搜索和发现平台。它提供了一个集中式的元数据存储库,用于管理和浏览各种类型的数据集和数据资产的元数据信息。
  3. Amundsen:Amundsen是Lyft开源的数据发现和元数据管理平台。它提供了一个用户友好的界面,使用户可以搜索、浏览和贡献数据集的元数据信息。Amundsen还支持与其他数据工具和平台的集成。
  4. Metacat:Metacat是Netflix开源的数据发现和元数据管理平台。它提供了一个统一的接口来查找和浏览各种数据集的元数据信息,并支持与其他数据工具和服务的集成。

这些开源元数据管理平台都提供了各种功能,如元数据存储、搜索、浏览、数据资产关系管理、数据血统跟踪等,帮助组织更好地管理和利用数据的元数据信息。

而今天我们要介绍的OpenMetadata,希望提供一种元数据的管理标准,来让我们更好的管理元数据。

以上介绍来源1

另外,关于元数据管理架构的发展,可参考之前我的一篇笔记4

下面是本次开发环境搭建的操作记录,供大家参考。

0. 开发环境搭建

本人操作环境为MacOS,官方文档2有的内容此处不再重复,按照文档要求对机器开发环境进行检查,需要补充安装的是:

antlr4
rpm
jq

其中rpm为可选项,先不安装。其它两个安装指令为:

brew install jq
brew install antlr

安装最新版本的antlr可能会导致空白页问题,建议手动安装4.9.2版本

手动安装ANTLR 4.9.2

  1. 下载ANTLR 4.9.2的jar文件
    从ANTLR的GitHub releases页面或官方网站下载ANTLR 4.9.2的jar文件。

  2. 移动jar文件到一个适当的目录
    例如,可将它放在/usr/local/lib

    mv path_to_downloaded_jar/antlr-4.9.2-complete.jar /usr/local/lib/
    
  3. 创建antlr4和grun的快捷方式
    打开您的bash或zsh配置文件(.bashrc, .bash_profile, .zshrc等)并添加以下别名:

    alias antlr4='java -jar /usr/local/lib/antlr-4.9.2-complete.jar'
    alias grun='java org.antlr.v4.gui.TestRig'
    
  4. 重新加载您的配置文件
    如果您使用的是bash:

    source ~/.bash_profile
    

    如果您使用的是zsh:

    source ~/.zshrc
    
  5. 验证安装

    antlr4
    

上述安装步骤完成后,antlr4别名可在命令行被识别,但在构建项目依旧可能不被识别,在 Maven 中它会报 command not found 错误。

为了解决这个问题,需创建一个名为 antlr4 的可执行脚本,并确保它位于你的 $PATH 中。

  1. 创建一个新的脚本文件:

    sudo nano /usr/local/bin/antlr4
    
  2. 将以下内容粘贴到编辑器中:

    #!/bin/bash
    java -jar /usr/local/lib/antlr-4.9.2-complete.jar "$@"
    

    这里,"$@" 是一个特殊的变量,它会传递所有给该脚本的参数到 java -jar 命令。

  3. 保存并退出编辑器。

  4. 使脚本可执行:

    sudo chmod +x /usr/local/bin/antlr4
    

然后是:

git clone https://github.com/open-metadata/OpenMetadata
cd openmetadata
python3 -m venv env
source env/bin/activate
make install_dev
make install_test precommit_install

如果你在执行时遇到google-re2相关错误时,请按以下步骤解决

google-re2安装问题解决

1. Server端搭建

参考官方教程OpenMetadata Documentation: Get Help Instantly (open-metadata.org)进行操作。

先是通过docker部署Mysql,ProgreSQL和ES,但就这里的部署文档看不出来PostgreSQL有什么用,如果本地有MySQL和PostgreSQL的话(比如我),操作还复杂一些。比如修改对应docker-compose文件里面的端口号,以免于本地服务冲突:

ports:
- "3309:3306"

以上是MySQL端口的修改示例,将原来的3306改成了3309,容器端接口不变。但修改端口似乎对于整个项目的搭建会带来比较多负面影响,建议不修改。

接下来是项目整体打包,-DskipTests建议加上,可以跳过一大堆单元测试的运行(单元测试的报错很难处理)。

mvn clean install -DskipTests

打包后为了方便后续开发,最好在IDEA中去运行实例,中间需要注意JAVA环境配置如检查JAVA_HOME是否配置在正确的路径上。

中间因网络或其他问题导致中断可从失败的模块重新开始,如:

mvn install -rf :openmetadata-service

可能需要单个测试的模块

cd /Users/januswing/code/OpenMetadata/openmetadata-service/src/test/java/org/openmetadata/service/resources/bots/BotResourceTest.java
mvn -Dtest=BotResourceTest test

找到打包好的分发包,在OpenMetadata/openmetadata-dist/target/openmetadata-版本号这里,然后用以下命令执行Mysql表创建

sh bootstrap/bootstrap_storage.sh drop-create-all

记得不要cd进bootstrap,不然会执行失败,官方文档这里是有错的。

接下来,我们就可以在IDEA里面去Build和Run项目了,参考官方文档的配置没有问题。


其他已知问题

  • 如遇到localhost:8585显示空白页面,可能需切换antlr版本,或参考官方Troubleshooting:
  • If you see blank page at http://localhost:8585, please check the logs at logs/openmetadata.log. You might be encountering one of the following errors:
    - connection refused or unreachable - please confirm that MySQL and ES are reachable outside of docker by running docker ps and checking that ports 3306 and 9200 are listening on 0.0.0.0
    - If ElasticSearch in Docker on Mac is crashing, try changing Preferences -> Resources -> Memory to 4 GB
    - If ElasticSearch logs show high disk watermark [90%] exceeded, try changing Preferences -> Resources -> Disk Image Size to at least 16 GB
    - Public Key Retrieval is not allowed - verify that the JDBC connect URL in conf/openmetadata.yaml is configured with the parameter allowPublicKeyRetrieval=true
    - Browser console shows javascript errors, try doing a clean build. Some npm packages may not have been built properly.

环境或代码变更后,重新在根目录执行

mvn -DskipTests clean install

并IDEA中重新Run项目即可

  • 如遇到以下错误信息
Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata (default) on project openmetadata-service: Execution default of goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create-metadata failed.: NullPointerException

可以在日志中看到实际在执行的命令是:
Executing: /bin/sh -c cd '/Users/januswing/code/OpenMetadata/openmetadata-service' && 'git' 'rev-parse' '--verify' 'HEAD'

这个需要在openmetadata-service目录下返回当前分支上最新提交的完整 SHA-1 哈希值。如果你是直接下载github release源码包的话,就会有这个问题。

于是只需要把git构建好即可:

git init
git add .
git commit -m "initial commits"
  • openmetadata-java-client: Maven session does not declare a top level project
    修改根目录pom.xml,把sonar的execution部分注释掉
          <plugin>  
            <groupId>org.sonarsource.scanner.maven</groupId>  
            <artifactId>sonar-maven-plugin</artifactId>  
            <version>${maven.sonar-plugin.version}</version>  
<!--            <executions>-->  
<!--              <execution>-->  
<!--                <id>sonar-verify-execution</id>-->  
<!--                <phase>verify</phase>-->  
<!--                <goals>-->  
<!--                  <goal>sonar</goal>-->  
<!--                </goals>-->  
<!--              </execution>-->  
<!--            </executions>-->  
          </plugin>

sonar是一个用来扫描代码质量的东西,下载release包构建时估计是无法调用到github仓库对应的secrets导致。

2. ingest测试

元数据提取框架官方使用airflow实现,也可以通过connector连接其他的元数据提取框架。
单独部署openmetadata_ingestion的方式官方文档没有明说,我是通过

docker compose -f docker/development/docker-compose.yml up ingestion --build -d

来部署的,但这会导致docker里面多出一套mysql和es的容器。上述命令执行成功后,将两个多出来的容器删掉,然后修改conf/openmetadata.yaml如下:

metadataApiEndpoint: ${SERVER_HOST_API_URL:-http://host.docker.internal:8585/api}

重新Build & Run即可。

docker compose过程中可能会经常遇到网络问题,修改~/.docker/.config.json加上代理有可能可解决一部分网络问题,前提是你本地有代理。

{
        "auths": {
                "https://index.docker.io/v1/": {}
        },
        "credsStore": "desktop",
        "proxies": {
                "default": {
                        "httpProxy": "http://localhost:1088",
                        "httpsProxy": "http://localhost:1088",
                        "noProxy": "localhost,127.0.0.1,host.docker.internal"
                }
        }
}

做完上面步骤,就可以在Settings里面连接本地数据库进行测试了。

## 参考资料

[1] 项目介绍: 一体化元数据管理平台——OpenMetadata入门宝典
[2] 参考文档:OpenMetadata Documentation)
[3] 仓库地址:Open Standard for Metadata
[4] 第三代元数据架构:笔记-三代元数据目录架构文章来源地址https://www.toymoban.com/news/detail-831195.html

到了这里,关于开源元数据管理平台OpenMetadata开发环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源大数据管理平台选型

    随着CDH和HDP的闭源,还有国内信创需求,经过前期调研和后期实践,目前主要有两个产品满足要求:apache bigtop 和 DataSophon 符合要求。因为这两个产品都是完全开源的,自助可控。 项目地址:https://bigtop.apache.org Apache Bigtop 是一个开源项目,旨在提供一套完整的开源软件栈,用

    2024年02月21日
    浏览(29)
  • 开源数据资产(元数据)管理平台选型对比

    尽管数据行业的新词热度,由大数据平台-数据治理-数据中台-数字化转型(现代数据技术栈)转换,做为这些新词的基础组成部分,数据资产管理平台/元数据管理平台/数据目录管理平台等技术方案,依旧处于Gartner曲线的爬升恢复期,相关平台百花齐放,一统江湖的开源平台

    2024年01月24日
    浏览(34)
  • 12款开源数据资产(元数据)管理平台选型分析(三)

    如上,是ChatGPT的百度指数和微信指数,继2022年12月上旬技术圈火热之后,因为微软、谷歌等巨头的推广加持,ChatGPT成为全球大众热源的话题。各大媒体都在消费这波舆论红利,打开微信公众号,劈天盖地各种姿势的ChatGPT推文。关于ChatGPT是否会替代人类的文章,在各个领域和

    2023年04月22日
    浏览(44)
  • 一个开源、免费在线数据建模、元数据管理平台,简单易用

    一、开源项目简介 ERD Online 是一个开源、免费在线数据建模、元数据管理平台。提供简单易用的元数据设计、关系图设计、SQL查询等功能,辅以版本、导入、导出、数据源、SQL解析、审计、团队协作等功能、方便我们快速、安全的管理数据库中的元数据。 使用AGPL-3.0开源协议

    2024年02月02日
    浏览(37)
  • DBeaver:开源、跨平台、强大的数据库管理工具

    1.DBeaver 是什么 DBeaver 是一个流行的开源数据库客户端,它可以用于连接和管理多种不同类型的数据库系统,包括 MySQL、PostgreSQL、Oracle、Microsoft SQL Server 等等。 DBeaver 提供了一种直观的用户界面,允许用户执行各种数据库操作,如查询、修改、备份等等,同时也提供了一些高

    2024年01月25日
    浏览(50)
  • 开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)

    大家好,我是独孤风。 开源元数据管理平台Datahub近期得到了飞速的发展。已经更新到了0.10.5的版本,来咨询我的小伙伴也越来越多,特别是安装过程有很多问题。本文经过和群里大伙伴的共同讨论,总结出安装部署Datahub最新版本的部署手册,希望能帮助到大家。 文章较长,

    2024年02月14日
    浏览(34)
  • 模板管理支持批量操作,DataEase开源数据可视化分析平台v2.2.0发布

    2024年1月8日,DataEase开源数据可视化分析平台正式发布v2.2.0版本。 这一版本的功能升级包括:在“模板管理”页面中,用户可以通过模板管理的批量操作功能,对已有模板进行快速重新分类、删除等维护操作;数据大屏中,支持多个组件构成的分组中某一组件的快速重新定位

    2024年01月20日
    浏览(32)
  • 服务器管理平台开发(2)- 设计数据库表

    本篇文章主要对数据管理平台数据库表设计进行介绍,包括单库多表设计、SQL语句、视图构造等 设备品牌、序列号、型号等使用业务主表进行记录,逻辑磁盘、PCI设备可能出现1对N的情况,分别使用PCI设备表、Mac地址表、逻辑磁盘表、应用程序表、登录日志表进行记录 构建虚

    2024年01月22日
    浏览(48)
  • 数据治理管理平台——数据资产管理

    数据治理 中的资产管理是一切治理活动的起点,在数据治理活动中,占据首要地位,只有将数据真正地资产化,才能有序进行后续的深入挖掘与研究。 数据资产管理作为数据治理的重要组成部分,有效地将数据规范管理和数据处理进行能力整合,实现对具体数据的元数据描

    2024年02月15日
    浏览(30)
  • SpringBoot-高校实训管理平台--01557(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

    摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3 论文结构与章节安排 2   高校实训管理平台 系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5 本章小结 3 高校实

    2024年03月18日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包