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

Doris部署学习(一)

目录

前言

一、Docker容器支持

二、Doris编译步骤

1.拉取镜像

2.构建Docker编译容器

3.下载源码并编译




前言

 本文档主要介绍如何通过源码在Docker编译 Doris,以及部署。

一、Docker容器支持

Docker教程:Docker & Docker-Compose 安装教程 - 知乎。

二、Doris编译步骤

1.拉取镜像

拉取指定版本的docker compose image

docker pull apache/doris:build-env-for-2.0

2.构建Docker编译容器

代码如下:
1.java下载文件 宿主机root下的.m2 对应容器的 /root/.m2 
2.宿主机文件/opt/apache-doris 对应容器同目录
3.容器名 doris-compose

docker run -it --name doris-compose -v /root/.m2:/root/.m2 -v /opt/apache-doris:/opt/apache-doris apache/doris:build-env-for-2.0

4.执行完毕后 docker ps查看镜像

3.下载源码并编译

1.进入容器

docker exec -it doris-compose bash

2.启动镜像后,你应该已经处于容器内,进入/opt/apache-doris 可以通过以下命令下载 Doris 源码(已挂载本地源码目录则不用),拉取并进入容器源码目录doris

git clone https://github.com/apache/doris.git && cd ./doris

3.切换tag分支 选择对应2.0的tag分支进行切换,这里选用 2.0.4-rc06

git fetch origin --tags && git checkout 2.0.4-rc06

4.编译 Doris

先通过以下命令查看编译机器是否支持avx2指令集,有返回下图所示证明支持

cat /proc/cpuinfo | grep avx2

注意:

如果你是第一次使用 build-env-for-0.15.0 或之后的版本,第一次编译的时候要使用如下命令:
原因:这是因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过 --clean 命令强制使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码。编译会下载大量jar,建议更换maven镜像,whereis maven 查询maven目录,进入maven目录修改setting文件,加上阿里云镜像。

sh build.sh --clean --be --fe

或者指定多少核心来编译,我是八核,选择7核心来编译
sh build.sh -j7 --clean --be --fe

如果支持avx2,可不加 USE_AVX2=0 ,直接进行编译

sh build.sh

不支持则使用以下命令进行编译

USE_AVX2=0 sh build.sh

如需编译Debug版本的BE,增加 BUILD_TYPE=Debug

BUILD_TYPE=Debug sh build.sh

编译成功后

注:以上是手动编译打包学习。以下是使用官方工具进行集群部署。

三、Manager 部署

参考文档,SlectDB文档 SelectDB Enterprise 介绍 | SelectDB
安装文件下载地址 SelectDB Enterprise下载-SelectDB
下载一

下载二

部署教程 -- 【10. Manager 部署】 Manager
1FE节点 3从BE节点 本地测试环境,4台 8核16g linux centos7

http://www.lryc.cn/news/319168.html

相关文章:

  • QT下跨平台库实现及移植经验分享
  • 8:00面试,8:06就出来了,问的问题有点变态。。。
  • Rust 利用 Trait 实现多态性
  • Java毕业设计-基于springboot开发的“智慧食堂”设计与实现-毕业论文+答辩PPT(附源代码+演示视频)
  • 一瓶5.86万,听花酒什么来头?
  • 代码随想录 二叉树—填充每个节点的下一个右侧结点指针
  • 用 bsdtar 做 Linux 全系统迁移 - 最省空间、最灵活的Linux系统迁移方式,但需要那么一点点技巧
  • 【模拟string函数的实现】
  • 智能合约开发基础知识:最小信任机制、智能合约、EVM
  • 程序人生——Java泛型和反射的使用建议
  • JavaSE-----认识异常【详解】
  • 【机器学习300问】34、决策树对于数值型特征如果确定阈值?
  • 计算机二级(Python)真题讲解每日一题:《绘制雪花》
  • Rust 的 Arc<Mutex<T>> 的用法示例源代码
  • 【NR 定位】3GPP NR Positioning 5G定位标准解读(十六)-UL-AoA 定位
  • 如何理解闭包
  • python知识点总结(一)
  • 【Poi-tl Documentation】区块对标签显示隐藏改造
  • 第十四届蓝桥杯 三国游戏
  • 数据结构——通讯录项目
  • 学点Java打小工_Day4_数组_冒泡排序
  • 内存分配方式?
  • 2024/3/17周报
  • 函数连续性和Lipschitz连续性
  • Qt 鼠标滚轮示例
  • 【Unity】进度条和血条的三种做法
  • 多人聊天室 (epoll - Linux网络编程)
  • vite配置
  • 服务器生产环境问题解决思路
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Column)