前言
Apache Doris是当下非常火热和流行的MPP架构OLAP数据库,很多同学想自学/测试Doris的使用和能力,但是又苦于没有环境或者畏惧冗长的编译+搭建过程,整个过程极大的劝退了很多有些尝试意愿、但又由于各种客观因素无法承担过高学习成本导致尝试失败的同学,故此Apache Doris社区三位社区同学苏奕嘉、种益、杨春东制作了三个不同设计的版本安装方式并提供下载,以此降低大家的学习门槛和提升学习/测试效率。
重要说明:该教程提供的编译方式及运行环境都以单节点部署集群为目标,故性能会【大打折扣】,如想体验完整Apache Doris数据库的能力,请以完整集群部署,单节点集群【仅适用于学习、功能测试】所用!
版本说明
1. 极速体验版
1.1. 优点
- 超快速的部署体验(网速OK的话十五分钟内部署完毕)
- 单节点部署
- 支持多环境运行:虚拟机/云服务器/支持Docker的物理机(Mac/Win/Linux)
1.2. 缺点
- 数据存储是在Docker容器中,如容器如损坏,会导致数据丢失
- 若非干净纯净的系统环境,可能需要手动执行部分BE注册FE的命令
1.3. 适用人群
学生、培训机构、体验/测试人员
1.4. 安装建议
系统为纯净新系统最佳,无需任何修改即可开箱即用
2. 完全部署版
2.1. 优点
- 完整的环境部署(MySQL-Client等组件)
- 自由的部署安排(有众多可选安装参数)
- 无惧Docker容器损坏(最小降低损失,可极速恢复)
- 单节点部署
- 支持多环境运行:虚拟机/云服务器,暂未适配物理机(后续升级版本会支持)
2.2. 缺点
- 安装过程时间较长(视网速和机器性能而定)
- 安装步骤多,代表可能故障率较高
2.3. 适用人群
学生、培训机构、体验/测试人员中的持续性教学受众(数据不易丢失)
2.4. 安装建议
该版本建议完完全全的纯净新系统,以此降低安装故障率
3. 存算分离版
该版本还在制作过程中,教程及相关文档后续推出,可视为完全部署版的Plus版本。
目的
该教程最后成果模块提供了各个版本
下载地址,只需在服务器拉取不同版本shell脚本
运行即可,在/opt/docker/doris/sbin
目录下会有start_doris_docker.sh
和stop_doris_docker.sh
脚本支持一键启停,同时会在一键部署的过程中将两个脚本添加至环境变量,最大程度简化单节点测试部署和启停操作。
步骤过程可以忽略,除非有定制化的一键部署Docker集群的镜像集群制作需求,大可不必照着教程再来一遍,官方已提供了下载地址,无需重复劳动。
环境
环境一
- 服务器:腾讯云 2C 4G 6M 一台
- OS:CentOS 7.6
- Docker-V:20.10.12
- Doris-V:1.0 beta
- MySQL-Client-V:5.7
- FE-Num:1
- BE-Num:3
环境二
- 服务器:Win虚拟机 8C 44G 一台
- OS:CentOS 7.6
- Docker-V:20.10.12
- Doris-V:1.0 beta
- MySQL-Client-V:5.7
- FE-Num:1
- BE-Num:5
步骤
1. 安装Docker环境
- Docker 要求 CentOS 系统的内核版本高于
3.10
,首先查看系统内核版本是否满足
uname -r
- 使用
root
权限登录系统,确保 yum 包更新到最新
sudo yum update -y
- 假如安装过旧版本,先卸载旧版本
sudo yum remove docker docker-common docker-selinux docker-engine
- 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置yum源(加速yum下载速度)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 查看所有仓库中所有docker版本,并选择特定版本安装,一般可直接安装最新版
yum list docker-ce --showduplicates | sort -r
- 安装docker
- 安装最新稳定版本
sudo yum install docker-ce -y #安装的是最新稳定版本,因为repo中默认只开启stable仓库
- 安装指定版本
sudo yum install <FQPN> -y # 例如: sudo yum install docker-ce-20.10.11.ce -y
- 启动并加入开机启动
sudo systemctl start docker #启动docker sudo systemctl enable docker #加入开机自启动
- 查看Version,验证是否安装成功
docker version
- 若出现Client和Server两部分内容,则证明安装成功
2. 容器创建及测试
在创建之前,请准备好已完成编译的FE/BE文件,此教程不再赘述编译过程。
- 拉取Doris编译镜像做测试
# 拉取 docker pull apache/incubator-doris:build-env-ldb-toolchain-latest
- 创建Doris-Docker的文件(包括元数据文件夹)
mkdir -p /opt/docker/doris
- 将编译好的FE和BE拷贝至Docker文件群内
cp -r 编译好的Doris根目录/fe/ /opt/docker/doris/ cp -r 编译好的Doris根目录/be/ /opt/docker/doris/be-01 cp -r 编译好的Doris根目录/be/ /opt/docker/doris/be-02 cp -r 编译好的Doris根目录/be/ /opt/docker/doris/be-03
- 启动FE-Docker
docker run -it -p 8030:8030 -p 9030:9030 -d --name=doris-fe -v /opt/docker/doris/fe:/opt/doris/fe -v /opt/docker/doris/doris-meta:/opt/doris/doris-meta apache/incubator-doris:build-env-ldb-toolchain-latest
- 进入FE-Docker以及安装组件
# 进入fe-docker docker exec -ti doris-fe /bin/bash # 安装net-tools用于查看IP yum install net-tools -y
- 修改FE配置
# 查看fe-docker的IPv4地址 ifconfig # 修改配置文件 vim /opt/doris/fe/conf/fe.conf # 取消priority_networks的注解,并根据Docker的网段进行配置 priority_networks = 172.17.0.0/16 #这里要根据你Docker的IP确定
- 切换Docker-JDK版本
# 切换Java版本为JDK1.8,该镜像默认为JDK11 alternatives --set java java-1.8.0-openjdk.x86_64 alternatives --set javac java-1.8.0-openjdk.x86_64 export JAVA_HOME=/usr/lib/jvm/java-1.8.0 # 校验是否切换版本成功 java -version
- 配置FE-Docker的环境变量
# 配置环境变量 vim /etc/profile.d/doris.sh export DORIS_HOME=/opt/doris/fe/ export PATH=$PATH:$DORIS_HOME/bin # 保存并source source /etc/profile.d/doris.sh
- 启动Doris-FE
start_fe.sh --daemon
- 检查FE是否启动成功
- 检查是否启动成功,JPS命令下有没有PaloFe进程
- FE 进程启动后,会首先加载元数据,根据 FE 角色的不同,在日志中会看到
transfer from UNKNOWN to MASTER/FOLLOWER/OBSERVER
。最终会看到thrift server started
日志,并且可以通过 mysql 客户端连接到 FE,则表示 FE 启动成功。- 也可以通过如下连接查看是否启动成功:
http://fe_host:fe_http_port/api/bootstrap
如果返回:{"status":"OK","msg":"Success"}
则表示启动成功,其余情况,则可能存在问题。- 外网环境访问
http://fe_host:fe_http_port
查看是否可以访问WebUI界面,登录账号默认为root,密码为空注:如果在 fe.log 中查看不到启动失败的信息,也许在 fe.out 中可以看到。
- 宿主机安装MySQL客户端
wget -c http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
- 连接FE并修改密码
mysql -h FE-Docer的IP -P 9030 -uroot SET PASSWORD FOR 'root' = PASSWORD('your_password'); # 也可以创建新用户 CREATE USER 'test' IDENTIFIED BY 'test_passwd';
- 后续链接时需要使用如下格式
mysql -h FE_HOST -P9030 -uusername -ppassword
- 添加BE节点注册信息
ALTER SYSTEM ADD BACKEND "host:port"; # 其中 host 为 BE 所在节点 ip;port 为 be/conf/be.conf 中的 heartbeat_service_port,默认9050。
- 启动BE-Docker
docker run -it -p 9061:9060 -d --name=doris-be-01 -v /opt/docker/doris/be-01:/opt/doris/be apache/incubator-doris:build-env-ldb-toolchain-latest docker run -it -p 9062:9060 -d --name=doris-be-02 -v /opt/docker/doris/be-02:/opt/doris/be apache/incubator-doris:build-env-ldb-toolchain-latest docker run -it -p 9063:9060 -d --name=doris-be-03 -v /opt/docker/doris/be-03:/opt/doris/be apache/incubator-doris:build-env-ldb-toolchain-latest
- 进入BE-Docker以及安装组件
# 进入fe-docker,以01为例 docker exec -ti doris-be-01 /bin/bash # 安装net-tools用于查看IP yum install net-tools -y
- 修改BE配置
# 查看fe-docker的IPv4地址 ifconfig # 修改配置文件 vim /opt/doris/be/conf/be.conf # 取消priority_networks的注解,并根据Docker的网段进行配置 priority_networks = 172.17.0.0/16 #这里要根据你Docker的IP确定
- 配置BE-Docker的环境变量
# 配置环境变量 vim /etc/profile.d/doris.sh export DORIS_HOME=/opt/doris/be/ export PATH=$PATH:$DORIS_HOME/bin # 保存并source source /etc/profile.d/doris.sh
- 启动Doris-BE
start_be.sh --daemon
- 检查BE是否启动成功
- BE 进程启动后,如果之前有数据,则可能有数分钟不等的数据索引加载时间。
- 如果是 BE 的第一次启动,或者该 BE 尚未加入任何集群,则 BE 日志会定期滚动
waiting to receive first heartbeat from frontend
字样。表示 BE 还未通过 FE 的心跳收到 Master 的地址,正在被动等待。这种错误日志,在 FE 中 ADD BACKEND 并发送心跳后,就会消失。如果在接到心跳后,又重复出现master client, get client from cache failed.host: , port: 0, code: 7
字样,说明 FE 成功连接了 BE,但 BE 无法主动连接 FE。可能需要检查 BE 到 FE 的 rpc_port 的连通性。- 如果 BE 已经被加入集群,日志中应该每隔 5 秒滚动来自 FE 的心跳日志:
get heartbeat, host: xx.xx.xx.xx, port: 9020, cluster id: xxxxxx
,表示心跳正常。- 其次,日志中应该每隔 10 秒滚动
finish report task success. return code: 0
的字样,表示 BE 向 FE 的通信正常。- 同时,如果有数据查询,应该能看到不停滚动的日志,并且有
execute time is xxx
日志,表示 BE 启动成功,并且查询正常。- 也可以通过如下连接查看是否启动成功:
http://be_host:be_http_port/api/health
如果返回:{"status": "OK","msg": "To Be Added"}
则表示启动成功,其余情况,则可能存在问题。
注:如果在 be.INFO 中查看不到启动失败的信息,也许在 be.out 中可以看到。
- 测试连通性
# 登录FE-MySQL mysql -h FE_HOST -P9030 -uusername -ppassword # 执行命令查看BE运行情况。如一切正常,isAlive 列应为 true。 SHOW PROC '/backends';
- 若连通性测试成功,则循环完成其他BE节点的部署即可
3. 安装ETCD环境(若多节点Dokcer需配置|单节点可忽略)
- 配置Hosts文件映射
vim /etc/hosts 你本机内网IP地址 master
- 安装ETCD
# 安装ETCD yum install -y etcd # 重启ETCD systemctl restart etcd
- 设置开机启动
systemctl enable etcd
- 修改ETCD配置
# 先查找本机的IP地址 ifconfig # 备份原始配置文件 cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak # 编辑ETCD的conf文件 vim /etc/etcd/etcd.conf # 修改监听客户端地址为 ETCD_LISTEN_CLIENT_URLS="http://master:2379,http://127.0.0.1:2379,http://master:4001,http://127.0.0.1:4001" # 修改通知客户端地址为 ETCD_ADVERTISE_CLIENT_URLS="http://master:2379,http://master:4001" # 保存退出
- 设置ETCD网段
# Flannel使用Etcd进行配置,来保证多个Flannel实例之间的配置一致性,所以需要在etcd上进行如下配置('/atomic.io/network/config'这个key与上文/etc/sysconfig/flannel中的配置项FLANNEL_ETCD_PREFIX是相对应的,错误的话启动就会出错) etcdctl mk /atomic.io/network/config '{"Network":"172.20.0.0/16","SubnetMin":"172.20.1.0","SubnetMax":"172.20.254.0"}'
- 重启ETCD
systemctl restart etcd
- 测试
# 查看ETCD进程是否存在 ps -ef|grep etcd # 查看端口使用情况,因为ETCD默认TCP:2379端口通讯 lsof -i:2379 # 使用get命令查看是否设置成功 etcdctl get /atomic.io/network/config # 若出现以下信息,则代表设置成功 {"Network":"172.20.0.0/16","SubnetMin":"172.20.1.0","SubnetMax":"172.20.254.0"} # 查看cluster-health etcdctl -C http://master:4001 cluster-health etcdctl -C http://master:2379 cluster-health # 若出现如下信息,则代表成功 member 8e9e05c52164694d is healthy: got healthy result from http://你IP地址:2379(和4001)
4. 安装Flannel环境(若多节点Dokcer需配置|单节点可忽略)
- Yum安装Flannel
yum install -y flannel
- 配置Flannel
# 备份原始配置文件 cp /etc/sysconfig/flanneld /etc/sysconfig/flanneld.bak # 编辑配置文件 vim /etc/sysconfig/flanneld # 修改以下配置项 FLANNEL_ETCD_ENDPOINTS="http://master:2379"
- 设置开机自启
systemctl enable flanneld.service
- 启动Flannel
systemctl start flanneld.service
- 重启Docker
systemctl restart docker
- 测试
# 查看Flannel进程 ps -ef | grep flannel
5. 测试及远程连接
可使用Navicat等远端工具连接FE,地址为部署了FE服务的单机外网IP,端口为9030,如图所示
<img src="https://fop-1256218176.cos.ap-shanghai.myqcloud.com/md/2022-03-03-123903.png" alt="image-20220303203902837" style="zoom:33%;" />
6. SHELL脚本设计及开发
6.1. 完整部署版整体设计示意图
image-20220304121008665
6.2. 思路梳理
6.2.1 极速体验版(极速体验免除安装)
- 默认1FE 3BE安装
- Docker安装(可参照步骤1)
- 拉取Docker镜像群
docker pull freeoneplus/doris-fe:1.0 docker pull freeoneplus/doris-be:1.0
- 创建FE-Docker容器
docker run -it -p 8030:8030 -p 9030:9030 -d --name=doris-fe freeoneplus/doris-fe:1.0
- 进入FE-Docker并获取IPv4地址
docker exec -it doris-fe /bin/bash ifconfig exit docker exec -d doris-fe /bin/bash /opt/doris/fe/start_fe.sh --daemon
- 循环创建BE-Docker容器并启动BE
docker run -it -p 9061:9060 -d --name=doris-be-01 freeoneplus/doris-be:1.0 docker exec -d doris-be-01 /bin/bash /opt/doris/be/start_be.sh --daemon docker run -it -p 9062:9060 -d --name=doris-be-02 freeoneplus/doris-be:1.0 docker exec -d doris-be-02 /bin/bash /opt/doris/be/start_be.sh --daemon docker run -it -p 9063:9060 -d --name=doris-be-03 freeoneplus/doris-be:1.0 docker exec -d doris-be-03 /bin/bash /opt/doris/be/start_be.sh --daemon
- 提示用户进行BE注册
亲爱的用户,欢迎使用 Apache Doris-极简版-Docker集群! 接下来的文字请认真阅读: 1. 此版本集群为极简版单节点docker集群,所有数据均挂载在Docker集群内,请谨慎修改或删除容器! 2. 此版本预制注册三个BE节点至FE,但可能由于不同环境影响,预先注册的IP地址可能会出现错误,所以请仔细观察FE的预制IP地址:${FE-IP地址},若以上地址为172.17.0.2,则无需做任何修改即可直接使用,如果是其他数值,则需要进行链接FE进行BE注册 3. 您可以使用任意MySQL-Client或者MySQL工具连接FE-MySQL-Server 若宿主机(您的虚拟机/云服务器)有MySQL-Client,则需要执行以下命令链接FE-MySQL-Server mysql -h ${FE-IP地址} -P 9030 -uroot -p123456 若您使用外网机器链接FE-MySQL-Server,则需要填入以下参数,您需要提前打开9030外网端口 url:您的服务器外网IP(虚拟机则视网络桥接方式) port:9030 username:root password: 然后执行以下命令清除已注册至FE的BE节点信息 `以下需要逻辑处理` 预设的三个BE地址为[172.17.0.3,172.17.0.4,172.17.0.5] 该地址应为FE-IP地址最后一位自增3,所以如果预设错误,需要给出删除语句和增添语句 比如FE-IP为 172.17.0.4,则需要给出删除[172.17.0.3,172.17.0.4]两个BE节点的语句 ALTER SYSTEM DECOMMISSION BACKEND "${FE-IP地址}:9050"; 然后再给出新增的两个节点的IP[172.17.0.6,172.17.0.7]注册语句 ALTER SYSTEM ADD BACKEND "${FE-IP地址}:9050"; `以上需要逻辑处理` 感谢您的安装和使用Apache Doris! 感谢您为开源世界作出的一份贡献! 如有问题请打开地址:doris.freeoneplus.com 扫描二维码添加Apache Doris社区微信群获取答疑~
6.2.2 完整部署版(数据落盘无惧丢失)
- 校验脚本执行口令,防止误操作
- 输出一段文字说明
- 等待接收
Doris
这五个字母,成功则继续,未成功则终止
- 依次询问参数配置设置,接收参数,可参考的有:
- 是否默认配置安装(Y/N)
- BE数量(默认为3)
- root密码(默认为空)
- 操作员账户名称(默认无)
- 操作员账户密码(默认无)
- FE-Http-Port端口(默认8030)
- FE-MySQL-Cli-Port端口(默认9030)
- 创建宿主机资源目录并进入
mkdir -p /opt/docker/doris/ cd /opt/docker/doris/
- 拉取编译好的文件包至上述目录(当前版本为Apache Doris-1.0.0 bate测试版)
wget https://jiafeng2022.oss-cn-beijing.aliyuncs.com/doris-1.0.0-jdk8-20220301.tar.gz
- 解压文件包
tar -zxvf /opt/docker/doris/apache-doris-install.tar.gz
- 根据传参的BE数量循环复制BE目录,以默认数量为样例,命令执行为
cp -r /opt/docker/doris/be /opt/docker/doris/be-01 cp -r /opt/docker/doris/be /opt/docker/doris/be-02 cp -r /opt/docker/doris/be /opt/docker/doris/be-03
- 监测Docker是否安装
docker version
- 如果已安装则跳过,未安装则安装Docker
# 监测内核版本,若小于3.10则终止安装并通知失败,告知失败原因 uname -r # 如果大于3.10则开始安装,依次执行以下命令 sudo yum update -y sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce -y sudo systemctl start docker sudo systemctl enable docker # 执行结束,监测执行是否都已成功 docker version
- 监测MySQL-Client是否已安装
mysql --version
- 如果已安装则跳过,未安装则安装MySQL-Client
mkdir -p /opt/software cd /opt/software wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
- 拉取Doris编译镜像为基础环境镜像
docker pull apache/incubator-doris:build-env-ldb-toolchain-latest
- 制作FE容器
- 构建FE容器
docker run -it -p 8030:8030 -p 9030:9030 -d --name=doris-fe -v /opt/docker/doris/fe:/opt/doris/fe -v /opt/docker/doris/doris-meta:/opt/doris/doris-meta apache/incubator-doris:build-env-ldb-toolchain-latest
- 进入容器
docker exec -ti doris-fe /bin/bash
- 修改FE配置文件
vim /opt/doris/fe/conf/fe.conf # 如FE两个对外端口都是默认值,则无需修改,若有改变,则改变该值 http_port = 8030 query_port = 9030 # 修改网段 priority_networks = 172.17.0.0/16
- 切换JDK版本
# 切换Java版本为JDK1.8,该镜像默认为JDK11 alternatives --set java java-1.8.0-openjdk.x86_64 alternatives --set javac java-1.8.0-openjdk.x86_64 export JAVA_HOME=/usr/lib/jvm/java-1.8.0
- 配置Doris环境变量
# 配置环境变量 vim /etc/profile.d/doris.sh export DORIS_HOME=/opt/doris/fe/ export PATH=$PATH:$DORIS_HOME/bin # 保存并source source /etc/profile.d/doris.sh
- 安装Net-Tools工具以便于查看IP地址
yum install net-tools -y
- 使用命令查看该Docker的IPv4地址,并记录下来
ifconfig
- 启动FE
start_fe.sh # 最好执行命令以后再等待10秒左右
- 退出该容器,返回宿主机
exit
- 用MySQL-Client连接Doris
mysql -h ${记录下的FE-Docker的IPv4地址} -P ${默认9030,如有改变则使用改变后的query-port} -uroot
- 注册BE至FE
ALTER SYSTEM ADD BACKEND "${FE-Docker的IPv4地址的第四位自增1}:9050"; # 这里需要说明的是,这命令执行时应该是根据BE的数量来循环的,比如BE为默认值3,记录下FE-Docker的地址为172.17.0.3,那么就应该循环添加 172.17.0.4:9050、172.17.0.5:9050、172.17.0.6:9050三条注册信息,以此类推
- 若有用户修改密码和注册了操作员账户,则执行以下命令
# 修改密码 SET PASSWORD FOR 'root' = PASSWORD('${填写的root密码}'); # 也可以创建新用户 CREATE USER '${填写的操作员账户}' IDENTIFIED BY '${填写的操作员密码}';
- 退出MySQL-Client
exit
- 制作BE容器,该处应该进入以BE数量为最大数值从1开始的循环中(以BE-01为例)假设BE的节点数量从1自增的变量为n,在以下示例中取值方式为
${n}
- 构建BE容器
# 标准格式为如下所示,其中三处被替换为${n} docker run -it -p 906${n}:9060 -d --name=doris-be-0${n} -v /opt/docker/doris/be-0${n}:/opt/doris/be apache/incubator-doris:build-env-ldb-toolchain-latest # 示例 docker run -it -p 9061:9060 -d --name=doris-be-01 -v /opt/docker/doris/be-01:/opt/doris/be apache/incubator-doris:build-env-ldb-toolchain-latest
- 进入容器
# 这里需要注意,也是要根据循环进行取值 docker exec -ti doris-be-0${n} /bin/bash
- 修改BE配置文件
vim /opt/doris/be/conf/be.conf # 取消priority_networks的注解,并根据Docker的网段进行配置 priority_networks = 172.17.0.0/16 #这里要根据你Docker的IP确定
- 配置BE环境变量
# 配置环境变量 vim /etc/profile.d/doris.sh export DORIS_HOME=/opt/doris/be/ export PATH=$PATH:$DORIS_HOME/bin # 保存并source source /etc/profile.d/doris.sh
- 启动BE
start_be.sh
- 退出容器,开始下一次循环
exit
- 循环结束,清除临时解压缩及部分下载文件
rm -rf /opt/software/*.rpm rm -rf /opt/docker/doris/apache-doris-install.tar.gz
- 制作启动、停止脚本(前提Docker容器是启动的,若未启动则报错)启动脚本需以
start_doris_docker.sh
命名,停止脚本以stop_doris_docker.sh
命名两个脚本均写在/opt/docker/doris/sbin/
目录下
- 创建目录
mkdir -p /opt/docker/doris/sbin/
- 启动脚本内容
- 启动FE
docker exec -d doris-fe /bin/bash /opt/doris/fe/start_fe.sh --daemon
- 循环启动BE
docker exec -d doris-be-0${n} /bin/bash /opt/doris/be/start_be.sh --daemon
- 停止脚本内容
- 循环停止BE
docker exec -d doris-be-0${n} /bin/bash /opt/doris/be/stop_be.sh --daemon
- 停止FE
docker exec -d doris-fe /bin/bash /opt/doris/fe/stop_fe.sh --daemon
- 配置环境变量
vim /etc/profile.d/doris-docker.sh export DORIS_DOCKER_HOME=/opt/docker/doris/sbin export PATH=$PATH:$DORIS_DOCKER_HOME
- 刷新环境变量
source /etc/profile.d/doris-docker.sh
成果
极速体验版部署流程(此脚本部署将部署最新版本Apache Doris)
wget http://download.freeoneplus.com/doris_docker_fast_install.sh sh ./doris_docker_fast_install.sh
完全部署版部署流程(此脚本部署将部署最新版本Apache Doris)
wget http://download.freeoneplus.com/doris_docker_whole_install.sh sh ./doris_docker_whole_install.sh
假设需要指定版本的部署,请使用以下部署流程
# 极速体验版部署流程 wget http://download.freeoneplus.com/doris_docker_fast_install_${指定版本号}.sh sh ./doris_docker_fast_install_${指定版本号}.sh # 案例:极速体验版 Apache Doris 0.15版本 wget http://download.freeoneplus.com/doris_docker_fast_install_0.15.sh sh ./doris_docker_fast_install_0.15.sh # 完全部署版部署流程 wget http://download.freeoneplus.com/doris_docker_whole_install_${指定版本号}.sh sh ./doris_docker_whole_install_${指定版本号}.sh # 案例:完全部署版 Apache Doris 0.15版本 wget http://download.freeoneplus.com/doris_docker_whole_install_0.15.sh sh ./doris_docker_whole_install_0.15.sh
当前支持版本对照表
Apache Doris version | 是否支持 |
1.0.0-beta | 支持 |
0.15 | 3月12日起支持 |
0.14及以下 | 不支持 |
测试
使用官网的SSB测试集进行测试
单节点规模:
CPU:8C
内存:44G
硬盘:400G
FE:1
BE:5
脚本名称 | 查询时间(ms) |
q1.1 | 926ms |
q1.2 | 461ms |
q1.3 | 410ms |
q2.1 | 13383ms |
q2.2 | 12001ms |
q2.3 | 11354ms |