ubuntu20配置doris集群

本文详细介绍了Doris开源MPP架构OLAP数据库的部署要求,包括Linux操作系统版本、软件需求如Java和GCC,以及操作系统设置如文件句柄数和时钟同步。在生产环境中,推荐使用特定的CPU、内存和磁盘配置。文章还提到了Doris的网络端口需求,并提供了FE和BE的启动及配置步骤,包括添加BE节点到FE等。
摘要由CSDN通过智能技术生成

官方软硬件需求

概述

Doris 作为一款开源的 MPP 架构 OLAP 数据库,能够运行在绝大多数主流的商用服务器上。为了能够充分运用 MPP 架构的并发优势,以及 Doris 的高可用特性,我们建议 Doris 的部署遵循以下需求:

Linux 操作系统版本需求

Linux 系统

版本

CentOS

7.1 及以上

Ubuntu

16.04 及以上

软件需求

软件

版本

Java

1.8 及以上

GCC

4.8.2 及以上

操作系统安装要求

设置系统最大打开文件句柄数

vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536

时钟同步

Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。

关闭交换分区(swap)

Linux交换分区会给Doris带来很严重的性能问题,需要在安装之前禁用交换分区

Liunx文件系统

这里我们推荐使用 ext4/xfs 文件系统,在安装操作系统的时候,请选择 ext4/xfs 文件系统。

开发测试环境

模块

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 *

网络需求

Doris 各个实例直接通过网络进行通讯。以下表格展示了所有需要的端口

实例名称

端口名称

默认端口

通讯方向

说明

BE

be_port

9060

FE --> BE

BE 上 thrift server 的端口,用于接收来自 FE 的请求

BE

webserver_port

8040

BE <--> BE

BE 上的 http server 的端口

BE

heartbeat_service_port

9050

FE --> BE

BE 上心跳服务端口(thrift),用于接收来自 FE 的心跳

BE

brpc_port

8060

FE <--> BE, BE <--> BE

BE 上的 brpc 端口,用于 BE 之间通讯

FE

http_port

8030

FE <--> FE,用户 <--> FE

FE 上的 http server 端口

FE

rpc_port

9020

BE --> FE, FE <--> FE

FE 上的 thrift server 端口,每个fe的配置需要保持一致

FE

query_port

9030

用户 <--> FE

FE 上的 mysql server 端口

FE

edit_log_port

9010

FE <--> FE

FE 上的 bdbje 之间通信用的端口

Broker

broker_ipc_port

8000

FE --> Broker, BE --> Broker

Broker 上的 thrift server,用于接收请求

注:

  1. 当部署多个 FE 实例时,要保证 FE 的 http_port 配置相同。
  2. 部署前请确保各个端口在应有方向上的访问权限。

下载安装

去官方地址下载 下载 - Apache Doris,be/fe/dependeces

我的服务器

192.168.139.168 192.168.139.169 192.168.139.170

安装gcc

apt install gcc

解压fe和be

xz -dk apache-doris-fe-1.2.1-bin-x86_64.tar.xz 
tar -xvf apache-doris-fe-1.2.1-bin-x86_64.tar

然后把解压后的文件放到需要的目录下。

我的目录是/data/doris/be和 /data/doris/fe

配置 FE

    1. 配置文件为 conf/fe.conf。其中注意:meta_dir是元数据存放位置。默认值为 ${DORIS_HOME}/doris-meta,此目录已存在,但注意:生产环境强烈建议单独指定目录不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好),测试开发环境可以使用默认配置。
    2. fe.conf 中 JAVA_OPTS 默认 java 最大堆内存为 4GB,建议生产环境调整至 8G 以上。
    3. 启动FE
bin/start_fe.sh --daemon

#我在root用户执行如上命令,无反应,切换回普通用户重新执行,成功了

su -

FE进程启动进入后台执行。日志默认存放在 log/ 目录下。如启动失败,可以通过查看 log/fe.log 或者 log/fe.out 查看错误信息。

查看是否启动成功

可以看log下的日志输出 或者 curl http://127.0.0.1:8030/api/bootstrap 返回:{"status":"OK","msg":"Success"} 或者在浏览器中打开 http://IP:8030 默认账户root,默认没有密码

BE 部署

  • 拷贝 BE 部署文件到所有要部署 BE 的节点

将源码编译生成的 output 下的 be 文件夹拷贝到 BE 的节点的指定部署路径下。

注意:output/be/lib/debug_info/ 目录下为调试信息文件,文件较大,但实际运行不需要这些文件,可以不部署。

  • 修改所有 BE 的配置

修改 be/conf/be.conf。主要是配置 storage_root_path:数据存放目录。默认在be/storage下,需要手动创建该目录。多个路径之间使用英文状态的分号 ; 分隔(最后一个目录后不要加 ;)。

可以通过路径区别存储目录的介质,HDD或SSD。可以添加容量限制在每个路径的末尾,通过英文状态逗号,隔开。如果用户不是SSD和HDD磁盘混合使用的情况,不需要按照如下示例一和示例二的配置方法配置,只需指定存储目录即可;也不需要修改FE的默认存储介质配置

示例1如下:

注意:如果是SSD磁盘要在目录后面加上.SSD,HDD磁盘在目录后面加.HDD

storage_root_path=/home/disk1/doris.HDD;/home/disk2/doris.SSD;/home/disk2/doris

说明

    • /home/disk1/doris.HDD : 表示存储介质是HDD;
    • /home/disk2/doris.SSD: 表示存储介质是SSD;
    • /home/disk2/doris: 表示存储介质是HDD(默认)

示例2如下:

注意:不论HDD磁盘目录还是SSD磁盘目录,都无需添加后缀,storage_root_path参数里指定medium即可

storage_root_path=/home/disk1/doris,medium:hdd;/home/disk2/doris,medium:ssd

说明

    • /home/disk1/doris,medium:hdd: 表示存储介质是HDD;
    • /home/disk2/doris,medium:ssd: 表示存储介质是SSD;
  • 安装 Java UDF 函数

SinceVersion 1.2.0安装Java UDF 函数因为从 1.2 版本开始支持 Java UDF 函数,需要从官网下载 Java UDF 函数的 JAR 包放到 BE 的 lib 目录下,否则可能会启动失败。

*官方提供的apache-doris-dependencies-1.2.1-bin-x86_64有,解压后找到java-udf-jar-with-dependencies.jar,复制到be的lib目录下即可。

  • 在 FE 中添加所有 BE 节点

BE 节点需要先在 FE 中添加,才可加入集群。可以使用 mysql-client连接到 FE或者在web上管理

http://IP:8030

通过命令安装mysql-client

apt-get install mysql-client mysql -h fe_host -P query_port -uroot 
设置密码
SET PASSWORD FOR 'root' = PASSWORD('000000');

其中 fe_host 为 FE 所在节点 ip;query_port 在 fe/conf/fe.conf 中的;默认使用 root 账户,无密码登录。

登录后,执行以下命令来添加每一个 BE:

ALTER SYSTEM ADD BACKEND "be_host:heartbeat-service_port";

其中 be_host 为 BE 所在节点 ip;heartbeat_service_port 在 be/conf/be.conf 中。

  • 启动 BE
su - cd /data/doris/be bin/start_be.sh --daemon

BE 进程将启动并进入后台执行。日志默认存放在 be/log/ 目录下。如启动失败,可以通过查看 be/log/be.log 或者 be/log/be.out 查看错误信息。

  • 查看BE状态

使用 mysql-client 连接到 FE,或者在http://IP:8030上执行 SHOW PROC '/backends'; 查看 BE 运行情况。如一切正常,isAlive 列应为 true。

  • 查看状态启动状态

通过如下连接查看是否启动成功:

http://be_host:webserver_port/api/health

如果返回:

{"status": "OK","msg": "To Be Added"}

则表示启动成功,其余情况,则可能存在问题。

注:如果在 be.INFO 中查看不到启动失败的信息,也许在 be.out 中可以看到。

部署其它服务器

使用scp命令复制be所有文件:

 

scp -r be/ user1@192.168.139.168:/home/user1/file

然后把相应的文件复制到168 169相应的data/doris目录下,再对be进行如上的配置,加入到fe里即可完成集群的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值