Doris 2.x 安装及使用

打印 上一主题 下一主题

主题 1315|帖子 1315|积分 3945

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

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
  预备环境及文件

官方要求修改内核参数
  1. sudo sysctl -w vm.max_map_count=2000000
  2. 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 不同版本
  1. # cf-workers-docker-io1-ai1.pages.dev  是个人地址
  2. docker pull cf-workers-docker-io1-ai1.pages.dev/apache/doris:build-env-for-2.0 /bin/bash
复制代码
上传至宿主机
  1. # 创建文件目录
  2. mkdir /opt/install
  3. # window 使用工具上传,linux 可以使用 scp 上传
  4. scp /opt/install/xxx.tar root@x.x.x.x:/opt/install/
复制代码
安装及摆设

构建 docker 环境
  1. # 9030 为 doris 数据库地址,8030 为数据库管理页面 web 端口,可修改为其他
  2. docker run -d -it --name=doris  -p 9030:9030 -p 8030:8030
  3. cf-workers-docker-io1-ai1.pages.dev/apache/doris:build-env-for-2.0
  4. /bin/bash
复制代码
复制文件至 docker 中并进入容器解压
  1. docker cp /opt/install/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz doris:/opt
  2. docker cp /opt/install/apache-doris-2.1.6-bin-x64.tar.gz doris:/opt
  3. # 进入容器
  4. docker exec -it doris /bin/bash
  5. # 解压文件
  6. cd /opt
  7. tar -xvf apache-doris-2.1.6-bin-x64.tar.gz
  8. tar -xzvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
  9. # 获取本机容器内网ip地址,需修改到配置文件中。
  10. hostname -i
复制代码
设置 FE
  1. cd /opt/apache-doris-2.1.6-bin-x64/fe
  2. vi conf/fe.conf
  3. # 在配置文件中找到 priority_networks 后将注释打开,替换为自己的内网 ip
  4. priority_networks = 自己的内网 ip/24
  5. # 启动 FE
  6. ./bin/start_fe.sh --daemon
  7. # 测试时候成功
  8. curl http://127.0.0.1:8030/api/bootstrap
复制代码
设置 BE
  1. cd /opt//apache-doris-2.1.6-bin-x64/be
  2. vi conf/be.conf
  3. # 在配置文件中找到 priority_networks 后将注释打开,替换为自己的内网 ip
  4. priority_networks = 自己的内网 ip/24
  5. # 启动 FE
  6. ./bin/start_be.sh --daemon
复制代码
将 be 添加至 fe ,测试 mysql 连接工具的作用就有了
  1. # 默认配置账号 root 和 admin 都没有密码
  2. /opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl
  3. # 将BE节点加入到集群中, 9050 不可更改,为内置端口
  4. ALTER SYSTEM ADD BACKEND "内网 ip 地址:9050";
  5. # 显示doris后端详情
  6. SHOW BACKENDS\G
  7. # 修改 admin 密码
  8. SET PASSWORD FOR 'admin'= PASSWORD('你的密码');
复制代码
将 be 及 fe 启动参加自启动文件中,方便 docker restart 时重启 doris
  1. vim /root/.bashrc
  2. # 在最后一行加入
  3. /opt/apache-doris-2.1.6-bin-x64/fe/bin/start_fe.sh --daemon
  4. /opt/apache-doris-2.1.6-bin-x64/be/bin/start_be.sh --daemon
复制代码
测试及使用

至此,可使用 mysql 工具进行连接,如: navicat 或 mysql 其他工具。
  1. # 进入客户端
  2. /opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl
  3. # 创建测试库
  4. create database demo;
  5. use demo;
  6. # 创建测试表,语法与 mysql 高度相似,并不完全一样
  7. CREATE TABLE `demo`.`bs_pat_info` (
  8.   `id` BIGINT NOT NULL AUTO_INCREMENT,
  9.   `base_id` VARCHAR(50) NOT NULL COMMENT 'user id',
  10.   `pat_name` VARCHAR(100) NULL DEFAULT NULL,
  11.   `record_time` DATETIME NOT NULL,
  12.   `identify_number` VARCHAR(2000) NULL DEFAULT NULL,
  13.   `address` VARCHAR(2000) NULL DEFAULT NULL,
  14.   `delete_flag` VARCHAR(5) NULL DEFAULT NULL
  15. ) ENGINE=OLAP
  16. UNIQUE KEY(`id`)
  17. DISTRIBUTED BY HASH(`id`) BUCKETS 10
  18. PROPERTIES (
  19. "replication_allocation" = "tag.location.default: 1"
  20. );
  21. # 插入数据
  22. 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');
  23. # 附带 Doris 删除重复数据语句,根据 base_id 分组保留最新一条,删除旧数据
  24. 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空
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

星球的眼睛

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表