编译
- 拉取镜像
docker pull apachedoris/doris-dev:build-env-1.2
- 下载源码
wget https://dist.apache.org/repos/dist/dev/incubator/doris/xxx.tar.gz
Windows下直接访问apache下载地址或者GitHub的下载地址,选择合适的版本,之后需要解压
tar -zxvf ./apache-doris-0.11.0-incubating-src.tar.gz
Windows下按住shift右键单击打开PowerShell
- 运行镜像
docker run -it apachedoris/doris-dev:build-env-1.2
但是官方建议同时将镜像中 maven 的 .m2 目录挂载到宿主机目录,以防止每次启动镜像编译时,重复下载 maven 的依赖库。
同时,建议以挂载本地 Doris 源码目录的方式运行镜像,这样编译的产出二进制文件会存储在宿主机中,不会因为镜像退出而消失。
docker run -it -v /your/local/.m2:/root/.m2 -v /your/local/incubator-doris-DORIS-x.x.x-release/:/root/incubator-doris-DORIS-x.x.x-release/ apachedoris/doris-dev:build-env
- 编译 Doris
sh build.sh
编译完成后,产出文件在 output/ 目录中。
- 1.2之前的版本在bulid100%后都出现了这个异常:
我换成了1.2版本,源码直接从git拉取git clone https://github.com/apache/incubator-doris.git
,终于成功编译
如果没有挂载目录,可以将文件复制到宿主机docker cp 容器ID:/root/incubator-doris E:/MyWork/MyDevelopmentTools/doris
还有m2仓库docker cp 容器ID:/root/.m2 E:/MyWork/MyDevelopmentTools/doris
,避免重启dockers丢失。
搭建
创建FE
- 创建容器
docker run -it --name fe apachedoris/doris-dev:build-env-1.2
- 复制文件夹
docker cp E:/MyWork/MyDevelopmentTools/doris/incubator-doris/output/fe fe:/opt/fe
docker cp E:/MyWork/MyDevelopmentTools/doris/.m2 fe:/root/.m2
- 修改配置
配置文件为 conf/fe.conf,其中注意:
- priority_networks=10.1.3.0/24绑定正确的ip
docker inspect --format='{ {.NetworkSettings.IPAddress}}' fe
可以查看容器的ip - meta_dir:元数据存放位置。默认在 fe/doris-meta/ 下。需手
mkdir /opt/fe/doris-meta
。 - fe.conf 中 JAVA_OPTS 默认 java 最大堆内存为 4GB,建议生产环境调整至 8G 以上。
- 启动
sh bin/start_fe.sh --daemon
创建BE
- 创建容器
docker run -it --name be1 apachedoris/doris-dev:build-env-1.2
- 复制文件夹
docker cp E:/MyWork/MyDevelopmentTools/doris/incubator-doris/output/be be1:/opt/be
docker cp E:/MyWork/MyDevelopmentTools/doris/.m2 be1:/root/.m2
- 修改配置
配置文件为 be/conf/be.conf
- priority_networks=10.1.3.0/24绑定正确的ip
- 主要是配置 storage_root_path:数据存放目录。默认在be/storage下,需要手动创建该目录。多个路径之间使用 ; 分隔(最后一个目录后不要加 ;)。
连接使用
yum -y install mysql
mysql -h 172.17.0.3 -P 9030 -uroot
添加be
ALTER SYSTEM ADD BACKEND "172.17.0.4:9050";
查看fe和be节点
show proc ‘/frontends’;
show proc ‘/backends’;
到此为止搭建了1个fe+1个be的集群。