Amundsen元数据平台开发指南:从本地环境搭建到服务部署

Amundsen元数据平台开发指南:从本地环境搭建到服务部署

amundsen Amundsen is a metadata driven application for improving the productivity of data analysts, data scientists and engineers when interacting with data. amundsen 项目地址: https://gitcode.com/gh_mirrors/am/amundsen

一、Amundsen项目概述

Amundsen是一个开源的元数据发现和治理平台,由Lyft公司开发并开源。它通过三个核心组件构建:

  • 前端服务(amundsenfrontendlibrary):提供用户界面
  • 元数据服务(amundsenmetadatalibrary):管理元数据
  • 搜索服务(amundsensearchlibrary):实现元数据搜索功能

二、本地开发环境准备

2.1 代码仓库克隆

Amundsen采用git子模块管理多个组件,克隆时需使用递归方式:

git clone --recursive 项目地址

若已克隆但子模块为空,执行:

git submodule init
git submodule update

2.2 开发环境依赖

确保已安装:

  1. Docker和Docker Compose
  2. Python 3.7+
  3. Node.js(前端开发需要)

三、本地开发工作流

3.1 代码更新

保持代码最新:

git pull origin master
git submodule update --remote

3.2 容器化开发

  1. 停止现有容器:
docker-compose -f docker-amundsen.yml down
  1. 启动本地开发环境:
docker-compose -f docker-amundsen-local.yml up -d
  1. 查看日志:
docker-compose -f docker-amundsen-local.yml logs --tail=3 -f

3.3 数据管理

本地数据存储在.local/目录下:

  • 重置Elasticsearch:rm -rf .local/elasticsearch
  • 重置Neo4j:rm -rf .local/neo4j

四、前端开发专项

4.1 本地运行前端服务

  1. 修改配置:
  • 设置LOCAL_HOST = '127.0.0.1'
  • 更新端口配置(避免5000端口冲突)
  1. 启动前端服务后,使用Docker Compose启动其他组件

4.2 前端缓存问题

修改前端代码后若未生效:

  1. 尝试强制刷新浏览器
  2. 清除浏览器缓存

五、Docker镜像构建与测试

5.1 镜像构建

  1. 构建无缓存镜像:
docker build --no-cache .
  1. 获取镜像ID:
docker images
  1. 更新docker-compose文件使用新镜像

5.2 调试Dockerfile

构建失败时调试方法:

  1. 从失败前的步骤启动临时容器:
docker container run -it --name=debug 镜像ID /bin/sh

六、生产环境部署

6.1 推送镜像到ECR

  1. 登录ECR:
aws ecr get-login --no-include-email --region 区域
  1. 构建并标记镜像:
docker build -t amundsen-frontend:版本标签 .
docker tag amundsen-frontend:版本标签 ECR地址/amundsen-frontend:版本标签
  1. 推送镜像:
docker push ECR地址/amundsen-frontend:版本标签

6.2 Kubernetes部署

更新Helm chart中的values.yaml文件,指定新镜像标签

七、搜索服务测试

7.1 本地Elasticsearch

启动单节点Elasticsearch:

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.2.4

7.2 数据索引构建

  1. 安装Databuilder:
python setup.py install
pip install -r requirements.txt
  1. 配置环境变量:
export NEO4J_ENDPOINT=地址
export CREDENTIALS_NEO4J_PASSWORD=密码
  1. 执行索引构建脚本

八、常见问题排查

  1. 服务启动失败:
  • 检查端口冲突
  • 验证依赖服务(Neo4j/Elasticsearch)是否正常运行
  1. 数据不一致:
  • 重置本地数据库
  • 重新构建索引
  1. 前端修改不生效:
  • 确认浏览器缓存已清除
  • 检查构建过程是否有错误

通过本文介绍的工作流程,开发者可以高效地进行Amundsen平台的本地开发和测试,最终将修改部署到生产环境。Amundsen的模块化设计使得各组件可以独立开发和测试,大大提高了开发效率。

amundsen Amundsen is a metadata driven application for improving the productivity of data analysts, data scientists and engineers when interacting with data. amundsen 项目地址: https://gitcode.com/gh_mirrors/am/amundsen

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左萱莉Maude

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值