Doris生产环境部署

基础环境

软件

操作系统

Java

GCC

文件系统

Centos7.8

Java8

4.8.5

xfs

硬件

服务

CPU

内存

系统盘

数据盘

网卡

节点数量

FE

48

188

500G

SSD: 1*1.8T

万兆

3

BE

48

188

500G

HDD: 43.6T SSD: 61.8T

万兆

10

操作系统设置

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

vi /etc/security/limits.conf 
# End of file
*               soft    nofile          1048576
*               hard    nofile          1048576


官网上设置的65536, 不做修改.

关闭交换分区(swap)

[de@hadoop87 ~]$ free -h
              total        used        free      shared  buff/cache   available
Mem:           188G         25G        122G        4.0G         39G        155G
Swap:            0B          0B          0B

swap 全部为0, 已经关闭了

创建同名用户及用户组

useradd de

配置Java环境

jdk1.8.0_181
PATH=$PATH:$HOME/.local/bin:$HOME/bin
JAVA_HOME=/opt/jdk1.8.0_181
PATH=$PATH:$JAVA_HOME/bin

安装目录、日志目录、元数据目录、数据目录

部署FE

修改启动参数

JAVA_OPTS: 
-Xmx8192m => -Xmx32768m
-Xloggc:${DORIS_HOME}/log/fe.gc.log.$DATE => -Xloggc:${DORIS_BASE_PATH}/log/fe.gc.log.$DATE

JAVA_OPTS_FOR_JDK_9: 
-Xmx8192m => -Xmx32768m



修改配置文件fe.conf

修改日志, 参数base路径
DORIS_BASE_PATH=/data1/doris

meta_dir = ${DORIS_BASE_PATH}/doris-meta
sys_log_dir = ${DORIS_BASE_PATH}/log
audit_log_dir = ${DORIS_BASE_PATH}/log

priority_networks = 10.11.32.0/24

default_storage_medium = SSD
dynamic_partition_enable = true


创建元数据目录

mkdir /data1/doris/doris-meta

FE启动停止

fe/bin/start_fe.sh --daemon

FE 扩容读写高可用

配置及启动 Follower 或 Observer
这里 Follower 和 Observer 的配置同 Leader 的配置。

首先第一次启动时,需执行以下命令:

./bin/start_fe.sh --helper leader_fe_host:edit_log_port --daemon

其中 leader_fe_host 为 Leader 所在节点 ip, edit_log_port 在 Leader 的配置文件 fe.conf 中。--helper 参数仅在 follower 和 observer 第一次启动时才需要。

将 Follower 或 Observer 加入到集群
添加 Follower 或 Observer。使用 mysql-client 连接到已启动的 FE,并执行:

ALTER SYSTEM ADD FOLLOWER "follower_host:edit_log_port";

或

ALTER SYSTEM ADD OBSERVER "observer_host:edit_log_port";

其中 follower_host和observer_host 为 Follower 或 Observer 所在节点 ip,edit_log_port 在其配置文件 fe.conf 中。

查看 Follower 或 Observer 运行状态。使用 mysql-client 连接到任一已启动的 FE,并执行:SHOW PROC '/frontends'; 可以查看当前已加入集群的 FE 及其对应角色。

FE 扩容注意事项:

Follower FE(包括 Leader)的数量必须为奇数,建议最多部署 3 个组成高可用(HA)模式即可。
当 FE 处于高可用部署时(1个 Leader,2个 Follower),我们建议通过增加 Observer FE 来扩展 FE 的读服务能力。当然也可以继续增加 Follower FE,但几乎是不必要的。
通常一个 FE 节点可以应对 10-20 台 BE 节点。建议总的 FE 节点数量在 10 个以下。而通常 3 个即可满足绝大部分需求。
helper 不能指向 FE 自身,必须指向一个或多个已存在并且正常运行中的 Master/Follower FE。


实际命令:

1. 启动服务:
fe
第一次启动follower
fe/bin/start_fe.sh --helper 10.11.32.58:9016 --daemon

2. 加入集群:
ALTER SYSTEM ADD FOLLOWER "follower_host:edit_log_port";

ALTER SYSTEM ADD FOLLOWER "10.11.32.66:9010";

3. 查看是否成功
SHOW PROC '/frontends';

再次加入fe2, fe3:
fe/bin/start_fe.sh --helper 10.11.32.66:9010 --daemon

ALTER SYSTEM ADD FOLLOWER "10.11.32.60:9010";
ALTER SYSTEM ADD FOLLOWER "10.11.32.67:9010";




message.max.bytes



root 密码

SET PASSWORD FOR 'root' = PASSWORD('h&Kb83sj#Ph&'); 

部署BE

sudo: 
sysctl -w vm.max_map_count=2000000

修改配置文件be.conf

priority_networks = 10.11.32.0/24


storage_root_path = /data1/doris_storage.HDD;/data2/doris_storage.HDD;/data3/doris_storage.HDD;/data4/doris_storage.HDD;/data5/doris_storage.SSD;/data6/doris_storage.SSD;/data7/doris_storage.SSD;/data8/doris_storage.SSD;/data9/doris_storage.SSD;/data10/doris_storage.SSD



enable_segcompaction = true
# 使用新的compaction算法
enable_vertical_compaction = true


/data1/doris_storage.HDD;
/data2/doris_storage.HDD;
/data3/doris_storage.HDD;
/data4/doris_storage.HDD;
/data5/doris_storage.SSD;
/data6/doris_storage.SSD;
/data7/doris_storage.SSD;
/data8/doris_storage.SSD;
/data9/doris_storage.SSD;
/data10/doris_storage.SSD


UDF jar包

cp apache-doris-dependencies-1.2.3-bin-x86_64/java-udf-jar-with-dependencies.jar be/lib/

创建数据存储路径

mkdir /data1/doris_storage.HDD
mkdir /data2/doris_storage.HDD
mkdir /data3/doris_storage.HDD
mkdir /data4/doris_storage.HDD
mkdir /data5/doris_storage.SSD
mkdir /data6/doris_storage.SSD
mkdir /data7/doris_storage.SSD
mkdir /data8/doris_storage.SSD
mkdir /data9/doris_storage.SSD
mkdir /data10/doris_storage.SSD
chown -R de:de /data1/doris_storage.HDD
chown -R de:de /data2/doris_storage.HDD
chown -R de:de /data3/doris_storage.HDD
chown -R de:de /data4/doris_storage.HDD
chown -R de:de /data5/doris_storage.SSD
chown -R de:de /data6/doris_storage.SSD
chown -R de:de /data7/doris_storage.SSD
chown -R de:de /data8/doris_storage.SSD
chown -R de:de /data9/doris_storage.SSD
chown -R de:de /data10/doris_storage.SSD

注册BE

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

ALTER SYSTEM ADD BACKEND "10.11.32.23:9050";
ALTER SYSTEM ADD BACKEND "10.11.32.54:9050";
ALTER SYSTEM ADD BACKEND "10.11.32.64:9050";
ALTER SYSTEM ADD BACKEND "10.11.32.68:9050";

ALTER SYSTEM ADD BACKEND "10.11.32.65:9050";
ALTER SYSTEM ADD BACKEND "10.11.32.61:9050";
ALTER SYSTEM ADD BACKEND "10.11.32.70:9050";
ALTER SYSTEM ADD BACKEND "10.11.32.69:9050";
ALTER SYSTEM ADD BACKEND "10.11.32.62:9050";
ALTER SYSTEM ADD BACKEND "10.11.32.63:9050";




启动停止

be/bin/start_be.sh --daemon



systemctl: /etc/systemd/system/doris_be.service
[Unit]
Description=DeDorisBE
After=network.target

[Service]
User=de
Group=de

Type=forking
PIDFile=/home/de/deploy/doris/be/bin/be.pid
ExecStart=/home/de/deploy/doris/be/bin/start_be.sh --daemon
ExecStop=/home/de/deploy/doris/be/bin/stop_be.sh
PrivateTmp=false
TimeoutSec=60
Restart=always

[Install]
WantedBy=multi-user.target


配置完: 
systemctl daemon-reload

监控接口

doris-fe1:8030/metrics
doris-be1:8040/metrics