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

Doris 2.x 安装及使用

Doris 2.x 安装及使用

简介

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

该方案并非官方推荐的自己制作镜像模式,正规模式及方案请查看官网:
https://doris.incubator.apache.org/zh-CN/docs/2.0/install/source-install/compilation-with-docker

准备环境及文件

官方要求修改内核参数

sudo sysctl -w vm.max_map_count=2000000 
sysctl vm.max_map_count

下载 doris 及 mysql 连接工具

doris 2.16 地址::https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.1.6-bin-x64.tar.gz
mysql 客户端地址: https://doris-build-hk.oss-cn-hongkong.aliyuncs.com/mysql-client/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
根据自己的要求下载 doris 对应版本就可。

拉取 doker 环境,使用官方 2.0 的环境皆适配 doris 不同版本

# cf-workers-docker-io1-ai1.pages.dev  是个人地址docker pull cf-workers-docker-io1-ai1.pages.dev/apache/doris:build-env-for-2.0 /bin/bash

上传至宿主机

# 创建文件目录
mkdir /opt/install
# window 使用工具上传,linux 可以使用 scp 上传
scp /opt/install/xxx.tar root@x.x.x.x:/opt/install/
安装及部署

构建 docker 环境

# 9030 为 doris 数据库地址,8030 为数据库管理页面 web 端口,可修改为其他docker run -d -it --name=doris  -p 9030:9030 -p 8030:8030 
cf-workers-docker-io1-ai1.pages.dev/apache/doris:build-env-for-2.0 
/bin/bash

复制文件至 docker 中并进入容器解压

docker cp /opt/install/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz doris:/opt 
docker cp /opt/install/apache-doris-2.1.6-bin-x64.tar.gz doris:/opt# 进入容器
docker exec -it doris /bin/bash# 解压文件
cd /opt
tar -xvf apache-doris-2.1.6-bin-x64.tar.gz
tar -xzvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz# 获取本机容器内网ip地址,需修改到配置文件中。 
hostname -i

配置 FE

cd /opt/apache-doris-2.1.6-bin-x64/fe
vi conf/fe.conf# 在配置文件中找到 priority_networks 后将注释打开,替换为自己的内网 ip
priority_networks = 自己的内网 ip/24# 启动 FE
./bin/start_fe.sh --daemon # 测试时候成功
curl http://127.0.0.1:8030/api/bootstrap

配置 BE

cd /opt//apache-doris-2.1.6-bin-x64/be
vi conf/be.conf# 在配置文件中找到 priority_networks 后将注释打开,替换为自己的内网 ip
priority_networks = 自己的内网 ip/24# 启动 FE
./bin/start_be.sh --daemon 

将 be 添加至 fe ,测试 mysql 连接工具的作用就有了

# 默认配置账号 root 和 admin 都没有密码
/opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl# 将BE节点加入到集群中, 9050 不可更改,为内置端口
ALTER SYSTEM ADD BACKEND "内网 ip 地址:9050"; # 显示doris后端详情 
SHOW BACKENDS\G# 修改 admin 密码
SET PASSWORD FOR 'admin'= PASSWORD('你的密码');

将 be 及 fe 启动加入自启动文件中,方便 docker restart 时重启 doris

vim /root/.bashrc# 在最后一行加入
/opt/apache-doris-2.1.6-bin-x64/fe/bin/start_fe.sh --daemon
/opt/apache-doris-2.1.6-bin-x64/be/bin/start_be.sh --daemon
测试及使用

至此,可使用 mysql 工具进行连接,如: navicat 或 mysql 其他工具。

# 进入客户端
/opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl# 创建测试库
create database demo;
use demo;# 创建测试表,语法与 mysql 高度相似,并不完全一样
CREATE TABLE `demo`.`bs_pat_info` (`id` BIGINT NOT NULL AUTO_INCREMENT,`base_id` VARCHAR(50) NOT NULL COMMENT 'user id',`pat_name` VARCHAR(100) NULL DEFAULT NULL,`record_time` DATETIME NOT NULL,`identify_number` VARCHAR(2000) NULL DEFAULT NULL,`address` VARCHAR(2000) NULL DEFAULT NULL,`delete_flag` VARCHAR(5) NULL DEFAULT NULL
) ENGINE=OLAP
UNIQUE KEY(`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS 10
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);# 插入数据
INSERT INTO `demo`.`bs_pat_info`(`id`, `base_id`, `pat_name`, `record_time`, `identify_number`, `address`, `delete_flag`) VALUES (27622, '80472151', '俞强', '2024-08-26 08:59:49', '370201196803125600', '聊城市御景王宅3号楼303', '0');# 附带 Doris 删除重复数据语句,根据 base_id 分组保留最新一条,删除旧数据
DELETE FROM bs_pat_info t1 USING (select id from `bs_pat_info` where id not in(select id from (SELECT id, ROW_NUMBER () OVER ( PARTITION BY base_id ORDER BY record_time, id DESC ) AS rn FROM `bs_pat_info`) t where t.rn = 1)) t2 WHERE t1.id = t2.id or delete_flag = '1';

Doris 账号及密码

用户密码
admin
root

相关文章:

Doris 2.x 安装及使用

Doris 2.x 安装及使用 简介 Apache Doris 是一款基于 MPP 架构的高性能、实时的分析型数据库,以高效、简单、统一的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持…...

MySQL字符集设置

MySQL字符集设置 一、查看当前配置的字符集 \s;示例 MariaDB [(none)]> \s -------------- mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1Connection id: 11 Current database: Current user: rootlocalhost SSL: …...

深度学习模型量化

模型量化是深度学习领域中的一项重要技术,它通过降低模型参数的精度,将浮点数转换为整数或定点数,从而实现模型的压缩和优化。以下是进行模型量化的详细步骤和注意事项: 一、模型量化的基本步骤 选择量化方法 后训练量化&#xf…...

红黑树和B+树

红黑树和B树是两种常用的自平衡数据结构,适用于不同的应用场景和需求。下面是对这两种树的详细比较和描述: 红黑树 基本结构: 红黑树是一种自平衡的二叉搜索树(Binary Search Tree),其中每个节点都有一个颜…...

debian 12配置固定ip

配置文件 cat /etc/network/interfaces |grep -v # source /etc/network/interfaces.d/*auto lo iface lo inet loopbackallow-hotplug ens18 iface ens18 inet staticaddress 192.168.0.105/24network 192.168.0.0broadcast 192.168.0.255gateway 192.168.0.1dns-nameserver…...

OceanBase技术解析: 执行器中的自适应技术

在《OceanBase 数据库源码解析》这本书中,对于执行器的探讨还不够深入,它更多地聚焦于执行器的并行处理机制。因此,通过本文与大家分享OceanBase执行器中几种典型的自适应技术,作为对书中执行器部分的一个补充。 提升数据库分析性…...

Spring Cloud Gateway接入WebSocket:实现实时通信

在现代的微服务架构中,实时通信变得越来越重要。Spring Cloud Gateway作为Spring Cloud生态中的API网关,提供了动态路由、监控、弹性、安全等功能。本文将介绍如何通过Spring Cloud Gateway接入WebSocket,实现服务之间的实时通信。 为什么需…...

linux信号| 学习信号三步走 | 学习信号需要打通哪些知识脉络?

前言: 本节内容主要讲解linux下信号的预备知识以及信号的概念, 信号部分我们将会分为几个阶段进行讲解:信号的概念, 信号的产生, 信号的保存。本节主要讲解信号 ps:本节内容适合学习了进程相关概念的友友们进行观看哦 目录 什么是…...

Java调用第三方接口、http请求详解,一文学会

Java 调用第三方接口的封装方法详解 在开发企业级应用时,调用第三方接口是非常常见的场景。我们可能需要与外部服务集成,如支付接口、短信接口、天气服务接口等。为了提高代码的可维护性、复用性和易扩展性,封装第三方接口调用的方法非常重要…...

windows10使用bat脚本安装前后端环境之redis注册服务

首先需要搞清楚redis在本地是怎么安装配置、然后在根据如下步骤编写bat脚本: 思路 1.下载zip格式redis 2.查看windows server服务是否已安装redis 3.启动查看服务是否正常 bat脚本 echo off echo windows10 x64 server redis init REM 请求管理员权限并隐藏窗口 …...

fastapp-微信开发GPT项目第一课

0. 开发说明 在学习开发本项目之前,必须保证有以下知识储备和环境工具。 技术栈说明python>3.9、pydantic>2.7.1python基础,http协议fastapi>0.111.0web协程异步框架,有web开发基础,异步编程,类型标注[pyth…...

在双十一必买的好物有哪些?2024年双十一好物清单分享

一年一度的双十一购物狂欢节再次悄然临近,它不仅是一场购物的盛宴,更是我们提前规划生活、享受优惠的绝佳时机,在这个全民狂欢的日子里,各大品牌纷纷亮出杀手锏,推出年度最给力的优惠和新品,让人目不暇接&a…...

避免glibc版本而报错,CentOS等Linux安装node.js完美方法

概述 对于Node.js v18.x或更高,Node.js官方默认是在Ubuntu 20.04, Debian 10, RHEL 8,CentOS 8等高版操作系统上编译得到的,高版本操作系统的glibc版本≥2.28。所以,下载Node.js后,也需要glibc版本≥2.28才能使用。 而CentOS 7.x等…...

elasticsearch实战应用

Elasticsearch是一个基于Lucene的分布式、实时全文搜索引擎,广泛应用于日志收集和可视化、数据分析以及大规模数据检索等领域。其强大的搜索和分析能力,使得Elasticsearch成为许多企业和开发者在处理大规模数据时的首选工具。以下将从Elasticsearch的实战…...

STM32精确控制步进电机

目的:学习使用STM32电机驱动器步进电机,进行电机运动精确控制。 测试环境: MCU主控芯片STM32F103RCT6 ;A4988步进电机驱动器模块; 微型2相4线步…...

Qemu开发ARM篇-5、buildroot制作根文件系统并挂载启动

文章目录 1、 buildroot源码获取2、buildroot配置3、buildroot编译4、挂载根文件系统 在上一篇 Qemu开发ARM篇-4、kernel交叉编译运行演示中,我们编译了kernel,并在qemu上进行了运行,但到最后,在挂载根文件系统时候,挂…...

光控资本:10转10送10股有多少股?转股与送股又什么区别?

10转10送10股是投资者每10股转增10股并送10股,即每10股添加20股,变为30股。 例如,某投资者有1000股,上市公司10转10送10后,投资者将添加2000股,手中持有股票变为3000股。 上市公司进行10转10送10股之后&a…...

【音乐格式转换攻略】6个好用的音乐转换成mp3格式技巧!

现如今,不少用户在将手机下载的歌曲转移到其他设备,如MP3播放器、车载音响或智能音箱时,却遭遇了兼容性难题。尤其是面对一些特殊音频格式,只能在各自的平台播放器上正常播放,一旦尝试在其他设备上打开,往往…...

蓝桥杯15届C/C++B组省赛题目

问题描述 小蓝组织了一场算法交流会议,总共有 5050 人参加了本次会议。在会议上,大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。但有 77 个人,这 77 人彼此之间没有进行握手 (但这 77 人与…...

感悟:糟糠之妻不下堂和现在女性觉醒的关系

古人说“糟糠之妻不下堂”真是害惨了中国女性,古代之所以有这一说法,大概是因为男子可以三妻四妾,妻子永远是正妻,也不需要讲究什么从一而终,更不会讲什么男德,只会要求女性学习女德、女训之类,…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

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

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

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...