首页 > 数据库 >libsql bottomless 集成minio 简单使用

libsql bottomless 集成minio 简单使用

时间:2025-01-19 09:10:53浏览次数:1  
标签:db1 libsql -- 0.0 BOTTOMLESS bottomless minio

libsql 支持bottomless 可以方便的将wal数据存储在s3中(基于了虚拟wal 接口实现),以下是一个简单使用

环境准备

  • docker-compose

环境开启了namespace 以及集成主从服务

services:
  db1:
    image: ghcr.io/tursodatabase/libsql-server:latest
    entrypoint:  /bin/sqld --db-path iku.db --http-listen-addr 0.0.0.0:8080  --admin-listen-addr 0.0.0.0:8181 --grpc-listen-addr 0.0.0.0:5001 --enable-namespaces
    environment:
      - SQLD_ENABLE_BOTTOMLESS_REPLICATION=true
      - LIBSQL_BOTTOMLESS_ENDPOINT=http://s3:9000
      - LIBSQL_BOTTOMLESS_DATABASE_ID=db1
      - LIBSQL_BOTTOMLESS_AWS_ACCESS_KEY_ID=minio
      - LIBSQL_BOTTOMLESS_AWS_SECRET_ACCESS_KEY=minio123
      - LIBSQL_BOTTOMLESS_BUCKET=bottomless
      - LIBSQL_BOTTOMLESS_AWS_DEFAULT_REGION=eu-central-2
      - RUST_LOG=info,bottomless=trace=value
    ports:
      - "8080:8080"
      - "8181:8181"
      - "5001:5001"
    volumes:
      - ./data1/libsql:/var/lib/sqld
  db2:
    image: ghcr.io/tursodatabase/libsql-server:latest
    entrypoint: /bin/sqld --db-path iku.db --http-listen-addr 0.0.0.0:8080 --admin-listen-addr 0.0.0.0:8181 --primary-grpc-url http://db1:5001  --enable-namespaces
    ports:
      - "8081:8080"
      - "8182:8181"
      - "5002:5001"
    volumes:
      - ./data2/libsql:/var/lib/sqld
  s3:
    image: minio/minio
    command: server /data --console-address ":9001"
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
    - MINIO_ACCESS_KEY=minio
    - MINIO_SECRET_KEY=minio123

使用

  • 配置hosts 因为使用了namespace
127.0.0.1 db1.local
127.0.0.1 db2.local
  • 创建db
curl  -X POST \
  'http://localhost:8181/v1/namespaces/db1/create' \
  --header 'Accept: */*' \
  --header 'Content-Type: application/json' \
  --data-raw '{}'
  • 数据写入
curl -d '{"statements": ["CREATE TABLE IF NOT EXISTS usersv2 (username)", "INSERT INTO usersv2 VALUES (\"alice\")"]}' http://db1.local:8080
  • s3 存储效果

说明

以上是一个简单测试,实际对于集成bottomless libsql 内部提供了不少参数,目前官方文档提供的信息并不是很完整,推荐基于源码学习,而且对于集成bottomless的应该是在primary 节点配置的,对于replica节点是不支持的

参考资料

libsql-server/src/main.rs

bottomless/src/replicator.rs

https://github.com/tursodatabase/libsql/blob/main/docker-compose/docker-compose-with-bottomless.yml

标签:db1,libsql,--,0.0,BOTTOMLESS,bottomless,minio
From: https://www.cnblogs.com/rongfengliang/p/18549261

相关文章

  • k8s集成MinIo
    本篇文章分享一下在k8s怎么集成 minio做存储,并实现PersistentVolume(PV)、PersistentVolumeClaim(PVC)、动态存储卷StorageClass,以及演示让pod使用这些存储卷的完整流程。一、理论1、PV概念PV是对K8S存储资源的抽象,PV一般由运维人员创建和配置,供容器申请使用。没有PV......
  • libsql 多租户namespace模式试用
    libsql支持基于db分离的多租户模式,但是需要开启namespace能力,以下是一个简单说明以及测试开启namepace我基于docker-compose部署,目前docker部署的缺少环境变量支持,我基于了cmd运行,核心是--enable-namespacesdocker-composeservices:db1:image:ghcr.io/turs......
  • k8s 部署minio
    参考:https://devpress.csdn.net/k8s/66c98bb2a1ed2f4c853cb2c0.html 1、创建pvcvimminio-pvc.yml---apiVersion:v1kind:PersistentVolumeClaimmetadata:name:minio-pvcnamespace:nmg-testspec:storageClassName:"nfs-client"accessModes:......
  • 06、Docker学习,常用安装:Zookeeper、ES、Minio
    Docker学习,常用安装:Zookeeper、ES、Minio一、Docker安装Zookeeper##查询zookeeper镜像dockersearchzookeeper##拉去zookeeper镜像dockerpullzookeeper:latest##本地创建zookeeper的挂载目录mkdir-p/opt/software/myfile/zookeeper/confmkdir-p/opt/softwar......
  • Docker安装Minio
    Docker安装Minio准备工作先准备配置目录和持久化目录,举个栗子:mkdir-p/opt/module/minio/{conf,data,logs}准备配置文件*.cnf,放到/opt/module/minio/conf目录下。拉取官方minio镜像#拉取minio/minio:RELEASE.2023-11-01T18-37-25Zdockerpullminio/minio:RELEASE.......
  • 在 Ubuntu 上搭建 MinIO 服务器
    在日常开发时,如果有文件上传下载的需求(比如用户头像),但是又不想使用对象存储,那么自己搭建一个MinIO服务器是一个比较简单的解决方案。MinIO是一个基于ApacheLicensev2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片......
  • Minio使用教程
    MinioMinIO是一个高性能的对象存储服务器,用于构建云存储解决方案。它使用Golang编写,专为私有云、公有云和混合云环境设计。它是兼容AmazonS3API的,并可以作为一个独立的存储后端或与其他流行的开源解决方案(如Kubernetes)集成。MinIO允许你存储非结构化数据(如图片、视频、日志......
  • centos7 安装minio
    下载地址如下:下载地址通过以下命令可直接将安装包下载至服务器wgethttps://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230809233022.0.0.x86_64.rpm1安装MinIOrpm-ivhminio-20230809233022.0.0.x86_64.rpm1集成Systemd编写MinIO服务配置文件vim/e......
  • 【模块一】kubernetes容器编排进阶实战之基于velero及minio实现etcd数据备份与恢复
    基于velero及minio实现etcd数据备份与恢复Velero简介及minio环境准备Velero简介:Velero是vmware开源的一个云原生的灾难恢复和迁移工具,它本身也是开源的,采用Go语言编写,可以安全的备份、恢复和迁移Kubernetes集群资源数据,Velero。Velero是西班牙语意思是帆船,非常符合K......
  • 【无标题】minio报minio API responded with message=Access denied on the resource
    确认MinIO服务状态首先,确保MinIO服务正在运行且可以访问。您可以通过直接访问MinIO的HTTP端口(默认为9000)来检查服务状态。例如,在浏览器中访问http://<MinIO服务IP>:9000或使用命令行工具如curl来进行测试。curlhttp://<MinIO服务IP>:9000/minio/health/live如果服......