一、概述
分析型(OLAP)数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris 的分布式架构非常简洁,易于运维,并且可以支持 10PB 以上的超大数据集。
Apache Doris 可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。
Apache Doris 是一个现代化的 MPP(Massively Parallel Processing,即大规模并行处理),它的特点有: 1、分布式部署
2、列式存储
3、支持sql,注重分析
4、海量数据
二、安装前准备
- Linux 操作系统版本需求
Linux 系统 | 版本 |
CentOS | 7.1 及以上 |
Ubuntu | 16.04 及以上 |
- 软件需求
软件 | 版本 |
Java | 1.8 及以上 |
GCC | 4.8.2 及以上 |
- 测试环境硬件配置需求
模块 | CPU | 内存 | 磁盘 | 网络 | 实例数量 |
Frontend | 8核+ | 8GB+ | SSD 或 SATA,10GB+ * | 千兆网卡 | 1 |
Backend | 8核+ | 16GB+ | SSD 或 SATA,50GB+ * | 千兆网卡 | 1-3 * |
- 生产环境硬件配置需求
模块 | CPU | 内存 | 磁盘 | 网络 | 实例数量(最低要求) |
Frontend | 16核+ | 64GB+ | SSD 或 RAID 卡,100GB+ * | 万兆网卡 | 1-5 * |
Backend | 16核+ | 64GB+ | SSD 或 SATA,100G+ * | 万兆网卡 | 10-100 * |
- 操作系统环境要求
1、设置系统最大文件打开句柄数
1.打开文件
vi /etc/security/limits.conf
2.在文件最后添加下面几行信息(注意* 也要复制进去)
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
3、临时生效
ulimit -n 65536
修改完文件后需要重新启动虚拟机
重启永久生效,也可以用
如果不修改这个句柄数大于等于60000,回头启动doris的be节点的时候就会报如下的错
如果报错:Please set the maximum number of open file descriptors to be 65536 using 'ulimit -n 65536'.
代表句柄数没有生效,需要临时设置或者重启电脑
第一次启动的时候可能会报错
Please set vm.max_map_count to be 2000000 under root using 'sysctl -w vm.max_map_count=2000000'.
解决方案:
命令行输入:sysctl -w vm.max_map_count=2000000
2、设置文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
临时生效:
sysctl -w vm.max_map_count=2000000
永久生效
vim /etc/sysctl.conf
在文件最后一行添加
vm.max_map_count=2000000
让他永久生效
sysctl -p
检查是否生效
sysctl -a|grep vm.max_map_count
3、时钟同步
Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。
ntpdate time1.aliyun.com
4、关闭交换分区(swap)
交换分区是linux用来当做虚拟内存用的磁盘分区;
linux可以把一块磁盘分区当做内存来使用(虚拟内存、交换分区);
Linux使用交换分区会给Doris带来很严重的性能问题,建议在安装之前禁用交换分区;
1、查看 Linux 当前 Swap 分区
free -m
2、关闭 Swap 分区
swapoff -a
3.验证是否关闭成功
free -m
三、安装FE
去官网下载源码包,官网地址:https://doris.apache.org
根据自己的配置选择性点击下载
当然也可以选择历史版本下载
- 创建 fe 元数据存储的目录
mkdir -p /opt/installs/doris/doris-meta/
- 上传apache-doris-1.2.4.1-bin-x86_64-noavx2.tar.xz到linux
- 解压
tar -xvf apache-doris-1.2.4.1-bin-x86_64-noavx2.tar.xz
mv fe/ /opt/installs/doris/
- 修改配置文件
# fe.conf文件:位于fe安装目录下的conf目录
vi /opt/installs/doris/fe/conf/fe.conf
#配置文件中指定元数据路径: 注意这个文件夹要自己创建
meta_dir = /opt/installs/doris/doris-meta/
#修改绑定 ip(分发之后,每台机器修改成自己的 ip)
priority_networks = 192.168.233.128/24
- 分发集群
xsync.sh doris
- 启动
#进入到fe的bin目录下执行
/opt/installs/doris/fe/bin/start_fe.sh --daemon
生产环境强烈建议单独指定目录不要放在 Doris 安装目录下,最好是单独的磁盘(如果有 SSD 最好)。 如果机器有多个 ip, 比如内网外网, 虚拟机 docker 等, 需要进行 ip 绑定,才能正确识别。 JAVA_OPTS 默认 java 最大堆内存为 4GB,建议生产环境调整至 8G 以上。
四、安装BE
1、创建 BE 数据存放目录(每个节点)
mkdir /opt/installs/doris/doris-storage1
mkdir /opt/installs/doris/doris-storage2
cd /opt/modules/apache-doris-1.2.4.1-bin-x86_64-noavx2
mv be /opt/installs/doris/
2、进入到be的conf目录下修改配置文件
vim /opt/installs/doris/be/conf/be.conf
#配置文件中指定数据存放路径:
storage_root_path = /opt/installs/doris/doris-storage1;/opt/installs/doris/doris-storage2
#修改绑定 ip(每台机器修改成自己的 ip)
priority_networks = 192.168.233.128/24
第一次启动的时候可能会报错
Please set vm.max_map_count to be 2000000 under root using 'sysctl -w vm.max_map_count=2000000'.
解决方案:
命令行输入:sysctl -w vm.max_map_count=2000000
如果报错:Please set the maximum number of open file descriptors to be 65536 using 'ulimit -n 65536'.
注意事项:
storage_root_path 默认在 be/storage 下,需要手动创建该目录。多个路径之间使用英文状态的分号;分隔(最后一个目录后不要加)。
可以通过路径区别存储目录的介质,HDD 或 SSD。可以添加容量限制在每个路径的末尾,通过英文状态逗号,隔开,如:
storage_root_path=/home/disk1/doris.HDD,50;/home/disk2/doris.SSD,10;/home/disk2/doris
说明:
/home/disk1/doris.HDD,50,表示存储限制为 50GB,HDD;
/home/disk2/doris.SSD,10,存储限制为 10GB,SSD;
/home/disk2/doris,存储限制为磁盘最大容量,默认为 HDD
分发集群
# 将节点下的be分发到其他两台机器上
xsync.sh be
这样就好了嘛?不是哦
be可以先不启动,因为启动也没啥用。
因为FE和BE两个都是单独的个体,所以他俩相互间还不认识,就需要我们通过mysql的客户端将他们建立起联系
如果没有装mysql的,记得先装mysql
使用 MySQL Client 连接 FE
mysql -h bigdata01 -P 9030 -uroot
第一次没有密码可以进入。
查看 BE 状态
SHOW PROC '/backends'\G;
Alive 为 false 表示该 BE 节点还是死的
前面已经说过,默认root用户无密码,通过以下命令修改123456密码。
mysql> SET PASSWORD FOR 'root' = PASSWORD('123456');
添加BE
mysql> ALTER SYSTEM ADD BACKEND "bigdata01:9050";
如果是全分布的,需要输入三个命令
mysql> ALTER SYSTEM ADD BACKEND "bigdata02:9050";
mysql> ALTER SYSTEM ADD BACKEND "bigdata03:9050";
启动BE
启动 BE(每个节点)
/opt/installs/doris/be/bin/start_be.sh --daemon
启动后再次查看BE的节点
mysql -h bigdata01 -P 9030 -uroot -p123456
SHOW PROC '/backends'\G;
Alive 为 true 表示该 BE 节点存活。
五、查看前端页面
http://bigdata01:8030
账号是root,密码是123456
六、使用DataGrip连接doris