在这里插入图片描述

Amundsen 是一个数据发现和元数据引擎,旨在提高数据分析师、数据科学家和工程师与数据交互时的生产力。目前,它通过索引数据资源(表格、仪表板、数据流等)并基于使用模式(例如,查询频率高的表格会优先于查询频率低的表格)提供页面排名式的搜索功能来实现这一目标。您可以将其视为数据版的 Google 搜索。该项目以挪威探险家罗尔德·阿蒙森 (Roald Amundsen) 的名字命名,他是第一个发现南极的人。

2.1 准备工作

2.1.1 系统要求

操作系统支持

  • Linux(Ubuntu 22.04+/CentOS Stream 9+)
  • macOS(Monterey 12+)
  • Windows(需启用WSL 2)

硬件最低配置

资源类型最低要求说明
CPU4核需支持虚拟化
内存16GB建议预留4GB给Docker
磁盘空间30GB用于存储镜像和元数据

验证命令(Linux/macOS)

# 查看CPU核心数
nproc# 查看可用内存(GB)
free -g

2.1.2 工具安装指南

Docker 引擎安装

# Ubuntu 22.04 安装命令
sudo apt update
sudo apt install docker.io
sudo systemctl enable --now docker# 验证安装(需显示Docker版本)
docker --version  # 预期 >=28.0.0

Docker Compose 安装

# Docker Compose 2.x 已内置于 Docker CLI,无需单独下载
# 验证安装
docker compose version  # 预期 >=2.29.0

2.1.3 环境兼容性验证

步骤1:检测虚拟化支持

# Linux 检查内核模块
lsmod | grep kvm# macOS 检查HyperKit
hyperkit -h

步骤2:测试Docker运行

# 运行测试容器
docker run hello-world# 预期输出:
# Hello from Docker!
# This message shows your installation appears to be working correctly.

步骤3:资源分配检查

# 确认Docker资源限制(需满足最低要求)
docker info | grep -E "Total Memory|CPUs"

2.1.4 获取 Amundsen

# 运行以下命令克隆该 repo 及其子模块
git clone --recursive https://github.com/amundsen-io/amundsen.git
cd amundsen

2.2 本地环境搭建

2.2.1 启动Amundsen服务栈

执行启动命令

# For Neo4j Backend
docker compose -f docker-amundsen.yml up -d

重要:macOS (Apple Silicon M1/M2/M3)

  1. 安装 Rosetta 2
sudo softwareupdate --install-rosetta --agree-to-license
  1. 修改 docker-compose.yml
services:neo4j:image: neo4j:3.5.26
+        platform: linux/amd64amundsensearch:image: amundsendev/amundsen-search:4.0.2
+        platform: linux/amd64    amundsenmetadata:image: amundsendev/amundsen-metadata:3.11.0
+        platform: linux/amd64amundsenfrontend:image: amundsendev/amundsen-frontend:4.2.0
+        platform: linux/amd64ports:
-            - 5000:5000
+            - 5003:5000

macOS 自带的「控制中心」(Control Center) 进程 ControlCe 系统启动后会自动监听 5000 端口

预期输出

[+] Running 8/8✔ Network amundsen_amundsennet  Created✔ Volume "amundsen_neo4j_data"  Created✔ Volume "amundsen_es_data"     Created✔ Container es_amundsen         Started✔ Container neo4j_amundsen      Started✔ Container amundsenmetadata    Started✔ Container amundsensearch      Started✔ Container amundsenfrontend    Started

2.2.2 验证容器状态

检查容器运行状态

# docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
docker compose -f docker-amundsen.yml ps --format \"table {{.Service}}\t{{.Status}}\t{{.Ports}}"NAMES              STATUS         PORTS
amundsenfrontend   Up 8 minutes   0.0.0.0:5000->5000/tcp, [::]:5003->5000/tcp
amundsensearch     Up 8 minutes   0.0.0.0:5001->5000/tcp, [::]:5001->5000/tcp
amundsenmetadata   Up 8 minutes   0.0.0.0:5002->5000/tcp, [::]:5002->5000/tcp
es_amundsen        Up 8 minutes   0.0.0.0:9200->9200/tcp, [::]:9200->9200/tcp
neo4j_amundsen     Up 8 minutes   0.0.0.0:7474->7474/tcp, [::]:7474->7474/tcp, 0.0.0.0:7687->7687/tcp, [::]:7687->7687/tcp

健康检查:所有容器需显示 (Up) 状态。若出现 starting 或 unhealthy 超过 3 分钟,请查看 2.2.3 节诊断。

2.2.3 日志监控与问题诊断

查看实时日志

# 监控所有容器日志(Ctrl+C退出)
docker compose -f docker-amundsen.yml logs -f

关键启动成功标记

frontend    | INFO:waitress:Serving on http://0.0.0.0:5000
metadata    | INFO:uvicorn.error:Application startup complete
search      | INFO:amundsen_search:Connected to ES 8.x
neo4j       | INFO  Started Neo4j 3.x (port 7474 & 7687 ready)

常见错误处理

# 端口冲突(如5000被占用)
ERROR: for frontend Cannot start service...: driver failed programming external connectivity# 解决方案:
# 1. 停止占用端口的进程
# 2. 或修改docker-amundsen.yml端口映射
#    ports: - "新端口:5000"

2.2.4 服务端口验证

手动访问关键端点

服务测试URL预期响应
Frontendhttp://localhost:5000Amundsen登录页面
Searchhttp://localhost:5001/healthcheckJSON格式节点信息
Metadatahttp://localhost:5002/healthcheckJSON格式节点信息
Elasticsearchhttp://localhost:9200JSON格式节点信息
Neo4jhttp://localhost:7474数据库管理界面

自动化验证脚本

#!/usr/bin/env bash
set -eecho "Search health:"
curl -s http://localhost:5001/healthcheck | jq -r '.status' | grep -q ok && echo OK || exit 1echo "Metadata health:"
curl -s http://localhost:5002/healthcheck | jq -r '.status' | grep -q ok && echo OK || exit 1echo "Elasticsearch cluster:"
curl -s http://localhost:9200/_cluster/health | jq -r '.status' | grep -q green && echo OK || exit 1echo "Neo4j ready:"
docker exec neo4j_amundsen cypher-shell -u neo4j -p test "RETURN 1;" >/dev/null && echo OK || exit 1echo "All services healthy!"

重要提示:首次启动需等待2-3分钟完成初始化(Elasticsearch索引创建/Neo4j约束设置)。Apple Silicon Mac 用户首次拉取镜像可能额外耗时。

2.2.5 环境重置操作

停止并清理环境

# 1. 优雅停止所有容器并自动移除网络
docker compose -f docker-amundsen.yml down# 2. 彻底删除数据卷(重置到初始状态)
docker compose -f docker-amundsen.yml down --volumes

如需保留数据,仅执行 docker compose -f docker-amundsen.yml down 即可,卷将保留在本地。

2.3 初始访问与界面导览

2.3.1 登录Amundsen实例

默认免登录
在这里插入图片描述

2.3.2 核心功能区解析

主页布局

顶部导航栏
搜索框
通知图标
用户菜单
主体区域
搜索筛选区
热门表列表
近期浏览记录

1. 全局搜索栏
在这里插入图片描述

  • 位置:页面顶部中央
  • 功能:
    • 输入关键词实时检索表/列/仪表板(如 test
    • 支持过滤器(数据库类型/标签/所有者/域)

2. 导航菜单
在这里插入图片描述

菜单项功能描述
Browse按数据库分层浏览表(默认展示Neo4j中的表)
Announcements系统公告(测试环境为空)
My Profile用户个人数据资产(书签/拥有表/关注资源)

左侧菜单已支持可折叠及键盘快捷键导航。

3. 表详情页功能区

访问路径:搜索 → 点击表名 → 进入详情页
在这里插入图片描述
在这里插入图片描述

表标题
描述编辑
所有者管理
列信息
类型/描述/统计信息
血缘标签
上游表
下游表
协作区
添加书签
撰写评论
查询使用示例
SQL示例/使用频率

已支持列级数据质量评分(Great Expectations 集成)。

2.3.3 关键交互操作

添加表描述

  1. 在表详情页点击 “Description” 旁的编辑图标

    注:支持 Markdown 语法。

  2. 输入文本:This is a test table
  3. 点击 “Update”
  4. 验证:刷新页面后描述持久化显示

添加书签

  1. 在表详情页点击 “Bookmark” 星标图标
  2. 验证:
    • 星标变为实心
    • “My Profile” → “Bookmarks” 出现该表

查看血缘关系

  1. 在表详情页点击 “Lineage” 标签
  2. 界面显示:
    • 上游数据源(如 source_db.raw_table
    • 下游依赖(如 analytics.report_table

    注:支持列级血缘与 OpenLineage 标准集成,默认展示 Airflow DAG 依赖。

风险提示与免责声明
本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/918742.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918742.shtml
英文地址,请注明出处:http://en.pswp.cn/news/918742.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux编程--进程

1、基本概念:进程:是程序动态执行的过程,包括创建、调度、消亡程序:存放在外存中一段数据的集合虚拟地址:进程使用的逻辑地址,有操作系统管理,不直接对应物理内存物理地址:实际内存的…

【开源工具】基于硬件指纹的“一机一码”软件授权系统全实现(附完整源码)

🚨 紧急预警!你的软件正在被白嫖?这套Python软件加密授权方案让破解者当场崩溃 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每一个灵感闪现的夜晚。愿以开源之火,点亮前行之路。 🐋 希望大家多多支持…

机器学习算法篇(八)-------svm支持向量机

目录 ​​1. SVM 的核心原理(必须掌握)​​ ​​2. Python 中的实践重点​​ ​​(1) Scikit-learn 的 SVM 实现​​ ​​(2) 数据预处理​​ ​​(3) 模型评估与调优​​ ​​3. 学习侧重点优先级​​ ​​4. 经典案例实践方向​​ ​​5. 学习…

发票查验接口接收参数说明-PHP语言集成-财务管理

发票验真服务接口可实时联网核验发票真伪,查验一致时返回全票面信息。其支持核验增值税发票管理系统开具发票的真伪,且能进行发票批量查验,当日开具的发票当日即可查验。同时,结合发票识别接口可实现自动识别发票信息核验&#xf…

Uniapp物联网平台登录与温湿度监测系统

下面是一个完整的Uniapp物联网平台实现,包含登录功能和温湿度监测系统。这个解决方案采用现代化UI设计,模拟了物联网平台的核心功能。文章末尾提供源码下载。 系统功能说明 这个Uniapp物联网平台登录与温湿度监测系统包含以下核心功能: 1.…

【企业架构】TOGAF概念之四(终结)

导读:学习TOGAF(The Open Group Architecture Framework,开放组架构框架)相关概念的意义和价值,体现在它为企业架构(Enterprise Architecture, EA)实践提供了标准化方法论、跨领域协同框架、战略…

centos 怎么部署 vscode 网页版

安装编译工具 下载适用于 linux 版本的 rpm 格式文件 下載 Visual Studio Tools - 免費安裝 Windows、Mac、Linux 拷贝路径,下载文件 wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/e3550cfac4b63ca4eafca7b601f0d2885817fd1f/code…

sql的关键字 limit 和offset

核心概念LIMIT (限制): 指定查询最多返回多少行记录。OFFSET (偏移): 指定在开始返回记录之前要跳过多少行记录。它定义了结果集的起始点。核心前提: 必须 使用 ORDER BY 子句来确保分页结果的顺序稳定和可预测。示例: 假设 employees 表有 100 条记录&a…

git config的配置全局或局部仓库的参数: local, global, system

git config的范围参数: local, global, system1. --local: 作用于当前仓库2. --global: 作用于当前用户的全局范围的 Git 仓库3. --system: 作用于系统范围内的 Git 仓库4. 注意事项参考链接1. --local: 作用于当前仓库 --local: 这个参数的作用范围是当前仓库。其配置的参数保…

应用系统连达梦数据库报“服务器模式不匹配”的根源与修复方案

近期遇到很多个应用系统连接达梦数据库报“服务器模式不匹配”的问题,省流直接说文章结论通常两种场景 初次连接达梦数据库时报服务器模式不匹配,可能是配置文件中LOGIN_MODE参数配置与数据库状态不一致导致连接失败应用系统正常运行负载大或者偶发报服务…

git:分支

分支命名可以使用斜杠(/)构建分层命名方案不能以减号(-)开头,分层的命名不能以点(.)开头不能使用连接两个点(.)不能包括空格或其他空白字符以及~ ^ : ? * [列出分支名称 git branch 列出本地版本库的分支git branch -r 列出远程跟踪分支git branch -a …

T05_卷积神经网络

全连接网络存的弊端 以MINST数字识别为例,创建一个4层全连接网络层,输入为28x28,中间三个隐藏层的节点数都是 256,输出节点数是10。通过summary()函数打印出模型每一层的参数量,计算总的参数量超过34万个网络参数&…

区块链在可信空间智能合约中的应用

区块链在可信数据空间的智能合约应用,通过去中心化信任机制、自动化执行、可验证计算等特性,正在重塑数据存储、共享、交易和治理的模式。以下是其核心应用方向、关键技术及落地案例的深度解析: 一、核心应用方向 1. 数据确权与授权管理 应用场景 个人数据主权:用户通过智…

pycharm配置python解释器教程

一个解释器对应一个环境,无论是conda环境或是Python环境。python环境的解释器的路径形如"D:\Python3.12\python.exe",conda环境的解释器的路径形如"D:\anaconda3\envs\opencv\python.exe"。 如何在Pycharm中设置解释器 打开pycharm&…

C#教程之NPOI读写excel文件XLS,XLSX格式

NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。仅需处理 XLS/XLSX 格式的文本和数字读写,最少需要加载 2 个核心 DLL:NPOI.dll包含所有格式的通用接口(IWorkbook、ISheet、IRow、ICell …

Perforce P4 Git 连接器

Perforce P4 Git连接器将Git代码库与数字资产集中存储于Perforce P4(前身为Helix Core),为所有数字资产(源码二进制文件)构建单一事实来源。 突破代码库与文件限制 当艺术家、开发者及工程师组成的大型团队仅使用Git时…

day10_寻找用户推荐人

一、题目给出一张customer表,里面有id(客户id)——主键,name(客户姓名),referee_id(推荐人客户id)三个字段二、题目要求1、找出被id不是2的用户推荐的客户姓名2、没有被任…

python爬虫(三)----Selenium

目录 1. Selenium 1.1 Selenium是啥 1.2 安装chrom Driver 1.3 selenium 使用 1.4 selenium元素定位 1.5 访问元素信息 1.6 交互 2. Phantomjs、Chrom handless 1. Selenium 1.1 Selenium是啥 自动化Web浏览器操作 主要用于Web应用程序的测试 支持多操作系统、多浏览器…

《事务隔离级别与 MVCC 机制深度剖析》

🔍 事务隔离级别与 MVCC 机制深度剖析 🧠 前言 在高并发场景下,数据库事务是保证数据一致性的基石。但在 MySQL InnoDB 中,事务的隔离级别、锁策略、MVCC(多版本并发控制)之间的配合,常常是面…

20250814,通义万相,无限生成权限(慢速)

今天看小红书,发现通义万相可以免费生成慢速图片。研究一下每天10分用完后,按钮就变成0,但是可以点击这个0,进入排队慢速生成状态。原来通义万相的收费主要是用来提速的(快速出图),不着急的话也…