草庐IT

Linux安装DataHub (开源元数据管理工具)

Laurence 2023-08-30 原文

1. 前置条件

  1. 系统已经安装Python 3.7+
  2. 安装过程中会从GitHub拉取docker compose文件,近期从国内访问GitHub经常终端,导致命令行经常失败,所以:如有条件最好在外网的云上测试或者配置VPN

2. 安装命令

2.1 安装Docker & JQ

sudo yum -y install docker jq
sudo systemctl enable docker
sudo systemctl start docker
# 检查docker服务是否正常启动
systemctl status docker

2.2 创建docker组并将当前用户加入其中

创建docker组并将当前用户加入其中,否则当前用户无权调用docker命令,通常会报出如下错误:

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

后续datahub docker quickstart命令就无法执行。

# 检查/var/run/docker.sock文件的mod
ls -al /var/run/docker.sock
# 通常docker group已经在安装docker时自动建立了
sudo groupadd docker
# 将当前用户添加到docker组中
sudo usermod -a -G docker ${USER}
# 注意:上述将用户加入到组的操作只在下次登录时才能生效
# 所以:需要退出终端重新登录
exit

再次登录,检查加入组的操作是否已生效:

# 检查当前用户是否已经在docker组中
groups
# 检查当前用户是否可以正常使用docker
docker run hello-world

参考: https://www.digitalocean.com/community/questions/how-to-fix-docker-got-permission-denied-while-trying-to-connect-to-the-docker-daemon-socket

2.3 安装Docker Compose (V2)

mkdir -p ~/.docker/cli-plugins
curl -sSL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m) -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
# 检查安装是否正确
docker compose version

参考:https://www.rockyourcode.com/how-to-install-docker-compose-v2-on-linux-2021/

2.4 安装

python3 -m pip install --upgrade pip wheel setuptools
python3 -m pip uninstall datahub acryl-datahub || true  # sanity check - ok if it fails
python3 -m pip install --upgrade acryl-datahub
python3 -m datahub version

2.5 启动

python3 -m datahub docker quickstart

2.6 访问

DataHub的默认端口是9002, 使用Http协议(可使用Firefox打开)。默认账号/密码:datahub/datahub

初始系统没有采集任何元数据,如果需要先探查一下DataHub的基本功能,可以先使用命令:

datahub docker ingest-sample-data

2.7 停止和清理

彻底清理:

# 停止datahub
python3 -m datahub docker quickstart --stop
# 清理所有数据
python3 -m datahub docker nuke

定点清除元数据:

# 删除PROD环境上的所有dataset
datahub delete --env PROD --entity_type dataset
# 删除PROD环境上的所有源自于glue平台的元数据
datahub delete --env PROD --platform glue
# 根据urn精准删除单一目标, urn可从浏览器的URL中获取
datahub delete --urn "urn:li:dataset:(urn:li:dataPlatform:glue,ods.geo_taxi_zone,PROD)" --hard

3. 集成

3.1 集成Airflow

我们以Airflow为例,演示一下DataHub集成Airflow获取作业调度元数据。

首先, 在Datahub中安装airflow的插件(使用datahub docker quickstart启动时已自动安装):

pip install acryl-datahub[airflow]

然后,在Airflow环境中安装DataHub的插件:

pip install acryl-datahub-airflow-plugin

参考: https://datahubproject.io/docs/lineage/airflow

生成一些样本数据,便于更好地了解DataHub的功能。

3.2 集成Glue

首先, 在Datahub中安装glue的插件(使用datahub docker quickstart启动时已自动安装):

pip install 'acryl-datahub[glue]'

3.3 基于元数据文件导入元数据

准备好血缘元数据文件,使用如下命令进行导入:

datahub ingest -c /path/to/lineage.yml

4. 常见错误

4.1 datahub docker quickstart启动失败

[user]$ datahub docker quickstart
No ~/.datahubenv file found, generating one for you...
Unable to run quickstart:
- Docker doesn't seem to be running. Did you start it?

使用docker ps -a检查docker服务,输出如下:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1": dial unix /var/run/docker.sock: connect: permission denied

原因:没有赋予当前用户使用docker的权限

4.2 datahub docker quickstart报错

unknown shorthand flag: 'f' in -f

原因:没有安装Docker Compose (V2),必须是v2版本!

4.3 页面报错“Oops, an error occurred”

先登录服务器,使用curl http://localhost:9002查看是否包含同样错误,如果没有,则大概率是浏览器和VPN导致的,建议使用SSH隧道建立动态代理来解决.

有关Linux安装DataHub (开源元数据管理工具)的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  3. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  4. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  5. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  6. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  7. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  8. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  9. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  10. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

随机推荐