当前位置:   article > 正文

datahub元数据管理平台从安装到使用一站式指南(未完)_datahub安装_datahub使用

datahub使用

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

1.1.3 datahub在线安装并启动

1.2 datahub离线安装

1.2.1 docker离线安装

1.2.2 python离线安装

1.2.3 datahub离线安装并启动

1.3 本地环境替换datahub docker

1.3 安装过程中可能遇到的问题

1.3.1 python3安装后导致yum不能正常使用

1.3.2 python控制台中按backspace返回^H

二 datahub使用

2.1 使用命令摄取

2.1.1  摄取前准备工作

2.1.2 编辑yml文件执行摄取操作(未完)

2.2 datahub命令详解

2.2.1 check

2.3 摄取调度中心

2.3.1 mysql源摄取流程

2.4 Settings

2.4.1 Access Tokens

2.4.2 Users & Groups

2.4.3 Permissions

2.4.4 MyViews

2.5管理中心

2.5.1 Govern—Glossary

2.5.2 Govern—Domains

2.6 Analytics

2.7 数据血缘

2.7.1 UI手动创建

2.7 后续升级

2.8 新用户创建

2.9 接口调用

三 datahub原理与支持

3.1支持的数据源

3.2 DataSets元数据模型

优点:

缺点:

3.x datahub相关容器研究

3.x.x datahub的元数据库


datahub安装

1.1 datahub在线安装

1.1.1 docker在线安装

(1)下载docker-ce.repo文件

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(2)注意如果下载配置过python3,yum-config-manager命令可能会报错,

记得修改/usr/bin/yum-config-manager开头到python2

这是我的软连接路径,具体情况依照个人的配置

(3)按照官网文档,需要安装docker和dockerCompose v2!!! ,实测启动后内存占用4G多一点,最低配置6G内存应该可以。

(4)下载docker-ce、docker

① yum下载docker

yum install docker-ce docker –y

② 开启服务

systemctl start docker

③ 设置开机自启

systemctl enable docker

(5)下载docker-compose

注意!!务必使用以下方法或去github(Releases · docker/compose (github.com)")下载docker-compose 2.x,没试过其余版本但2.16以上绝对可以。yum install下载的版本为docker-compose 1.x,运行会报非常多错,一开始没注意走了很多弯路,

① curl-SL下载命令

curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose

② chmod +x赋予运行权限

③到/usr/bin下创建软链接

④ docker-compose version查看安装是否成功

(6)docker运行hello-world检查是否安装成功

docker run hello-world

1.1.2 python安装

1.1.3 datahub在线安装并启动

不知是不是老虚拟机的缘故,网上别的教程里要求的python库我都没有特地去安,只按官网要求安装库就可以运行了

(1)更新pip、wheel、setuptools工具

python3 -m pip install --upgrade pip wheel setuptools

(2)下载acryl-datahub
python3 -m pip install --upgrade acryl-datahub

(3)datahub version查看是否成功

如果看到“command not found”,尝试运行前缀为python3 -m的cli命令,例如python3 -m datahub version,注意数据中心CLI不支持 Python 2.x。

(4)快速启动datahub

datahub docker quickstart

直接执行quickstart可能会报错:

ConnectionError: HTTPSConnectionPool(host=‘raw.githubusercontent.com’, port=443): Max retries exceeded with url: /linkedin/datahub/master/docker/quickstart/docker-compose-without-neo4j.quickstart.yml (Caused by NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x7fe29e5fe760>: Failed to establish a new connection: [Errno -2] Name or service not known’))

这个网址国内有可能连不上,不过命令的原理就是到raw.githubusercontent.com下载docker-compose-without-neo4j.quickstart.yml,可以在github上下载这个yml到本地

然后使用命令:

datahub docker quickstart --quickstart-compose-file ~/docker-compose-without-neo4j.quickstart.yml

源码可以不整个git clone,文件很大加上github下载速度慢,只下载docker-compose-without-neo4j.quickstart.yml就可以

注意如果虚拟机上安装过mysql或者mariadb记得systemctl stop ,不然会报端口占用错误,另外启动容器时还需要开放如下端口

不建议在已安装上述常见组件的服务器上运行datahub,

(5)出现下图则证明各个容器启动完成

(6) 摄取官方提供的测试用元数据

datahub docker ingest-sample-data

(7)登陆${hostname}:9002查看前端界面

1.2 datahub离线安装

对于公司开发内网环境来说,无法pip、yum在线下载,无法在线pull docker镜像,这一章尝试离线安装所有需要的组件。

1.2.1 docker离线安装

(1)进入官网下载tgz包(https://download.docker.com/linux/static/stable/x86_64/)

(2)将安装包上传后tar –zxvf解压

(3)创建docker.service

vi /etc/systemd/system/docker.service

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

[Service]

Type=notify

the default is not to use systemd for cgroups because the delegate issues still

exists and systemd currently does not support the cgroup feature set required

for containers run by docker

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

Having non-zero Limit*s causes performance problems due to accounting overhead

in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

Uncomment TasksMax if your systemd version supports it.

Only systemd 226 and above support this version.

#TasksMax=infinity

TimeoutStartSec=0

set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

kill only the docker process, not all processes in the cgroup

KillMode=process

restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

chmod +x /etc/systemd/system/docker.service

systemctl daemon-reload

systemctl start docker

(4)用1.1.1(5)中github(Releases · docker/compose (github.com)"))下载安装包的方式安装docker-compose

(5)启动datahub后docker ps 查看所有启动的容器

(6)使用命令保存镜像,注意把相关的镜像都下载到本地docker save –o 包名 镜像名

例如:docker save -o localimage/datahub-actions.tar acryldata/datahub-actions:head

将所有datahub相关镜像全部下载到本地,最后效果是这样的:

(7)将镜像包发送到无网络环境的服务器上

(8)docker load –I 包名

将镜像加载到无网络环境的服务器上

1.2.2 python离线安装

(1)使用国内华为源(https://mirrors.huaweicloud.com/python)下载tar.xz包

(2)xz –d将tar.xz解压为tar

xz -d Python-3.9.11.tar.xz

(3)tar –xvf 将tar包解压

tar -xvf Python-3.9.11.tar

(4)注意安装之前必须保证有gcc、libffi-devel、zlib(否则pip无法安装)、openssl≥1.1.1、bzip2-devel(dathub所需)

离线安装gcc等命令可以在有网络的服务器使用repotrack命令将相关rpm包下载下来,然后传至无网服务器使用rpm -Uvh *rpm --nodeps –force安装

以gcc举例:

① 在有网络服务器创建目录package/gccpkg

② 进入package/gccpkg

③ repotrack gcc

④ 将gccpkg发送到无网服务器

⑤ 进入gccpkg目录

⑥ rpm -Uvh *rpm --nodeps --force安装所有rpm包

⑦ gcc –v查看是否安装成功

(5)安装openssl

下载openssl安装包(Releases · openssl/openssl (github.com)"))

tar -zxvf openssl-1.1.1t.tar.gz

./config --prefix=/usr/local/lib/openssl-1.1.1

make

make install

rm /usr/lib64/libssl.so.1.1

rm /usr/lib64/libcrypto.so.1.1

cd /usr/bin

rm openssl

ln -s /usr/local/lib/openssl-1.1.1/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/lib/openssl-1.1.1/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

cd /usr/bin

ln -s /usr/local/lib/openssl-1.1.1/bin/openssl usr/bin/openssl

openssl version

(6)./configure --prefix=/usr/python3 --with-openssl=/usr/local/lib/openssl-1.1.1

No module named _ssl

(7)make&&make install

(8)删除原来的python->python2软连接,添加python->python3,python3->安装目录

查看python版本

(9)添加软连接pip->pip3,pip3->安装目录

pip查看版本

1.2.3 datahub离线安装并启动

(1)与在线安装一样,需要安装pip、wheel、setuptools、acryl-datahub,pip也可以将包下载到本地

① 将本地安装过的所有库名记录到requirements.txt中
  • 1
pip freeze > requirements.txt
  • 1
② 遍历requirements.txt中的内容,下载
  • 1
pip install -r requirements.txt
  • 1
③ 将某个<package_name>库下载到本地<dir>下
  • 1
pip download -d <dir> <package_name> 
  • 1
④ 遍历requirements.txt中的内容,下载到本地<dir>下
  • 1

pip download -d

-r requirements.txt

⑤ 将

下某个<package_name>安装到环境中

pip install --no-index -f <dir> <package_name>
  • 1

例如:

pip download -d acryl-datahub acryl-datahub

pip install –no-index –f acryl-datahub/*

(2)运行命令时-f指定yml地址,-no-pull-images不pull,使用本地镜像

datahub docker quickstart -f /usr/datahub/docker-compose-without-neo4j.quickstart.yml --no-pull-images

(3)与在线安装一样,登录${hostname}:9002查看前端界面,用户名密码datahub/datahub

(4)上传官方测试json至离线服务器,摄取官方测试数据

(5)可以看到界面中已经出现了测试信息

1.3 本地环境替换datahub docker

(cd docker && COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose -p datahub -f docker-compose-without-neo4j.yml -f docker-compose-without-neo4j.override.yml -f docker-compose.dev.yml up -d --no-deps --force-recreate datahub-gms)

1.4 安装过程中可能遇到的问题

1.4.1 python3安装后导致yum不能正常使用

python3会导致yum不能正常使用

vi /usr/bin/yum

把 #! /usr/bin/python 修改为 #! /usr/bin/python2

vi /usr/libexec/urlgrabber-ext-down

把 #! /usr/bin/python 修改为 #! /usr/bin/python2

vi /usr/bin/yum-config-manager

#!/usr/bin/python 改为 #!/usr/bin/python2

没有提示的不用修改

1.4.2 python控制台中按backspace返回^H

临时解决:

Ctrl+退格键

永久解决:

安装readline,readline 是 bash shell 用的库,包含许多使用功能

yum install readline readline-devel

安装完成后,需要再重新编译安装 Python,重复1.2.2

二 datahub使用

2.1 使用命令摄取

2.1.1  摄取前准备工作

检查插件

datahub check plugins --verbose

如果插件不可用pip install acryl-datahub[插件名],无网络环境可以参考1.2.3将pip包download至本地,再load -o

这里我pip install ‘acryl-datahub[mysql]’

确保插件无disable后再进行摄取操作

2.1.2 编辑yml文件执行摄取操作(未完)

编辑摄取文件

vi /usr/datahub/mysqlmaster.yml

source:

type: mysql

config:

# Coordinates

host_port: master:3306

database: dolphinscheduler

# Credentials

username: root

password: lovol

# If you need to use SSL with MySQL:

# options:

#   connect_args:

#     ssl_ca: “path_to/server-ca.pem”

#     ssl_cert: “path_to/client-cert.pem”

#     ssl_key: “path_to/client-key.pem”

sink:

# sink configs

type: datahub-rest

config:

server: http://slave1:8080

执行命令

datahub ingest -c /usr/datahub/mysqlmaster.yml

5 0 * * * datahub ingest -c /usr/datahub/mysqlmaster.yml

可以调度执行摄取任务,corn用法教程网上有很多,这里就不介绍了

在2.3中介绍另一种摄取方法

2.2 datahub命令详解

datahub --help查看所有命令

2.2.1 check

常用命令:

检查插件 –v输出详细信息

datahub check plugins -v

datahub delete

命令行删除元数据

datahub delete --env prod --entity_type dataset -p mysql --query dolphinscheduler --hard

 

任何命令加 –n则空跑,不会产生实际影响,例如

datahub delete --env prod --entity_type dataset -p mysql --query dolphinscheduler --hard -n

由于cli命令原理是依靠输入参数快速构建rest,如果按照2.4.1开放了tokens,再使用命令时相当于无token运行,会报http连接错误

2.3 摄取调度中心

由于UI界面创建的摄取任务是在容器内运行的,容器内没有添加hostname,使用hostname格式不能运行,

且进入容器的租户无权添加hosts,UI界面创建的任务只有用服务器IP才能成功执行

2.3.1 mysql源摄取流程

(1)选择数据源

(2)选择设置项

在Connection中输入服务器ip、端口号、mysql用户名密码

由于UI界面创建的摄取任务是在容器内运行的,容器内没有添加hostname,使用hostname格式不能运行,

尝试进入容器修改hosts,无效

查看datahub-actions的containerID

修改服务器/var/lib/docker/containers/ 36d5ece46eb8546cb95fe9ea6305bfe90c92a84aa0fe8281130eb2364181cdf7/hosts

添加master后才可以在前端使用host进行摄取

每次重启docker后hosts文件都会重置,所以如果频繁启停的话建议使用ip进行摄取

Filter中编辑的是过滤条件,可以对数据库、MySQL源数据、表、视图做出限制,只摄取符合限制的表,Deny优先级高于allow

在Advanced中可以勾选附加选项

(3)调度运行时间

必须将Run on a schedule打开才能启用调度

(4)为摄取任务取名

2.4 Settings

2.4.1 Access Tokens

个人访问令牌允许向数据中心的 API 发出编程请求。令牌持有者继承发出人的权限,并且寿命有限。最好不要共享令牌

datahub令牌功能默认是关闭的,界面报

Token based authentication is currently disabled. Contact your DataHub administrator to enable this feature.(忘截图了)

需要修改1.1.3(4)中的的配置文件docker-compose-without-neo4j.quickstart.yml,在datahub-frontend-react和datahub-gms下的environment添加- METADATA_SERVICE_AUTH_ENABLED=true,开启令牌功能,注意更改yml后容器会类似重置,2.8中用户文件夹会刷新,记得重新编辑,添加用户

创建令牌

创建完成后界面不能重复打开,只能删除,建议保存到安全的位置

curl -X POST ‘http://slave1:9002/api/graphql’ \

–header ‘Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJhY3RvclR5cGUiOiJVU0VSIiwiYWN0b3JJZCI6Imxpa2FpIiwidHlwZSI6IlBFUlNPTkFMIiwidmVyc2lvbiI6IjIiLCJqdGkiOiI4MWZjN2E0NC1mNmQ2LTRhODAtYmU0MS02NmE4MmI3OTlmZmYiLCJzdWIiOiJsaWthaSIsImV4cCI6MTY4ODk3Mzg3NywiaXNzIjoiZGF0YWh1Yi1tZXRhZGF0YS1zZXJ2aWNlIn0.t1Mz27Jiw4r18wqIFqgl3CfFBQTwFAEA1vY3Sl0_DFU’ \

–header ‘Content-Type: application/json’ \

–data-raw ‘{“query”:“{\n  me {\n    corpUser {\n        username\n    }\n  }\n}”,“variables”:{}}’

2.4.2 Users & Groups

Users界面可以快速分配角色,但不能创建用户,创建用户见2.8

Group界面创建用户组

进入组后可以添加用户

2.4.3 Permissions

1、Roles

点击快速分配

2、Policies

默认root user,admin,editors和readers策略,无法删除无法编辑

可以点击创建新策略

① 输入名称和选择策略的类型,类型有Platform和Metadata两种

平台策略类型允许向用户分配数据中心平台权限。其中包括管理用户和组、创建策略、查看分析图等。

元数据策略类型允许向用户分配元数据权限。其中包括操作元数据的能力比如所有权,标签,数据集、图表之类的文档。

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

716d6.png)

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/744279
推荐阅读
相关标签
  

闽ICP备14008679号