本文帮助大家利用Docker在本地快速搭建Doris集群便于尝鲜。
编译
git clone Doris源码
git clone https://github.com/apache/incubator-doris.git
拉取官方编译镜像,配置doris源码文件路径镜像映射,启动编译镜像
docker pull apachedoris/doris-dev:build-env-1.2
docker run -it --name doris-dev -v D:gitforkincubator-doris:/imagepath/to/incubator-doris/ apachedoris/doris-dev:build-env-1.2
进入容器开始编译, 时间比较长耐心等待。。。
编译完成后组件fe/be对应的文件在incubator-doris/output中
## 进入容器
docker exec -it <your container id> bash
cd /imagepath/to/incubator-doris
sh build.sh
制作镜像
fe镜像Dockerfile(cd到编译好的output目录)
FROM primetoninc/jdk:1.8
MAINTAINER Doris <doris@apache.org>
#RUN yum install net-tools -y
COPY fe /opt/fe
WORKDIR /opt/fe
RUN mkdir doris-meta
EXPOSE 8030 9030
ENTRYPOINT ["/opt/fe/bin/start_fe.sh"]
构建fe镜像,创建并配置镜像映射文件doris-meta和conf,启动容器
docker build -t fe:1.0.0 .
docker run -itd --name fe_1 -p 8030:8030 -p 9030:9030 -v D:workdockerdorisfe_1conf:/opt/fe/conf -v D:workdockerdorisfe_1log:/opt/fe/log -v D:workdockerdorisfe_1doris-meta:/opt/fe/doris-meta fe:1.0.0
be镜像Dockerfile
FROM primetoninc/jdk:1.8
MAINTAINER Doris <doris@apache.org>
COPY be /opt/be
WORKDIR /opt/be
RUN mkdir storage
EXPOSE 9050
ENTRYPOINT ["/opt/be/bin/start_be.sh"]
构建be镜像,配置be镜像映射文件storage,启动3个be容器组成集群。Doris默认至少安装3个be实例。
docker build -t be:1.0.0 -f Dockerfile_be .
docker run -itd --name be_1 -p 9050:9050 -v D:workdockerdorisbe_1conf:/opt/be/conf -v D:workdockerdorisbe_1storage:/opt/be/storage be:1.0.0
docker run -itd --name be_2 -p 9150:9050 -v D:workdockerdorisbe_2conf:/opt/be/conf -v D:workdockerdorisbe_2storage:/opt/be/storage be:1.0.0
docker run -itd --name be_3 -p 9250:9050 -v D:workdockerdorisbe_3conf:/opt/be/conf -v D:workdockerdorisbe_3storage:/opt/be/storage be:1.0.0
在 FE 中添加所有 BE 节点。本地需要安装mysql,Doris实现mysql协议,使用mysql客户端登录fe,默认用root密码为空。需要进入各个be容器查看容器内部ip。
mysql -P9030 -uroot -p
ALTER SYSTEM ADD BACKEND "172.17.0.3:9050";
ALTER SYSTEM ADD BACKEND "172.17.0.4:9050";
ALTER SYSTEM ADD BACKEND "172.17.0.5:9050";
至此Doris安装完成,portal页面地址:http://localhost:8030/