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

准备环境及文件

官方要求修改内核参数

shell 复制代码
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 不同版本

shell 复制代码
# 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

上传至宿主机

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

构建 docker 环境

shell 复制代码
# 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 中并进入容器解压

shell 复制代码
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

shell 复制代码
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

shell 复制代码
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 连接工具的作用就有了

shell 复制代码
# 默认配置账号 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

shell 复制代码
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 其他工具。

shell 复制代码
# 进入客户端
/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 空
相关推荐
geovindu12 小时前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
程序员梅雨1 天前
【从零开始学习数据仓库 | 第一篇】:维度建模理论
大数据·数据仓库·学习·阿里云·数据分析
棣廷1 天前
初识数据仓库——数仓分层到DataX数据采集
数据仓库
棣廷2 天前
初识Hive(2)
数据仓库·hive·hadoop
geovindu2 天前
Pivoting and Unpivoting Data in SQL using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
数据库小学妹3 天前
OLAP数据库怎么选?看清OLTP、数仓、湖仓边界
数据仓库·mpp·列式存储·联机分析处理·数据库选型·olap数据库
程序 代码狂人3 天前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
天河归来3 天前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
注塑机数据采集联网5 天前
中科晟达注塑机 MES 系统:从车间到数字化的智能制造实践
大数据·数据仓库·人工智能·物联网·制造·数据库架构