目录
一、源码编译
二、制作镜像
三、生成镜像
一、源码编译
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"]
- FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。
- 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源码编译相关内容了,我们下期再见
如有错误,欢迎指正!