Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景
为了学习,我在centos-7中使用docker搭建了一个doris,步骤如下:
安装Docker
# 更新yum包
sudo yum update -y
# 卸载旧版本
docker sudo yum remove docker docker-common docker-selinux docker-engine
# 安装yum-util devicemapper
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 下载docker
sudo yum install docker-ce -y
# 查看docker版本
sudo docker version
出现Client和Server信息即为安装成功
Client: Docker Engine - Community Version: 26.1.0
...
Server: Docker Engine - Community Engine: Version: 26.1.0
...
下载资源
# 环境镜像
sudo docker pull apache/doris:build-env-ldb-toolchain-latest
# doris程序包
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.1.2-bin-x64.tar.gz
# mysql连接客户端
wget https://doris-build-hk.oss-cn-hongkong.aliyuncs.com/mysql-client/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
# 解压tar -zxvf xxx -C /opt/module
启动容器
sudo docker run -d -it --name=doris \
-p 19030:9030 -p 18030:8030 \
-v /opt/module/mysql-5.7.22-linux-glibc2.12-x86_64:/opt/mysql-5.7.22-linux-glibc2.12-x86_64 \
-v /opt/module/apache-doris-2.1.2-bin-x64:/opt/apache-doris-2.1.2-bin-x64 \ apache/doris:build-env-ldb-toolchain-latest \
/bin/bash
配置信息
首先,进入容器
sudo docker exec -it doris bash
获取本机容器内网ip地址
[root@9d84261dc0d0 opt]# hostname -i
172.17.0.2
进行doris目录
[root@9d84261dc0d0 apache-doris-2.1.2-bin-x64]# pwd
/opt/apache-doris-2.1.2-bin-x64
配置FE BE,这些步骤看https://blog.csdn.net/luoyeyilin/article/details/135293726即可,
简单来说,将fe/conf/fe.conf和be/conf/be.conf中的priority_networks配置一下
# 这个单机版直接配IP即可,不需要子网掩码,就是172.17.0.2,以你的ip为准
priority_networks=<hostname -i>
查看java环境变量
[root@9d84261dc0d0 opt]# echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0
并在be/bin/start_be.sh文件首行写入
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
启动Doris
/opt/apache-doris-2.1.2-bin-x64/fe/bin/start-fe.sh --daemon
/opt/apache-doris-2.1.2-bin-x64/be/bin/start-be.sh --daemon
键入jps
[root@9d84261dc0d0 be]# jps
5512 DorisBE
584 DorisFE
8250 Jps
出现这个即可(小心DorisBE,它可能会挂掉,或者要求你关闭交换分区、修改文件并发等等)
在宿主机上配一下这个
# 临时关闭交换分区
sudo swapoff -a
# 临时修改文件并发数
sudo sysctl -w vm.max_map_count=2000000
连接Mysql客户端查看状态
# root是Doris超级管理员
# -P9030是连接Doris的查询端口
# -h127.0.0.1 是FE IP地址
# ps:此处为docker container doris bash中
/opt/apache-doris-2.1.2-bin-x64/bin/mysql -uroot -P9030 -h127.0.0.1
通过 MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中
# be_host_ip:be节点的地址,在这里为docker容器hostname -i输出的IP
# heartbeat_service_port:默认为9050
ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";
查看FE 、BE状态
show frontends\G;
show backends\G;
出现Alive=true即可
Doris WEB:
浏览器打开http://<宿主机IP>:18030
用户为root,默认无密码
进入后自行探索一下~