开源软件Datahub中文社区
微信号:DatahubCN
QQ群:528386897

Datahub部署
-
Datahub快速入门指南
部署Datahub
若要部署Datahub的新实例,请执行以下步骤。
- 为您的平台安装 Docker 和 Docker Compose v2。
- 在 Windows 或 Mac 上,安装docker desktop.
- 在 Linux 上,安装Docker for Linux和docker-compose.
:::注意
确保为 Docker 引擎分配足够的硬件资源。
测试和确认的配置:2个CPU,8GB RAM,2GB交换区域和10GB磁盘空间。:::
-
从命令行或桌面应用程序启动 Docker 引擎。
-
安装Datahub命令行界面
一个。确保已安装并配置了Python 3.7+。(检查使用
python3 --version
).b.在终端中运行以下命令
python3 -m pip install --upgrade pip wheel setuptools python3 -m pip install --upgrade acryl-datahub datahub version
:::注意
如果您看到“找不到命令”,请尝试运行前缀为“python3 -m”的 cli 命令,而不是像
python3 -m datahub version
请注意,DataHub CLI 不支持 Python 2.x。:::
-
要在本地部署Datahub实例,请从终端运行以下 CLI 命令
datahub docker quickstart
这将使用docker-compose.
如果您好奇,docker-compose.yaml
文件将下载到您的主目录下.datahub/quickstart
目录。如果一切顺利,您应该会看到如下消息:
Fetching docker-compose file https://raw.githubusercontent.com/datahub-project/datahub/master/docker/quickstart/docker-compose-without-neo4j-m1.quickstart.yml from GitHub Pulling docker images... Finished pulling docker images! [+] Running 11/11 ⠿ Container zookeeper Running 0.0s ⠿ Container elasticsearch Running 0.0s ⠿ Container broker Running 0.0s ⠿ Container schema-registry Running 0.0s ⠿ Container elasticsearch-setup Started 0.7s ⠿ Container kafka-setup Started 0.7s ⠿ Container mysql Running 0.0s ⠿ Container datahub-gms Running 0.0s ⠿ Container mysql-setup Started 0.7s ⠿ Container datahub-datahub-actions-1 Running 0.0s ⠿ Container datahub-frontend-react Running 0.0s ....... ✔ DataHub is now running Ingest some demo data using `datahub docker ingest-sample-data`, or head to http://localhost:9002 (username: datahub, password: datahub) to play around with the frontend. Need support? Get in touch on Slack: https://slack.datahubproject.io/
完成此步骤后,您应该能够导航到Datahub UI
在http://localhost:9002在您的浏览器中。您可以使用datahub
作为两者
用户名和密码。
:::注意
在装有 Apple Silicon(M1、M2 等)的 Mac 电脑上,您可能会看到类似
no matching manifest for linux/arm64/v8 in the manifest list entries
,这通常意味着Datahub CLI 无法检测到您是否在 Apple 芯片上运行它。若要解决此问题,请通过发出datahub docker quickstart --arch m1
:::
-
要摄取示例元数据,请从终端运行以下 CLI 命令
datahub docker ingest-sample-data
:::注意
如果您已启用元数据服务身份验证,则需要提供个人访问令牌
使用--token <token>
命令中的参数。:::
就是这样!现在请随意玩转Datahub!
排查问题
Command not found: datahub如果运行Datahub cli 在终端内产生“找不到命令”错误,则系统可能默认为
旧版本的 Python。尝试在datahub
命令与python3 -m
:python3 -m datahub docker quickstart
另一种可能性是您的系统路径不包括点的
$HOME/.local/bin
目录。 在 Linux 上,您可以将其添加到您的~/.bashrc
:
Port Conflictsif [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi
默认情况下,快速入门部署需要在本地计算机上提供以下端口:
- 3306 for MySQL
- 9200 for Elasticsearch
- 9092 为 Kafka 经纪人
- 8081 用于架构注册表
- 2181 for ZooKeeper
- 9002 用于Datahub Web 应用程序(Datahub前端)
- 8080 用于Datahub元数据服务 (datahub-gms)
如果默认端口与您已经在计算机上运行的软件冲突,您可以通过将其他标志传递给
no matching manifest for linux/arm64/v8 in the manifest list entries On Mac computers with Apple Silicon (M1, M2 etc.), you might see an error like `no matching manifest for linux/arm64/v8 in the manifest list entries`, this typically means that the datahub cli was not able to detect that you are running it on Apple Silicon. To resolve this issue, override the default architecture detection by issuing `datahub docker quickstart --arch m1` Miscellaneous Docker issues There can be misc issues with Docker, like conflicting containers and dangling volumes, that can often be resolved by pruning your Docker state with the following command. Note that this command removes all unused containers, networks, images (both dangling and unreferenced), and optionally, volumes.datahub docker quickstart
命令。
例如,要使用 53306(而不是默认的 3306)覆盖 MySQL 端口,您可以说:datahub docker quickstart --mysql-port 53306
.用datahub docker quickstart --help
以查看所有支持的选项。
对于元数据服务容器 (datahub-gms),您需要使用环境变量,DATAHUB_MAPPED_GMS_PORT
.例如,要使用端口 58080,您会说DATAHUB_MAPPED_GMS_PORT=58080 datahub docker quickstart
Still stuck?docker system prune
跳到我们的松弛社区并在#troubleshoot渠道!
后续步骤
引入元数据
要开始将公司的元数据推送到 DataHub,请查看基于 UI 的引入指南,或者要使用 CLI 运行引入,请查看元数据摄取指南.
邀请用户
要将用户添加到您的部署以与您的团队共享,请查看我们的将用户添加到Datahub
启用身份验证
要启用 SSO,请查看配置 OIDC 身份验证或配置 JaaS 身份验证.
要启用后端身份验证,请查看 [DataHub 后端中的身份验证](身份验证/引入元数据服务身份验证.md#配置元数据服务身份验证)。
迁移到生产环境
我们建议使用 Kubernetes 将 DataHub 部署到生产环境。我们提供帮助掌舵图表以帮助您快速启动和运行。退房将 DataHub 部署到 Kubernetes以获取分步演练。
其他常见操作
停止Datahub
若要停止Datahub的快速入门,可以发出以下命令。
datahub docker quickstart --stop
重置Datahub(又称恢复出厂设置)
要清除Datahub的所有状态(例如,在摄取您自己的状态之前),您可以使用 CLI
nuke
命令。datahub docker nuke
备份Datahub快速入门(实验性)
不建议将快速入门映像用作生产实例。看迁移到生产环境以获取有关设置生产群集的建议。但是,如果要备份当前快速入门状态(例如,你即将向公司提供演示,并且想要创建快速入门数据的副本,以便将来可以还原它),则可以提供
--backup
标记到快速入门。datahub docker quickstart --backup
将备份您的 MySQL 映像并将其默认写入您的
~/.datahub/quickstart/
目录作为文件backup.sql
.您可以通过传递--backup-file
论点。
例如datahub docker quickstart --backup --backup-file /home/my_user/datahub_backups/quickstart_backup_2002_22_01.sql
:::注意
请注意,快速入门备份不包含任何时序数据(数据集统计信息、配置文件等),因此,如果删除所有索引并从此备份还原,则会丢失该信息。
:::
还原Datahub快速入门(实验性)
正如您可能想象的那样,这些备份是可还原的。以下部分介绍还原备份所需的几个不同选项。
还原备份(主 + 索引)[最常见]
若要还原以前的备份,请运行以下命令:
datahub docker quickstart --restore
此命令将选取
backup.sql
文件位于~/.datahub/quickstart
并恢复您的主数据库以及 Elasticsearch 索引。要提供特定的备份文件,请使用
--restore-file
选择。datahub docker quickstart --restore --restore-file /home/my_user/datahub_backups/quickstart_backup_2002_22_01.sql
仅恢复索引 [以处理索引不同步/损坏问题]
可能出现的另一种情况是索引可能会损坏,或者缺少一些更新。要从主存储重新引导索引,可以运行此命令以将索引与主存储同步。
datahub docker quickstart --restore-indices
还原备份(主索引,但没有索引)[很少使用]
有时,您可能只想还原主数据库 (MySQL) 的状态,而不是重新索引数据。为此,必须显式禁用还原索引功能。
datahub docker quickstart --restore --no-restore-indices
升级本地Datahub
如果你一直在本地测试 DataHub,发布了新版本的 DataHub,并且你想要尝试新版本,然后你可以再次发出快速入门命令。它将拉下较新的映像并重新启动实例,而不会丢失任何数据。
datahub docker quickstart
定制
如果您想进一步自定义Datahub安装,请下载docker-compose.yaml由 CLI 工具使用,根据需要对其进行修改,并通过传递下载的 docker-compose 文件来部署Datahub:
datahub docker quickstart --quickstart-compose-file <path to compose file>