Doris安装部署文档

ApacheDoris是一个基于MPP架构的实时数据仓库,以其高速和易用性支持高并发查询和复杂分析。文章介绍了其起源、发展、广泛的应用场景,以及如何部署和优化。
摘要由CSDN通过智能技术生成

简介

网址:Apache Doris: Open-Source Real-Time Data Warehouse - Apache Doris

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

Apache Doris 最早是诞生于百度广告报表业务的 Palo 项目,2017 年正式对外开源,2018 年 7 月由百度捐赠给 Apache 基金会进行孵化,之后在 Apache 导师的指导下由孵化器项目管理委员会成员进行孵化和运营。目前 Apache Doris 社区已经聚集了来自不同行业数百家企业的 400 余位贡献者,并且每月活跃贡献者人数也超过 100 位。 2022 年 6 月,Apache Doris 成功从 Apache 孵化器毕业,正式成为 Apache 顶级项目(Top-Level Project,TLP)

Apache Doris 如今在中国乃至全球范围内都拥有着广泛的用户群体,截止目前, Apache Doris 已经在全球超过 2000 家企业的生产环境中得到应用,在中国市值或估值排行前 50 的互联网公司中,有超过 80% 长期使用 Apache Doris,包括百度、美团、小米、京东、字节跳动、腾讯、网易、快手、微博、贝壳等。同时在一些传统行业如金融、能源、制造、电信等领域也有着丰富的应用。

使用场景

如下图所示,数据源经过各种数据集成和加工处理后,通常会入库到实时数仓 Doris 和离线湖仓(Hive, Iceberg, Hudi 中),Apache Doris 被广泛应用在以下场景中。

报表分析

    • 实时看板 (Dashboards)
    • 面向企业内部分析师和管理者的报表
    • 面向用户或者客户的高并发报表分析(Customer Facing Analytics)。比如面向网站主的站点分析、面向广告主的广告报表,并发通常要求成千上万的 QPS ,查询延时要求毫秒级响应。著名的电商公司京东在广告报表中使用 Apache Doris ,每天写入 100 亿行数据,查询并发 QPS 上万,99 分位的查询延时 150ms。

即席查询(Ad-hoc Query):面向分析师的自助分析,查询模式不固定,要求较高的吞吐。小米公司基于 Doris 构建了增长分析平台(Growing Analytics,GA),利用用户行为数据对业务进行增长分析,平均查询延时 10s,95 分位的查询延时 30s 以内,每天的 SQL 查询量为数万条。

统一数仓构建 :一个平台满足统一的数据仓库建设需求,简化繁琐的大数据软件栈。海底捞基于 Doris 构建的统一数仓,替换了原来由 Spark、Hive、Kudu、Hbase、Phoenix 组成的旧架构,架构大大简化。

数据湖联邦查询:通过外表的方式联邦分析位于 Hive、Iceberg、Hudi 中的数据,在避免数据拷贝的前提下,查询性能大幅提升。

技术概述

Doris整体架构如下图所示,Doris 架构非常简单,只有两类进程

Frontend(FE),主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。

Backend(BE),主要负责数据存储、查询计划的执行。

这两类进程都是可以横向扩展的,单集群可以支持到数百台机器,数十 PB 的存储容量。并且这两类进程通过一致性协议来保证服务的高可用和数据的高可靠。这种高度集成的架构设计极大的降低了一款分布式系统的运维成本。

使用接口方面,Doris 采用 MySQL 协议,高度兼容 MySQL 语法,支持标准 SQL,用户可以通过各类客户端工具来访问 Doris,并支持与 BI 工具的无缝对接。

存储引擎方面,Doris 采用列式存储,按列进行数据的编码压缩和读取,能够实现极高的压缩比,同时减少大量非相关数据的扫描,从而更加有效利用 IO 和 CPU 资源。

下载安装

注1:

  1. FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。
  2. BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量 * 3(3副本)计算,然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。
  3. 一台机器上可以部署多个 BE 实例,但是只能部署一个 FE。如果需要 3 副本数据,那么至少需要 3 台机器各部署一个 BE 实例(而不是1台机器部署3个BE实例)。多个FE所在服务器的时钟必须保持一致(允许最多5秒的时钟偏差)
  4. 测试环境也可以仅适用一个 BE 进行测试。实际生产环境,BE 实例数量直接决定了整体查询延迟。
  5. 所有部署节点关闭 Swap。

注2:FE 节点的数量

  1. FE 角色分为 Follower 和 Observer,(Leader 为 Follower 组中选举出来的一种角色,以下统称 Follower)。
  2. FE 节点数据至少为1(1 个 Follower)。当部署 1 个 Follower 和 1 个 Observer 时,可以实现读高可用。当部署 3 个 Follower 时,可以实现读写高可用(HA)。
  3. Follower 的数量必须为奇数,Observer 数量随意。
  4. 根据以往经验,当集群可用性要求很高时(比如提供在线业务),可以部署 3 个 Follower 和 1-3 个 Observer。如果是离线业务,建议部署 1 个 Follower 和 1-3 个 Observer。
  • 通常我们建议 10 ~ 100 台左右的机器,来充分发挥 Doris 的性能(其中 3 台部署 FE(HA),剩余的部署 BE)
  • 当然,Doris的性能与节点数量及配置正相关。在最少4台机器(一台 FE,三台 BE,其中一台 BE 混部一个 Observer FE 提供元数据备份),以及较低配置的情况下,依然可以平稳的运行 Doris。
  • 如果 FE 和 BE 混部,需注意资源竞争问题,并保证元数据目录和数据目录分属不同磁盘。

软硬件配置要求:

下载地址为http://archive.apache.org/dist/doris/

(安装doris需要最少100G磁盘)

根据需要下载指定版本即可,此处以1.2.4为例,下载apache-doris-be-1.2.4-bin-x86_64.tar.xz;apache-doris-dependencies-1.2.4-bin-x86_64.tar.xz;apache-doris-fe-1.2.4-bin-x86_64.tar.xz。

将指定安装包上传到服务器(以192.168.0.30为例)并解压:

tar -xvf apache-doris-fe-1.2.4-bin-x86_64.tar.xz

tar -xvf apache-doris-be-1.2.4-bin-x86_64.tar.xz

修改FE配置

首先进入到fe部分的conf中,修改fe.conf

http_port默认为8030,如果机器上有大数据相关进程,该端口会被占用,自行修改,此处修改为18030。

priority_networks配置ip。

注意:这个参数我们在安装的时候是必须要配置的,特别是当一台机器拥有多个IP地址的时候,我们要为FE指定唯一的IP地址。这里假设你的节点IP是192.168.0.30,那么我们可以通过掩码的方式配置为192.168.0.0/24。

启动FE

./bin/start-fe.sh --daemon

通过监控log/fe.log查看启动日志。

通过WebUI查看是否启动成功,192.168.0.30:18030,出现登陆界面,默认用户为admin和root,没有密码。

修改BE配置

进入到be中的conf修改be.conf

主要是配置storage_root_path:数据存放目录。默认在be/storage下,如果需要自定义,需要手动创建该目录。

通过mysql-client链接:

mysql -h 192.168.0.30 -P 9030 -uroot

alter system add backend '192.168.0.30:9050';

如果有多个be节点 将指定的IP:port依次全部加入即可。

启动BE

./bin/start-be.sh --daemon

启动报错如下:

在be节点执行 sysctl -w vm.max_map_count=2000000

重新启动后报如下错误:

原因∶安装Java UDF函数因为从1.2版本开始支持Java UDF函数,需要从官网下载Java UDF函数的JAR包放到BE的lib目录下.否则可能会启动失败。在官网下载依赖的jar包。下载完成后拷贝到BE的lib目录下即可。

前面下载的apache-doris-dependencies-1.2.4-bin-x86_64.tar.xz压缩包解压后里面有java-udf-jar-with-dependencies.jar文件,将该jar文件复制到be模块中的lib中,重新启动。

注意:如果be部署在hadoop集群中,注意调整be.conf中的webserver_port = 8040 (hadoop集群中,nodemanager进程默认使用的是8040端口号),以免造成端口冲突。否则会报如下错误︰

此处修改为18040后启动正常。

查看be状态

1:通过mysql-client 执行如下命令:

show proc '/backends';

2:通过WebUI查看

192.168.0.30:18040

192.168.0.30:18040/api/health

查看fe状态

  1. WebUI

通过http://192.168.0.30:18030/api/bootstrap

通过mysql连接工具能够正常操作doris,如Navicat、DataGrip等。

  • 45
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: "Doris"是一个提供数据分析与可视化的开源工具,其帮助文档主要用于指导用户正确使用Doris进行数据处理和分析的过程。 Doris的中文帮助文档主要包含以下内容: 1. 简介:介绍Doris的概念、特点和应用场景,帮助用户了解Doris的基本信息,并了解何时选择使用Doris。 2. 安装与配置:详细说明如何下载和安装Doris,并提供相应的配置指南,帮助用户在自己的环境中正确地设置Doris的运行。 3. 数据导入与导出:指导用户如何将数据导入到Doris中或将数据从Doris导出到其他存储系统,包括介绍数据文件格式、导入导出命令和常见问题解答等。 4. 数据模型与设计:介绍Doris的数据模型和表设计,包括如何创建表、选择合适的字段和索引,以及表的修改与删除等。 5. 查询与分析:详细讲解如何进行数据查询和分析操作,包括查询语句的编写、条件过滤、排序、分组和聚合等常用操作,以及一些高级查询特性的使用。 6. 数据可视化:引导用户如何使用Doris内置的数据可视化工具,展示数据分析结果的图表和报表,以帮助用户更直观、清晰地理解和展示数据。 7. 性能调优与故障排除:提供针对Doris性能优化和故障排查的相关建议和指导,帮助用户解决潜在的性能瓶颈或故障问题。 总之,Doris中文帮助文档旨在帮助用户全面了解和使用Doris,从安装、配置到数据处理和分析的各个方面提供详尽的指导和参考,以确保用户能够正确、高效地使用Doris进行数据分析与可视化。 ### 回答2: Doris 是一个开源的分布式列式存储系统,专注于大规模、高吞吐、低延迟的 OLAP(联机分析处理)场景。它提供了高效的数据存储和查询能力,可以有效地支持数据分析和数据科学工作。 Doris 支持水平扩展,可以通过在集群中增加节点来提升系统的性能和容量。它具有高可靠性和高可用性,即使在节点故障的情况下也能保持系统的正常运行。此外,Doris 还具有自动平衡数据和自动副本分配的能力,使得数据在集群中能够平均分布,提高系统的整体性能。 Doris 提供了多种数据模型和查询语言,包括行式模型和列式模型,可以根据不同的业务需求选择合适的模型。同时,它支持丰富的查询语言,如SQL、OLAP SQL 和 Druid SQL,方便用户进行数据查询和分析。 为了方便用户使用,Doris 还提供了中文帮助文档。这份帮助文档详细介绍了 Doris 的体系架构、安装部署方法、数据模型和查询语言等内容。用户可以根据文档中的指南一步步安装和配置 Doris,了解和掌握系统的使用方法。如果在使用过程中遇到问题,用户可以通过文档中提供的方法进行故障排查和问题解决。 总之,Doris 是一个功能强大的分布式列式存储系统,通过提供中文帮助文档,方便用户学习和使用该系统。用户可以根据文档中的指导,充分发挥 Doris 的性能和价值,实现高效的数据分析和处理。 ### 回答3: Doris 是一个开源的分布式 SQL 类型数据仓库,旨在帮助用户处理大规模数据。它可以帮助用户高效处理PB级数据,实现快速的实时查询和分析。Doris 的中文帮助文档提供了详细的用户指南和操作手册,方便用户了解和使用 Doris。 首先,中文帮助文档介绍了 Doris 的概念和架构。用户可以了解到 Doris 的核心组件、数据模型、数据存储和分布式部署等重要内容。这些概念会帮助用户更好地理解和使用 Doris。 其次,中文帮助文档提供了丰富的教程和示例。用户可以学习如何安装部署 Doris,如何创建和管理表格,以及如何进行数据加载和查询等操作。这些教程配有详细的步骤和示例代码,帮助用户快速上手。 此外,中文帮助文档还包含了常见问题解答和故障排除指南。用户在使用 Doris 过程中遇到问题时,可以参考这些文档找到解决方法。这些文档通常包含了常见问题的原因和解决方案,帮助用户提高故障排除的效率。 总之,Doris 的中文帮助文档是一个全面且实用的指南,可以帮助用户深入理解 Doris 的各个方面,并且在使用中遇到问题时提供帮助和解决方案。通过这个文档,用户可以更加轻松地使用 Doris,实现高效的数据处理和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不加班程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值