• lakefs 类似git 的文件对象存储


    lakefs 是基于golang编写的兼容git 的对象存储

    特性

    包含了git 的能力,同时方便集成数据ci/cd,同时可以方便的和现有的数据技术栈集成

    使用

    基于docker-compose运行

    • docker-compose 文件
    version: '3'
    services:
      lakefs:
        image: "treeverse/lakefs:${VERSION:-latest}"
        ports:
          - "8000:8000"
        depends_on:
          - "postgres"
        environment:
          - LAKEFS_AUTH_ENCRYPT_SECRET_KEY=${LAKEFS_AUTH_ENCRYPT_SECRET_KEY:-some random secret string}
          - LAKEFS_DATABASE_CONNECTION_STRING=${LAKEFS_DATABASE_CONNECTION_STRING:-postgres://lakefs:lakefs@postgres/postgres?sslmode=disable}
          - LAKEFS_BLOCKSTORE_TYPE=${LAKEFS_BLOCKSTORE_TYPE:-local}
          - LAKEFS_BLOCKSTORE_LOCAL_PATH=${LAKEFS_BLOCKSTORE_LOCAL_PATH:-/home/lakefs}
          - LAKEFS_GATEWAYS_S3_DOMAIN_NAME=${LAKEFS_GATEWAYS_S3_DOMAIN_NAME:-s3.local.lakefs.io:8000}
          - LAKEFS_BLOCKSTORE_S3_CREDENTIALS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}
          - LAKEFS_BLOCKSTORE_S3_CREDENTIALS_ACCESS_SECRET_KEY=${AWS_SECRET_ACCESS_KEY:-}
          - LAKEFS_LOGGING_LEVEL=${LAKEFS_LOGGING_LEVEL:-INFO}
          - LAKEFS_STATS_ENABLED
          - LAKEFS_BLOCKSTORE_S3_ENDPOINT
          - LAKEFS_BLOCKSTORE_S3_FORCE_PATH_STYLE
          - LAKEFS_COMMITTED_LOCAL_CACHE_DIR=${LAKEFS_COMMITTED_LOCAL_CACHE_DIR:-/home/lakefs/.local_tier}
        entrypoint: ["/app/wait-for", "postgres:5432", "--", "/app/lakefs", "run"]
      postgres:
        image: "postgres:${PG_VERSION:-12}"
        command: "-c log_min_messages=FATAL"
        environment:
          POSTGRES_USER: lakefs
          POSTGRES_PASSWORD: lakefs
     
     
    <wiz_tmp_tag class="wiz-block-scroll">
     
    • 启动
    docker-compose up -d
    • 效果


    首次需要使用lakefs 的cli 进行初始化(需要进入容器)

     
    lakefs  init --user-name dalongdemo

    参考效果

    • 数据使用
      lakefs 对于数据的上传和普通s3的操作是一样的,只是为了方便进行类似git 的管理提供了一个cli 程序,同时lakefs 也可以使用s3做为底层存储
      参考配置
     
    blockstore:
      type: s3
      s3:
        force_path_style: true
        endpoint: http://<minio_endpoint>:9000
        credentials:
          access_key_id: <minio_access_key>
          secret_access_key: <minio_secret_key>
     
     

    参考架构

    说明

    基于git 模式的数据管理工具还是很多的,dolthub,nessie 都是很不错的

    参考资料

    https://github.com/treeverse/lakeFS
    https://lakefs.io/
    https://docs.lakefs.io/reference/configuration.html#example-minio
    https://docs.lakefs.io/reference/configuration.html#using-environment-variables
    https://projectnessie.org/
    https://github.com/projectnessie/nessie
    https://www.dremio.com/introducing-project-nessie

  • 相关阅读:
    mingw 构建 Geos
    nmake构建Geos库
    使用Dlib来运行基于CNN的人脸检测
    DLib Http Server程序示例
    DLib压缩解压程序示例
    GDAL添加ECW格式支持
    Dlib机器学习指南图翻译
    DLib库Base64编解码示例
    Dlib三维点云示例
    Mingw编译DLib
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/14854595.html
Copyright © 2020-2023  润新知