资讯详情

资讯详情

DataHub 快速上手指南:元数据管理平台本地跑通与首次同步实战

DataHub 快速上手指南元数据管理平台本地跑通与首次同步实战【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahubDataHub 是一个开源的元数据管理平台负责把散落在各数据源里的表结构、所有权和血缘收进统一目录让你搜得到、看得懂、管得住。这篇指南适合有基本命令行经验、第一次接触 DataHub 的开发者。跟着做完你会拥有一个本地运行的 DataHub并亲手完成一次元数据同步。跑起来Docker 一键拉起 DataHub 先看一下整体数据流左侧的数据源通过 Push/Pull 方式把元数据送进中间的 DataHub 平台右侧再通过 GraphQL、REST、Kafka 输出给各类消费方。开始之前只检查一件事Docker 是否已启动。docker ps这条命令用来确认 Docker 守护进程在工作。如果报错或卡住先把 Docker 服务启动起来。然后安装 DataHub CLI它是个 Python 包建议装在虚拟环境里python3 -m pip install --upgrade acryl-datahubCLI 装好后用一条命令启动整套服务datahub docker quickstart它会自动拉取镜像依次启动 MySQL、Kafka、Elasticsearch、GMS 和前端。首次运行要拉取一批镜像耗时几分钟终端会显示进度别中断它。成功后你会看到✔ DataHub is now running接着验证各容器是否健康datahub docker check预期输出✔ No issues detected。再用浏览器打开 http://localhost:9002用默认账号 datahub / datahub 登录能进入界面就说明 Web 端也通了。到这里前端在 9002 端口API 服务GMS在 8080 端口DataHub 已经跑起来。完成第一个真实任务任务一导入演示数据目标让 DataHub 里有可以搜索的数据。CLI 内置了一键导入命令datahub docker ingest-sample-data默认加载 bootstrap 演示包包含若干用户、数据集和它们的血缘也可以指定--pack参数换数据源比如datahub docker ingest-sample-data --pack showcase-ecommerce加载电商示例。执行完成后终端会打印摄取统计。任务二搜索与浏览目标熟悉查询界面和检索能力。在 UI 顶部搜索框输入关键字或用左侧 Browse 面板按平台 → 库 → 表逐级下钻打开数据集详情页能看到 Schema、负责人和标签。CLI 也能直接检索datahub search checkout终端会列出匹配的数据集不用离开命令行即可确认数据已入库。任务三手写一个摄取 recipe 并执行目标理解 DataHub 的核心概念——摄取配方recipe。所有元数据进 DataHub 都靠 recipe上面的导入命令本质就是执行一个 demo-data 到 datahub-rest 的 recipe。我们把同样的内容手写出来source: type: demo-data config: pack_name: showcase-ecommerce no_time_shift: false sink: type: datahub-rest config: server: http://localhost:8080保存为recipe.yaml然后执行datahub ingest -c recipe.yaml终端按行打印摄取摘要能看到写入的数据集数量。之后你接真实数据源MySQL、BigQuery 等时结构不变只是把 source 换成对应类型并补上连接配置。顺手点开数据集详情页的 Lineage 页签能看到数据的上下游流转界面里的 Ask DataHub 入口还支持用自然语言提问按需定制默认配置不用动只在三种场景下改端口冲突、固定版本、开启认证。改法都是启动前设置环境变量。最常用的几项变量名默认值改它的典型场景DATAHUB_MAPPED_FRONTEND_PORT9002前端端口冲突DATAHUB_MAPPED_GMS_PORT8080GMS 端口冲突DATAHUB_MAPPED_MYSQL_PORT3306本机已跑 MySQLDATAHUB_MAPPED_ELASTIC_PORT9200搜索服务端口冲突METADATA_SERVICE_AUTH_ENABLEDfalse开启服务认证比如 MySQL 占着 3306在 shell 里加export DATAHUB_MAPPED_MYSQL_PORT13306 # ← 这里让 MySQL 换到 13306 export DATAHUB_MAPPED_ELASTIC_PORT19200 # ← 这里搜索服务端口也被占 datahub docker quickstart端口类变量也可以用 quickstart 的快捷参数代替例如--mysql-port 13306、--elastic-port 19200。生产环境与本地 quickstart 的差异记住三点一是 quickstart 的 MySQL、Kafka、Elasticsearch 都跑在容器里生产要换外部组件并用 Kubernetes 部署二是生产必须开启 METADATA_SERVICE_AUTH_ENABLED 并改掉默认账号三是升级前先用datahub docker quickstart --backup备份升级后用--restore恢复。卡住了怎么办容器逐个退出quickstart 超时现象docker ps里有容器反复重启。原因Docker 分配内存不足。解法docker system info查看内存扩到 8GB 以上再datahub docker nuke datahub docker quickstart重来。端口已被占用提示 address already in use现象启动报端口冲突。原因9002/8080 被其他服务占着。解法export DATAHUB_MAPPED_FRONTEND_PORT9003后重新执行 quickstart。数据已摄取但搜索不到现象摄取统计成功UI 里查不到。原因消费容器不健康或索引还没建完。解法先datahub docker check确认状态等一两分钟再查仍不行就看日志docker logs对应容器。旧实例拉不起来提示需要迁移现象quickstart 打印迁移指引。原因实例由旧版 CLI 创建。解法依次执行datahub docker quickstart --backup、datahub docker nuke、重新 quickstart最后datahub docker quickstart --restore恢复数据。还卡住仓库内的 docs/troubleshooting/quickstart.md 专门讲快速启动类问题也可以到项目 GitHub 的 Issues 区搜关键词或在官方社区直接提问。想继续深入可以从仓库的 docs/quickstart.md 和 docs/ 目录入手它们覆盖了摄取、认证、部署的所有细节下一步建议尝试接入一张真实的 MySQL 表或用 Helm 把 DataHub 部署到 Kubernetes 上体验生产形态。【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →