当前位置: 首页 > news >正文

Doris单机部署

文章目录

        • 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_1666082925048IP: 192.168.91.145HostName: node01EditLogPort: 9010HttpPort: 8030QueryPort: 9030RpcPort: 9020Role: FOLLOWERIsMaster: trueClusterId: 757519444Join: trueAlive: true
ReplayedJournalId: 205LastHeartbeat: 2022-10-18 01:59:53IsHelper: trueErrMsg: Version: 1.0.0-rc03-UnknownCurrentConnected: Yes# 执行下面的命令查看 BE 运行状态
mysql> SHOW PROC '/backends'\G
*************************** 1. row ***************************BackendId: 10003Cluster: default_clusterIP: 192.168.91.145HostName: node01HeartbeatPort: 9050BePort: 9060HttpPort: 8041BrpcPort: 8060LastStartTime: 2022-10-18 01:53:05LastHeartbeat: 2022-10-18 01:59:58Alive: trueSystemDecommissioned: false
ClusterDecommissioned: falseTabletNum: 0DataUsedCapacity: 0.000 AvailCapacity: 27.579 GBTotalCapacity: 36.687 GBUsedPct: 24.83 %MaxDiskUsedPct: 24.83 %Tag: {"location" : "default"}ErrMsg: Version: 1.0.0-rc03-UnknownStatus: {"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,6curl  --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函数与语法对照差异篇

相关文章:

Doris单机部署

文章目录1. 前言2. 安装3. 启动4. 使用1. 前言 Apache Doris 是一款现代 MPP (Massively Parallel Processing大规模并行处理) 的分布式 SQL 分析数据库,所谓分析数据库就是将其数据集分布在许多机器或节点上,以处理大量数据,采用 Apache 2.0…...

利用身份证号获取生日信息

1 问题如何利用Java程序从身份证号中获取生日信息。2 方法采用“截图文字代码”的方式描述。//调用函数获取当前日期以及截取身份证号码中的数字import java.util.Calendar;import java.util.Scanner;public class nain { static Scanner sc new Scanner(System.in); st…...

c++模板的简单认识

文章目录 前言一.泛型编程 函数模板 模板参数的匹配原则 类模板总结前言 ADD函数很好写,但是如果我们要有int类型的,double类型的,char类型的等等各种类型,难道要写这么多不同的ADD函数吗,这么写简直太麻…...

真香!Linux 原来是这么管理内存的

Linux 内存管理模型非常直接明了,因为 Linux 的这种机制使其具有可移植性并且能够在内存管理单元相差不大的机器下实现 Linux,下面我们就来认识一下 Linux 内存管理是如何实现的。 一,基本概念 每个 Linux 进程都会有地址空间,这…...

计网之IP协议和以太网

文章目录一. IP协议1. IPv4报头介绍2. 解决IPv4地址不够用的问题3. IP地址管理4. 路由选择二. 以太网三. 浅谈DNS域名解析系统一. IP协议 IP协议是位于OSI模型中第三层(网络层)的协议, 在这层上工作的不止这一个协议, 但IP协议是网络层传输所使用的最主流的一种协议, 有IPv4和…...

华为OD机试 - 关联子串(Python) | 机试题+算法思路+考点+代码解析 【2023】

关联子串 题目 给定两个字符串str1和str2 如果字符串str1中的字符,经过排列组合后的字符串中 只要有一个是str2的子串 则认为str1是str2的关联子串 若不是关联子串则返回-1 示例一: 输入: str1="abc",str2="efghicaibii" 输出: -1 预制条件: 输入的…...

SpringBoot学习笔记(二)

配置文件分类 SpringBoot中4级配置文件 1级:file:config/application.yaml 【最高】 2级:file:application.yml 3级:classpath:config/application.yml 4级:classpath:application.…...

亚马逊云科技SageMaker:实现自动、可视化管理迭代

现如今,AI正在成为跨时代的技术,在数字经济发展中登上舞台,发挥关键作用。在Gartner发布的《2022年新兴技术成熟度曲线》*报告中,AIGC(即AI Generated Content,人工智能自动生成内容)被列为2022…...

汽车 Automotive > CAN Transceivers收发器选择

参考:https://www.nxp.com/products/interfaces/can-transceivers/3-3-v-5-v-io-can-transceivers:33VIO-CAN3.3 V / 5V IO CAN收发器组合TJA1042高速CAN收发器,具有待机模式,适用于所有类型的高速CAN网络,在需要低功耗模式的节点…...

AI将如何影响程序员的未来,以及如何不被AI所替代。

随着人工智能技术的不断发展,越来越多的工作被自动化和智能化所取代,其中程序员这个职业也不例外。然而,我们需要客观地分析AI在未来对程序员的影响,并且给出建议,以便程序员能够保持竞争力,不被AI所取代。…...

nginx 常用配置之 pass_proxy

大家好,我是 17。 今天和大家聊聊 pass_proxy 代理。 pass_proxy 代理 在前端代理主要是为了跨域。虽然前端跨域有多种方法,各有利弊,但用代理来跨域对开发是最友好的。用代理可以不用修改产品代码切换线上线下,非常安全。pass…...

Linux中驱动模块加载方法分析

如何管理驱动模块 由于Linux驱动模块众多,系统对模块加载顺序有要求,一些基础模块在系统启动时需要很早就被加载;开发者加入自己的模块时,需要维护一个模块初始化列表,上面两方面的做起来很困难,为了科学地…...

yarn 通过 resolutions,指定子孙依赖包版本号,解决froala-editor 版本问题

前端开发项目过程中会使用到各种依赖包。但是这些依赖包虽然好用,但是一味使用最新版本可能会出现各种奇葩问题,因此我们经常会针对一些依赖包指定一个稳定版本。 常用版本 版本号注释“1.0.2”必须切到1.0.2版“>1.0.2”必须大于1.0.2版“>1.0.…...

Elasticsearch7.8.0版本进阶——多文档操作流程

目录一、多文档操作1.1、多文档操作的概述1.2、多文档操作与单文档模式区别二、用单个 mget 请求取回多个文档2.1、用单个 mget 请求取回多个文档的图解2.2、用单个 mget 请求取回多个文档的步骤三、bulk API 的模式请求取回多个文档3.1、bulk API 的模式请求取回多个文档的图解…...

Scala函数式编程(第五章:函数基础、函数高级详解)

文章目录第 5 章 函数式编程5.1 函数基础5.1.1 函数基本语法5.1.2 函数和方法的区别5.1.3 函数定义5.1.4 函数参数5.1.5 函数至简原则(重点)5.2 函数高级5.2.1 高阶函数5.2.2 匿名函数5.2.3 高阶函数案例5.2.4 函数柯里化&闭包5.2.5 递归5.2.6 控制抽…...

ZED相机快速使用指南

1、安装SDK ZED SDK 3.8 - Download | Stereolabs 2、安装ros GitHub - stereolabs/zed-ros-wrapper: ROS wrapper for the ZED SDK 其他教程:ZED2相机SDK安装使用及ROS下使用_可即的博客-CSDN博客 3、官方文档 Get Started with ZED | Stereolabs 4、标定参…...

树莓派4b配置OpenWrt联网

文章目录前言一、下载固件二、配置wan口三、简单介绍1、修改无线名称、设置密码2、下载软件包总结前言 树莓派4b内置wifi模块,加一个千兆网口 好像有一种办法,通过无线wifi链接其他wifi通网,然后把这个网口作为lan口,连接电脑使…...

不同语言下的定时器,你都掌握了吗?

我们大家都对定时器不陌生,无论是现实中还是项目中,都离不开定时。在现实中,它叫闹钟,在项目上,它叫定时器,即定时触发某件事情。它能帮助我们在某一个既定的时间节点上,来提醒我们做一些事情&a…...

华为OD机试 - 水仙花数(Python) | 机试题+算法思路+考点+代码解析 【2023】

水仙花数 题目 所谓的水仙花数是指一个n位的正整数其各位数字的n次方的和等于该数本身, 例如153 = 1^3 + 5^3 + 3^3,153是一个三位数 输入 第一行输入一个整数N, 表示 N 位的正整数 N 在3-7之间包含3,7 第二行输入一个正整数M, 表示需要返回第M个水仙花数 输出描述 返…...

在onBindViewHolder设置View的translation失败或错乱的问题

这个问题,可以换成“为什么在onCreate里面修改一些子View不生效,错位,乱”等问题。 本质原因肯定是在没有把整个ViewGroup渲染完成之前,操作了部分子View,导致了位置偏移等。 解决办法也很简单,通过调用Vi…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...