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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: datahub元数据管理平台从安装到使用一站式指南(未完)_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(‘: 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中
pip freeze > requirements.txt
② 遍历requirements.txt中的内容,下载
pip install -r requirements.txt
③ 将某个<package_name>库下载到本地<dir>下
pip download -d <dir> <package_name> 
④ 遍历requirements.txt中的内容,下载到本地<dir>下

pip download -d

-r requirements.txt

⑤ 将

下某个安装到环境中

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

例如:

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

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

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

内容简介

====

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

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

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


相关实践学习
实时数据及离线数据上云方案
本实验通过使用CANAL、DataHub、DataWorks、MaxCompute服务,实现数据上云,解决了数据孤岛问题,同时把数据迁移到云计算平台,对后续数据的计算和应用提供了第一步开山之路。
相关文章
|
1月前
|
传感器 数据可视化 数据管理
数据管理平台Splunk Enterprise本地部署结合内网穿透实现远程访问
数据管理平台Splunk Enterprise本地部署结合内网穿透实现远程访问
43 0
|
7月前
|
大数据 Java Docker
Datahub稳定版本0.10.4安装指南(独孤风版本)
Datahub稳定版本0.10.4安装指南(独孤风版本)
424 0
|
7月前
|
存储 数据采集 数据管理
一体化元数据管理平台——OpenMetadata入门宝典
一体化元数据管理平台——OpenMetadata入门宝典
808 0
|
29天前
|
SQL 关系型数据库 Java
实时计算 Flink版操作报错之在阿里云DataHub平台上执行SQL查询GitHub新增star仓库Top 3时不显示结果,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
1月前
|
数据采集 DataWorks 数据管理
DataWorks不是Excel,它是一个数据集成和数据管理平台
DataWorks不是Excel,它是一个数据集成和数据管理平台
146 2
|
1月前
|
数据管理 关系型数据库 MySQL
数据管理DMS产品使用合集之DMS可以接入其他平台的MySQL数据库,是否还支持无感知变更功能
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
1月前
|
分布式计算 数据管理 Hadoop
元数据管理平台对比预研 Atlas VS Datahub VS Openmetadata
元数据管理平台对比预研 Atlas VS Datahub VS Openmetadata
644 0
|
1月前
|
存储 人工智能 NoSQL
IDC图数据管理分析平台行动路线图V1.0正式发布
IDC DataSphere数据显示,到2027年,全球非结构化数据将占到数据总量的86.8%,达到246.9ZB。未来非结构化数据仍是数据产生和存储的主要形式,如何更好地管理非结构化数据、挖掘其背后的价值,则更加重要,这也是区分与其他公司竞争力的关键。图数据管理分析平台作为其中的关键一环,被越来越多的厂商关注,从开源到采购商业化版本,市场规模仍保持乐观增长。
|
6月前
|
存储 SQL 数据管理
Data Fabric:一站式数据管理与服务
在2023年11月01日云栖大会D区D2-1进行了主题为阿里云瑶池数据库如何助力企业数字化转型与升级的演讲,本文带大家一起了解阿里云数据库生态工具产品部负责人周文超的精彩演讲,内容为《Date Fabric:一站式数据管理与服务》。
97645 5

热门文章

最新文章