当前位置: 代码迷 >> 综合 >> Doris 环境搭建
  详细解决方案

Doris 环境搭建

热度:95   发布时间:2023-12-27 20:31:26.0

目录

一、源码编译

二、制作镜像

三、生成镜像


一、源码编译

1、下载容器镜像

docker pull apache/incubator-doris:build-env-x.x    --此处根据实际需求自行选择需要下载的版本

以下内容以1.2版本为例

docker pull apache/incubator-doris:build-env-1.2

运行容器:[tip:此处将路径映射到本机可防止重复下载各种jar包]

docker run -it --privileged=true --name doris-source --network doris -v /app/doris/.m2:/root/.m2 -v /app/doris/incubator-doris-DORIS-0.14.0-release/:/root/incubator-doris-DORIS-0.14.0-release/ apache/incubator-doris:build-env-1.2 

下载源码

wget https://dist.apache.org/repos/dist/dev/incubator/doris/0.14/0.14.0-rc06/apache-doris-0.14.0-incubating-src.tar.gz

解压开始编译

tar -zxvf apapache-doris-0.14.0-incubating-src.tar.gzcd apapache-doris-0.14.0-incubating-srcsh build.sh

执行完上述命令之后,等待程序自动执行完即可

此处等待时间较长,建议前往官网先学习一下相关知识

http://doris.apache.org/master/zh-CN/installing/compilation.html

二、制作镜像

等待源码构建完成之后,进入output目录下,应该有生成的fe,be,udf三个文件夹

//将output文件夹拷贝至主机,制作镜像
docker cp 容器id:要拷贝的文件路径  拷贝至本机的路径

3、新建一个内部网络

docker network create doris

4、新建dockerfile

vim dockerfile

可参考如下内容,下面这个dockerfile创建的doris镜像,作为fe

FE镜像

FROM primetoninc/jdk:1.8
MAINTAINER Doris<doris@apache.org>COPY fe /opt/feWORKDIR /opt/fe
RUN mkdir doris-metaEXPOSE 8030 9030ENTRYPOINT ["/opt/fe/bin/start_fe.sh"]

  BE镜像

FROM primetoninc/jdk:1.8
MAINTAINER Doris<doris@apache.org>COPY be /opt/beWORKDIR /opt/be
RUN mkdir storageEXPOSE 9050ENTRYPOINT ["/opt/be/bin/start_be.sh"]
  1. FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。
  2. BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量 * 3(3副本)计算,然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。

三、生成镜像

//构建doris-fe镜像
docker build -t doris-fe:1.0.0 .//构建doris-be镜像
docker build -t doris-be:1.0.0 .

 容器启动:

创建并配置镜像映射文件doris-meta和conf,启动容器

Doris-FE

docker run -itd --name doris-fe -e DORIS_ROLE=fe-leader -p 8030:8030 -p 9030:9030 --network doris -v /app/doris/conf/fe.conf:/opt/fe/conf/fe.conf -v /app/doris/log:/opt/fe/log -v /app/doris/doris-metadata:/opt/fe/doris-metadata doris-fe:1.0.0 

Doris-BE

docker run -itd --name doris-be-01 -e DORIS_ROLE=be -p 9050:9050 --network doris -v /app/doris/doris-be/conf:/opt/be/conf -v /data/doris-01/storage:/opt/be/storage  doris-be:1.0.0 

通过原生的Mysql命令行即可连接到Doris服务

//根据自己的实际情况修改[]处即可
mysql -h [host] -P [port] -u[root] -p

连接到FE之后,需要添加BE

--通过mysql连接至doris,执行如下命令添加BE
alter SYSTEM ADD BACKEND "192.168..20.1:9050" --be的ip地址可通过以下命令获取
docker inspect 容器id/容器名

由于是学习,博主此处仅使用一台FE,一台BE做测试,官方推荐如下:

  • 通常我们建议 10 ~ 100 台左右的机器,来充分发挥 Doris 的性能(其中 3 台部署 FE(HA),剩余的部署 BE)
  • 当然,Doris的性能与节点数量及配置正相关。在最少4台机器(一台 FE,三台 BE,其中一台 BE 混部一个 Observer FE 提供元数据备份),以及较低配置的情况下,依然可以平稳的运行 Doris。
  • 如果 FE 和 BE 混部,需注意资源竞争问题,并保证元数据目录和数据目录分属不同磁盘。

 修改root用户密码

Set password for 'root'='password'

创建用户

create user 'U_SW_W' IDENTIFIED BY 'passowrd'


以上就是基本的doris源码编译相关内容了,我们下期再见

如有错误,欢迎指正!