为什么选择 Apache Doris 和 MinIO

Apache Doris 是一款基于 MPP 架构的高性能、实时分析型数据库。它以高效、简单和统一的特性著称,能够在亚秒级的时间内返回海量数据的查询结果。Doris 具备以下优势:

  • 高性能:在海量数据下实现亚秒级查询响应,支持高并发点查询和复杂分析。
  • 实时分析:支持实时数据导入和查询,适合需要即时洞察的业务场景。
  • 易用性:设计简单,操作和维护成本低。
  • 可扩展性:通过 MPP 架构实现水平扩展,处理大规模数据和高并发请求。
  • 多场景支持:适用于报表分析、即席查询、用户画像、日志检索等多种场景。
  • 强大集成性:可与 MySQL、PostgreSQL、Hive、Flink 等数据源和工具无缝集成。
  • 活跃社区:拥有超过 600 名贡献者和全球 5000 多家企业的生产环境应用,得到 TikTok、Baidu 等巨头的验证。

与此同时,Doris 还支持存算一体和存算分离两种部署模式,在存算一体模型下,Doris 会在内部存储数据,而在存算分离模式下,Doris 可以选择第三方存储系统,如 MinIO。

为什么选择 Apache Doris 和 MinIO.png

MinIO 是一个开源、分布式对象存储系统,专为高性能和云原生工作负载设计。其主要优势包括:

  • 高性能:Minio 提供快速的数据访问,满足实时分析需求。
  • 可扩展性:支持水平扩展,能够轻松应对数据量增长。
  • 成本效益:作为开源软件,Minio 可在本地部署,避免云存储的高昂费用。
  • S3 兼容性:与 Amazon S3 API 完全兼容,易于与现有工具和应用集成。
  • 分布式架构:通过擦除码(Erasure Coding)技术,提供高可用性和数据冗余。
  • 灵活部署:支持裸金属、容器(如 Kubernetes)或云平台部署,适应多种环境。

这些特性使 Minio 成为 Apache Doris 存算分离架构的理想存储后端。

部署指南

01 规划

在我们进行部署之前,需要进行容量规划,如果你部署的是在生产环节,那么你应该考虑使用更高规格配置的机器,并且将各个组件独立部署。

软件版本准备:

规划-1.png

服务器规划:

规划-2.png

02 准备工作

  1. 操作系统参数修改

    swapoff -a
    
    cat >> /etc/sysctl.conf << EOF
    vm.max_map_count = 2000000
    EOF
    
    # Take effect immediately
    sysctl -p
    
    vi /etc/security/limits.conf 
    * soft nofile 1000000
    * hard nofile 1000000
    
  2. 安装必要的命令

    	apt update
    	apt install -y net-tools
    	apt install -y cron
    	apt install -y iputils-ping
    

03 部署 MinIO

  1. 下载 MinIO:访问 MinIO 下载页面,选择适合的版本和操作系统。

    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    
  2. 在每个节点上启动 MinIO 服务器:

      export MINIO_REGION_NAME=us-east-1
      export MINIO_ROOT_USER=minio
      export MINIO_ROOT_PASSWORD=minioadmin
      mkdir -p /mnt/disk{1..4}/minio
      nohup minio server --address :9000 --console-address :9001 http://172.20.1.{2...5}:9000/mnt/disk{1...4}/minio 2>&1 &
    
  3. 配置 MinIO 客户端:

      wget https://dl.min.io/client/mc/release/linux-amd64/mc
      chmod +x mc
      ./mc alias set myminio http://127.0.0.1:9000 minio minioadmin
      ./mc mb myminio/doris
    

注意:如果 MinIO 部署在本地网络且未启用 TLS,需在 endpoint 中显式添加 "http://"。

04 部署 Doris Manager

  1. 下载 Doris Manager

      wget https://enterprise-doris-releases.oss-accelerate.aliyuncs.com/doris-manager/velodb-manager-25.0.0-x64-bin.tar.gz
    
  2. 解压并启动服务

    tar -zxf velodb-manager-25.0.0-x64-bin.tar.gz
    cd velodb-manager-25.0.0-x64-bin/webserver/bin
    bash start.sh
    
  3. 服务启动后,通过浏览器访问 http://:8004 即可进入管理界面并根据指引创建账号

    部署 Doris Manager.png

05 部署 Doris

  1. 下载 Doris

    wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-3.0.6.2-bin-x64.tar.gz
       mv apache-doris-3.0.6.2-bin-x64.tar.gz /opt/downloads/doris
    
  2. 进入主界面,根据指引创建集群

    部署 Doris-1.png

  3. 选择指定版本并设置 root 密码

    部署 Doris-2.png

  4. 填写 MinIO 信息

    部署 Doris-3.png

  5. 填写节点信息

    1. 分别在每个节点执行以下命令

      wget http://172.20.1.2:8004/api/download/deploy.sh -O deploy_agent.sh && chmod +x deploy_agent.sh && ./deploy_agent.sh
      
    2. 在界面上填写节点 IP 

      部署 Doris-4.png

  6. 配置 FE 节点

    部署 Doris-5.png

  7. 配置 BE 节点

    部署 Doris-6.png

  8. 部署你的集群

    部署 Doris-7.png

    部署 Doris-8.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐