Doris单机部署

news2024/10/7 20:33:17

文章目录

        • 1. 前言
        • 2. 安装
        • 3. 启动
        • 4. 使用

1. 前言

  Apache Doris 是一款现代 MPP (Massively Parallel Processing大规模并行处理) 的分布式 SQL 分析数据库,所谓分析数据库就是将其数据集分布在许多机器或节点上,以处理大量数据,采用 Apache 2.0 认证授权。它的前身是原百度 Palo,由百度在2017年开源,2018年进入 Apache 孵化器。Apache Doris 它可以提供亚秒级查询和高效的实时数据分析。凭借其分布式架构,将支持高达 10PB 级别的数据集,并且易于操作。它可以满足各种数据分析场景,比如:历史数据报告、实时数据分析、交互式数据分析、探索性数据分析等。

  Doris 主要集成了 Google MesaApache Impala 的技术,基于列式存储引擎,可以通过 MySQL 客户端进行通信。Doris 的定位是面向在线报表和分析的数据仓库系统,可以对标于商业的 MPP 数据仓库系统,比如 GreenplumVerticaTeradata 等。

2. 安装

  安装前需要有 JDK 环境,Doris 安装包下载路径:apache-doris-1.0.0-incubating-bin.tar.gz

[hadoop@node01 ~]$ tar -zxvf apache-doris-1.0.0-incubating-bin.tar.gz
[hadoop@node01 ~]$ mv apache-doris-1.0.0-incubating-bin doris-1.0.0
[hadoop@node01 ~]$ cd doris-1.0.0
[hadoop@node01 doris-1.0.0]$ vim fe/conf/fe.conf
# 添加 priority_networks 参数
priority_networks = 192.168.91.145/24
[hadoop@node01 doris-1.0.0]$ vim be/conf/be.conf
# 添加 priority_networks 参数
priority_networks = 192.168.91.145/24

3. 启动

[hadoop@node01 ~]$ ./doris-1.0.0/fe/bin/start_fe.sh --daemon (--daemon在后台启动)
[hadoop@node01 ~]$ ./doris-1.0.0/be/bin/start_be.sh --daemon

报错:
在这里插入图片描述
解决:在 be.conf 文件中修改 webserver_port 的端口号为:

# 原端口号为8040
webserver_port = 8041

  如果是 BE 的第一次启动,或者该 BE 尚未加入任何集群,则 BE 日志会定期滚动 waiting to receive first heartbeat from frontend 字样。表示 BE 还未通过 FE 的心跳收到 Master 的地址,正在被动等待。这种错误日志,在 FE 中 ADD BACKEND 并发送心跳后,就会消失。如果在接到心跳后,又重复出现 master client, get client from cache failed.host: , port: 0, code: 7 字样,说明 FE 成功连接了 BE,但 BE 无法主动连接 FE。可能需要检查 BE 到 FE 的 rpc_port 的连通性。

mysql -uroot -P9030 -h192.168.91.145
mysql> ALTER SYSTEM ADD BACKEND "192.168.91.145:9050";
# 如不小心填错了,可用这个删除:alter system decommission backend "192.168.91.145:9050";

4. 使用

# 执行下面的命令查看 FE 运行状态
mysql> SHOW PROC '/frontends'\G
*************************** 1. row ***************************
             Name: 192.168.91.145_9010_1666082925048
               IP: 192.168.91.145
         HostName: node01
      EditLogPort: 9010
         HttpPort: 8030
        QueryPort: 9030
          RpcPort: 9020
             Role: FOLLOWER
         IsMaster: true
        ClusterId: 757519444
             Join: true
            Alive: true
ReplayedJournalId: 205
    LastHeartbeat: 2022-10-18 01:59:53
         IsHelper: true
           ErrMsg: 
          Version: 1.0.0-rc03-Unknown
 CurrentConnected: Yes

# 执行下面的命令查看 BE 运行状态
mysql> SHOW PROC '/backends'\G
*************************** 1. row ***************************
            BackendId: 10003
              Cluster: default_cluster
                   IP: 192.168.91.145
             HostName: node01
        HeartbeatPort: 9050
               BePort: 9060
             HttpPort: 8041
             BrpcPort: 8060
        LastStartTime: 2022-10-18 01:53:05
        LastHeartbeat: 2022-10-18 01:59:58
                Alive: true
 SystemDecommissioned: false
ClusterDecommissioned: false
            TabletNum: 0
     DataUsedCapacity: 0.000 
        AvailCapacity: 27.579 GB
        TotalCapacity: 36.687 GB
              UsedPct: 24.83 %
       MaxDiskUsedPct: 24.83 %
                  Tag: {"location" : "default"}
               ErrMsg: 
              Version: 1.0.0-rc03-Unknown
               Status: {"lastSuccessReportTabletsTime":"2022-10-18 01:59:31","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false}

# 创建表
create database demo;
use demo;
CREATE TABLE IF NOT EXISTS demo.expamle_tbl
(
    `user_id` LARGEINT NOT NULL COMMENT "用户id",
    `date` DATE NOT NULL COMMENT "数据灌入日期时间",
    `city` VARCHAR(20) COMMENT "用户所在城市",
    `age` SMALLINT COMMENT "用户年龄",
    `sex` TINYINT COMMENT "用户性别",
    `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
    `cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
    `max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
    `min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
);

# 导入数据
[hadoop@node03 ~]$ vim test.csv
10000,2017-10-01,北京,20,0,2017-10-01 06:00:00,20,10,10
10000,2017-10-01,北京,20,0,2017-10-01 07:00:00,15,2,2
10001,2017-10-01,北京,30,1,2017-10-01 17:05:45,2,22,22
10002,2017-10-02,上海,20,1,2017-10-02 12:59:12,200,5,5
10003,2017-10-02,广州,32,0,2017-10-02 11:20:00,30,11,11
10004,2017-10-01,深圳,35,0,2017-10-01 10:00:15,100,3,3
10004,2017-10-03,深圳,35,0,2017-10-03 10:20:22,11,6,6

curl  --location-trusted -u root: -T test.csv -H "column_separator:," http://127.0.0.1:8030/api/demo/expamle_tbl/_stream_load
# -T test.csv : 这里是我们刚才保存的数据文件,如果路径不一样,请指定完整路径
# -u root : 这里是用户名密码,我们使用默认用户root,密码是空
# 127.0.0.1:8030 : 分别是 fe 的 ip 和 http_port

# 执行成功之后我们可以看到下面的返回信息:
{
    "TxnId": 1,
    "Label": "1e457682-d8f6-46c5-a996-f06ebaa70cd9",
    "TwoPhaseCommit": "false",
    "Status": "Success",
    "Message": "OK",
    "NumberTotalRows": 7,
    "NumberLoadedRows": 7,
    "NumberFilteredRows": 0,
    "NumberUnselectedRows": 0,
    "LoadBytes": 399,
    "LoadTimeMs": 663,
    "BeginTxnTimeMs": 59,
    "StreamLoadPutTimeMs": 212,
    "ReadDataTimeMs": 0,
    "WriteDataTimeMs": 134,
    "CommitAndPublishTimeMs": 249
}
# NumberLoadedRows: 表示已经导入的数据记录数
# NumberTotalRows: 表示要导入的总数据量
# Status :Success 表示导入成功

# 其他建表语句示例
CREATE TABLE  test_log
(
    `timestamp` DATETIME NOT NULL COMMENT "日志时间",
    `type` INT NOT NULL COMMENT "日志类型",
    `error_code` INT COMMENT "错误码",
    `op_id` BIGINT COMMENT "负责人id"
)
DUPLICATE KEY(`timestamp`, `type`)
DISTRIBUTED BY HASH(`timestamp`) BUCKETS 10
PROPERTIES
(
    "replication_num" = "1"     
);

参考:
https://doris.apache.org/zh-CN/docs/get-starting/
apache doris在蜀海供应链数仓建设中的实践
大数据之实时数据分析之Apache Doris数据库
大数据Hadoop之——DorisDB介绍与环境部署(StarRocks)
铸剑14年,Apache Doris终毕业!百度PALO助力顶级项目持续精进
Apache Doris 单节点(可多节点)Docker集群制作教程
DorisSQL与MySQL函数与语法对照差异篇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/362756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

几十亿工单表,查询优化案例

前言: 之前在某大型保险公司担任技术经理,负责优化话务系统模块,由于系统已经运行10年之久,尤其在话务系统中,沉积了几十亿的话务信息表,业务人员反馈,话务系统历史数据查询部分已经完全查询不动&#xff0…

Spring Cloud Nacos源码讲解(二)- Nacos客户端服务注册源码分析

Nacos客户端服务注册源码分析 服务注册信息 ​ 我们从Nacos-Client开始说起,那么说到客户端就涉及到服务注册,我们先了解一下Nacos客户端都会将什么信息传递给服务器,我们直接从Nacos Client项目的NamingTest说起 public class NamingTest…

less、sass、webpack(前端工程化)

目录 一、Less 1.配置less环境 1.先要安装node:在cmd中:node -v检查是否安装node 2.安装less :cnpm install -g less 3.检查less是否安装成功:lessc -v 4.安装成功后,在工作区创建xx.less文件 5.在控制台编译less,命令&…

Spring Cloud——流监控Dashboard

一、编写三个module 1. springcloud-consumer-hystrix-dashboard 1.导入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId><version>1.4.6.RELEASE</version>…

【服务器数据恢复】raid5磁盘阵列硬盘离线的数据恢复案例

服务器数据恢复环境&#xff1a; 某公司一台服务器组建了一组raid5磁盘阵列&#xff0c;作为共享存储池使用。该服务器存储数据库文件和普通文件。 服务器故障&检测&#xff1a; RAID5磁盘阵列的硬盘掉线导致服务器操作系统识别不到D分区。管理员重启了服务器&#xff0c;服…

如何发布新闻稿,包含编写新闻稿、发布渠道

发布新闻稿是一种重要的传播方式&#xff0c;它可以让公众了解你的新闻&#xff0c;并提高新闻的知名度和可信度。在这篇文章中&#xff0c;我将详细介绍如何发布新闻稿&#xff0c;包括选择发布渠道、编写新闻稿、发布新闻稿和推广新闻稿等方面的内容。1、选择发布渠道在发布新…

VirtualBox压缩VDI文件 VDI文件瘦身方法(cenos7)

virtualbox虚拟机运行久了之后就会发现&#xff0c;磁盘镜像vdi文件越来越大。即使你把虚拟机中的大文件删除&#xff0c;这个vdi文件占用的空间还是不变。也就是说动态扩展的vdi文件只会大&#xff0c;不会小。那么大的文件对于备份和分享都不是很方便&#xff0c;所以有必要的…

Arduino-抢答器

抢答器实验实验器件&#xff1a;■ 按键开关&#xff1a;4 个■ 红色LED灯&#xff1a;1 个■ 黄色LED灯&#xff1a;1 个■ 绿色LED灯&#xff1a;1 个■ 220欧电阻&#xff1a;7 个■ 面包板&#xff1a;1 个■ 多彩杜邦线&#xff1a;若干实验连线将代码上传到开发板。程序代…

mysql 学习、复习资料整理详细

mysql 学习、复习资料整理详细1、数据库基础1.1 数据库设计遵循的原则1.2 数据库范式1.2 数据库完整性的实现2、mysql特点3、事务3.1 事务的四大特性 – ACID3.2 并发事务问题3.3 事务的四大隔离级别3.4 事务隔离级别操作sql3.5 事务原理 – LBCC MVCC3.4.1 行的隐藏列3.4.2 Re…

一文教你玩转 Apache Doris 分区分桶新功能|新版本揭秘

数据分片&#xff08;Sharding&#xff09;是分布式数据库分而治之 (Divide And Conquer) 这一设计思想的体现。过去的单机数据库在大数据量下往往面临存储和 IO 的限制&#xff0c;而分布式数据库则通过数据划分的规则&#xff0c;将数据打散分布至不同的机器或节点上&#xf…

【7/101】101次面试之测试技术面试题

01、什么是兼容性测试&#xff1f;兼容性测试侧重哪些方面&#xff1f;答&#xff1a;兼容性测试是一种软件测试类型&#xff0c;它的主要目的是确保一个应用程序在不同的操作系统、不同的浏览器、不同的设备、不同的网络环境等各种环境下能够正常运行&#xff0c;并且不会产生…

Vue使用ElementUI对表单元素进行自定义校验

前言 在使用ElementUI的表单元素时候&#xff0c;除了做一些简单的非空处理校验&#xff0c;在一些特殊的场合&#xff0c;还需要我们做一些自定义校验。 其实ElementUI不仅提供了基本的非空校验&#xff0c;也对我们提供了自定义检验。 在使用的时候还是遇到了一些坑&#…

华为OD机试 - 特异性双端队列(C++) | 附带编码思路 【2023】

刷算法题之前必看 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12199283.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 华为OD机试题…

SAP中BOM基础数量及组件数量单位比例关系的注意事项

下图是BOM展开功能CS11在正式系统和测试系统的截图。从截图中的对比不难看出&#xff0c;最下级的原材料A20981-110在组件的数量为1&#xff0c;实际按BOM中的设定比例折算&#xff0c;应该是1个成品&#xff0c;对应需要0.125件原材料。但这里显示的并不是0.125PC&#xff0c;…

Ubuntu22.04 安装Mongodb6.X

Ubuntu22.04 安装Mongodb6.X 1、Mongodb简介 1.1 什么是MongoDB? Mongodb是一个跨平台的面向文档的NoSQL数据库。它使用带有可选模式的类似JSON的BSON来存储数据。应用程序可以以JSON格式检索信息。 1.2 MongoDB的优点 可以快速开发web型应用&#xff0c;因为灵活&#xff0c;…

sympy高斯光束模型

文章目录Gauss模型sympy封装实战sympy.phisics.optics.gaussopt集成了高斯光学中的常见对象&#xff0c;包括光线和光学元件等&#xff0c;有了这些东西&#xff0c;就可以制作一个光学仿真系统。Gauss模型 高斯光束的基本模型为 E(r,z)E0ω0ω(z)exp⁡[−r2ω2(z)]exp⁡[−ik…

自动增长配置不合理导致的性能抖动

背景客户收到了SQL专家云告警邮件&#xff0c;在凌晨2点到3点之间带有资源等待的会话数暴增&#xff0c;请我们协助分析。现象登录SQL专家云&#xff0c;进入活动会话的趋势分析页面&#xff0c;下钻到2点钟一个小时内的数据&#xff0c;看到每分钟的等待数都在100左右&#xf…

“源启”新程,共筑数字新基石 2023年中电金信跑出转型发展加速度

核心提示 预计到2025年&#xff0c;我国数字经济规模将超60万亿元&#xff0c;我国数字经济投入产出效率将提升至约3.5。 近日&#xff0c;中国信通院数字经济与工业经济领域主席孙克在相关活动中表示&#xff0c;预计到2025年&#xff0c;我国数字经济规模将超60万亿元&#…

2023年华为HCIE-Dacom认证题库(H12-891)

1、如图所示是某位网络工程师在排查OSPF故障时的输出信息。据此判断&#xff0c;以下哪种原因可能导致邻接关系无法正常建立。 Hello报文发送时间不一致认证密码不一致接口的IP地址掩码不一致区域类型不一致 正确答案&#xff1a;C 2、如图所示&#xff0c;路由器的所有接口开启…

极市打榜|未戴鸭舌帽识别算法上线,单人独享1000元合作金

极市打榜 算法打榜是极市平台推出的一种算法项目合作模式&#xff0c;至今已上线 100 产业端落地算法项目&#xff0c;已对接智慧城市、智慧工地、明厨亮灶等多个行业真实需求&#xff0c;算法方向涵盖目标检测、行为识别、图像分割、视频理解、目标跟踪、OCR等。 开发者报名…