Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,有数仓构建、数据湖联邦查询加速等使用场景,项目是由百度公司捐献给apache基金会的。这个百度就是我们经常调侃的百度,其实还是有技术水平的,不是网友口中的皮包公司。Doris分两类角色,FE和BE,FE负责用户请求接入,元数据和节点管理等,BE负责具体数据存储和查询任务的执行。
具体请参考:https://doris.apache.org/zh-CN/docs/1.2/
1、部署说明
ip 角色 安装组件
192.168.1.10 Frontend centos7 ,jdk,gcc
192.168.1.20 Backend centos7 ,jdk,gcc
192.168.1.21 Backend centos7 ,jdk,gcc
2、FE部署
所有主机安装centos 7系统,安装java和GCC。
设置系统最大文件句柄数
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
关闭swap分区,设置好data目录。
下载安装文件,解压到/opt目录下
# tar xvf apache-doris-fe-1.2.4.1-bin-x86_64.tar
#mv apache-doris-fe-1.2.4.1-bin-x86_64 /opt/doris-fe
# vim /opt/doris-fe/conf/fe.conf 编辑配置文件
主要修改meta_dir 和priority_networks
# bin/start_fe.sh --daemon 启动fe
3、BE部署
编辑配置文件,storage_root_path和priority_networks
配置JAVA_HOME
#which java
#ll /usr/bin/java
JAVA_HOME = /usr/bin/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre
(大坑来了,java_home 不带bin目录,因为启动脚本已经携带)
1.1x版本一直be.out 日志一直提示“[doris_main.cpp:382] Failed to initialize JNI: Failed to find the library libjvm.so”
换成1.2 版本,查看日志不报错,只有一条记录‘start time: xxxx’ , 查看进程未启动。
安装 Java UDF 函数
#下载java-udf-*.jar 包放到lib目录下
在FE上添加所以BE节点
#mysql -uroot -P9030 -h127.0.0.1
>ALTER SYSTEM ADD BACKEND "192.168.1.20:9050";
>ALTER SYSTEM ADD BACKEND "192.168.1.21:9050";
BE节点启动进程
bin/start_be.sh --daemon
FE上查看集群状态,确认Alive 是true
> SHOW BACKENDS\G;