当前位置: 首页 > 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
http://www.lryc.cn/news/447515.html

相关文章:

  • MySQL字符集设置
  • 深度学习模型量化
  • 红黑树和B+树
  • debian 12配置固定ip
  • OceanBase技术解析: 执行器中的自适应技术
  • Spring Cloud Gateway接入WebSocket:实现实时通信
  • linux信号| 学习信号三步走 | 学习信号需要打通哪些知识脉络?
  • Java调用第三方接口、http请求详解,一文学会
  • windows10使用bat脚本安装前后端环境之redis注册服务
  • fastapp-微信开发GPT项目第一课
  • 在双十一必买的好物有哪些?2024年双十一好物清单分享
  • 避免glibc版本而报错,CentOS等Linux安装node.js完美方法
  • elasticsearch实战应用
  • STM32精确控制步进电机
  • Qemu开发ARM篇-5、buildroot制作根文件系统并挂载启动
  • 光控资本:10转10送10股有多少股?转股与送股又什么区别?
  • 【音乐格式转换攻略】6个好用的音乐转换成mp3格式技巧!
  • 蓝桥杯15届C/C++B组省赛题目
  • 感悟:糟糠之妻不下堂和现在女性觉醒的关系
  • Linux网络之UDP与TCP协议详解
  • K8S:开源容器编排平台,助力高效稳定的容器化应用管理
  • STM32嵌入式编程学习到提高:【4】UART串口打印
  • C 标准库 - <ctype.h>
  • linux:chown用法详解
  • 介绍GPT-o1:一系列解决困难问题( science, coding, and math )的推理模型
  • 2024 Python3.10 系统入门+进阶(十六):正则表达式
  • 书生大模型实战营学习[7] InternLM + LlamaIndex RAG 实践
  • 【MySQL】数据库--索引
  • [大语言模型-论文精读] ACL2024-长尾知识在检索增强型大型语言模型中的作用
  • “迷茫野路子到AI大模型高手:一张图解产品经理晋升之路和能力构建“