【datahub】数据资产

简介

  • Datahub 由 4 个主要组件组成:
    • GMS
    • Frontend
    • MAE Consumer(可选)
    • MCE Consumer(可选)
  • 主要组件由 4 个外部依赖项提供支持:
    • Kafka
    • Local db(MySQL、Postgres、MariaDB)
    • 搜索索引(Elasticsearch)
    • 图索引(支持 Neo4j 或 Elasticsearch)

Docker Images

Dependencies:

部署以及升级

快捷部署

确保为 Docker 引擎分配足够的硬件资源。
测试和确认的配置:2个CPU,8GB RAM,2GB交换区域和10GB磁盘空间。
image.png
image.pngimage.png
docker-compose.quickstart.yml

# (可选)修改版本 建议不使用特定于版本的标签head
vim /root/.datahub/quickstart/quickstart_version_mapping.yaml
# 开启容器
python3.7 -m datahub docker quickstart --quickstart-compose-file /opt/datahub/docker-compose.quickstart.yml

多容器部署

  • 将Datahub部署到多个容器中需要管理容器之间的通信和协作,以确保整个系统的正确性和可靠性。
  • github代码

数据存储层容器

Datahub需要一个持久化的存储层来存储元数据。因此,可以使用一个独立的容器来运行数据库,如MySQL或PostgreSQL。

mariadb

用来存储数据相关的元数据信息、数据血缘关系、数据集的 schema 信息以及 DataHub 用户、团队和权限信息等等。

  • 测试
    • 数据库连接客户端工具 连接测试。
  • 常见问题
    • /docker-entrypoint-initdb.d/init.sql: Permission denied:改为在容器内执行。
    • init.sql未执行:docker-entrypoint-initdb.d 文件夹只会在创建(实例化)容器时运行一次,因此实际上必须执行 docker-compose up -d --force-recreate
  • 备注
    • 创建容器时init.sql可不执行,因为在setup中会执行。
mysql-setup

配置 MySQL 数据库的数据库连接、访问凭证、数据库名称等参数,以便 DataHub 在此基础上构建自身的数据管理功能。

Attaching to mysql-setup
mysql-setup  | 2023/05/17 07:04:28 Waiting for: tcp://mariadb:3306
mysql-setup  | 2023/05/17 07:04:28 Connected to tcp://mariadb:3306
mysql-setup  | -- create datahub database
mysql-setup  | CREATE DATABASE IF NOT EXISTS datahub CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
mysql-setup  | USE datahub;
mysql-setup  |
mysql-setup  | -- create metadata aspect table
mysql-setup  | create table if not exists metadata_aspect_v2 (
mysql-setup  |   urn                           varchar(500) not null,
mysql-setup  |   aspect                        varchar(200) not null,
mysql-setup  |   version                       bigint(20) not null,
mysql-setup  |   metadata                      longtext not null,
mysql-setup  |   systemmetadata                longtext,
mysql-setup  |   createdon                     datetime(6) not null,
mysql-setup  |   createdby                     varchar(255) not null,
mysql-setup  |   createdfor                    varchar(255),
mysql-setup  |   constraint pk_metadata_aspect_v2 primary key (urn,aspect,version),
mysql-setup  |   INDEX timeIndex (createdon)
mysql-setup  | );
mysql-setup  |
mysql-setup  | -- create default records for datahub user if not exists
mysql-setup  | DROP TABLE if exists temp_metadata_aspect_v2;
mysql-setup  | CREATE TABLE temp_metadata_aspect_v2 LIKE metadata_aspect_v2;
mysql-setup  | INSERT INTO temp_metadata_aspect_v2 (urn, aspect, version, metadata, createdon, createdby) VALUES(
mysql-setup  |   'urn:li:corpuser:datahub',
mysql-setup  |   'corpUserInfo',
mysql-setup  |   0,
mysql-setup  |   '{"displayName":"Data Hub","active":true,"fullName":"Data Hub","email":"datahub@linkedin.com"}',
mysql-setup  |   now(),
mysql-setup  |   'urn:li:corpuser:__datahub_system'
mysql-setup  | ), (
mysql-setup  |   'urn:li:corpuser:datahub',
mysql-setup  |   'corpUserEditableInfo',
mysql-setup  |   0,
mysql-setup  |   '{"skills":[],"teams":[],"pictureLink":"https://raw.githubusercontent.com/datahub-project/datahub/master/datahub-web-react/src/images/default_avatar.png"}',
mysql-setup  |   now(),
mysql-setup  |   'urn:li:corpuser:__datahub_system'
mysql-setup  | );
mysql-setup  | -- only add default records if metadata_aspect is empty
mysql-setup  | INSERT INTO metadata_aspect_v2
mysql-setup  | SELECT * FROM temp_metadata_aspect_v2
mysql-setup  | WHERE NOT EXISTS (SELECT * from metadata_aspect_v2);
mysql-setup  | DROP TABLE temp_metadata_aspect_v2;
mysql-setup  |
mysql-setup  | -- create metadata index table
mysql-setup  | CREATE TABLE IF NOT EXISTS metadata_index (
mysql-setup  |  `id` BIGINT NOT NULL AUTO_INCREMENT,
mysql-setup  |  `urn` VARCHAR(200) NOT NULL,
mysql-setup  |  `aspect` VARCHAR(150) NOT NULL,
mysql-setup  |  `path` VARCHAR(150) NOT NULL,
mysql-setup  |  `longVal` BIGINT,
mysql-setup  |  `stringVal` VARCHAR(200),
mysql-setup  |  `doubleVal` DOUBLE,
mysql-setup  |  CONSTRAINT id_pk PRIMARY KEY (id),
mysql-setup  |  INDEX longIndex (`urn`,`aspect`,`path`,`longVal`),
mysql-setup  |  INDEX stringIndex (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值