Apache Doris集群部署

发布时间 2023-09-01 16:52:27作者: 百衲本

一、Doris部署环境及系统依赖

环境要求参考:https://doris.apache.org/zh-CN/docs/dev/install/standard-deployment

1.部署环境

2.系统依赖

1.Java环境
tar xf jdk-8u201-linux-x64.tar.gz -C /usr/local/
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/jdk1.8.0_201/
export PATH=$PATH:$JAVA_HOME/bin

. /etc/profile.d/java.sh
java -version  #确保命令正常执行
2.设置进程可以拥有的VMA的数量 vim
/etc/sysctl.d/99-sysctl.conf vm.max_map_count=262144 3.设置系统最大打开文件句柄数 vi /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 4.时间同步 chronyd -q 'server ntp1.aliyun.com iburst'


5.禁用swap
swapoff -a

3.Doris角色说明

1.Frontend:前端节点,负责管理元数据、管理客户端的连接、进行查询规划和调度等工作
FE磁盘注意事项:
    FE的磁盘空间主要用于存储元数据,包括日志和image。通常从几百MB到几个GB不等。
FE部署注意事项:
    一个节点只能部署一个FE
FE内部角色
1.FE角色分为Follower和Observer,Follower可以选举Leader,Observe只能同比Leader数据不能参加选举
2.FE节点数据至少为1(1个Follower).当部署1个Follower和1个Observer时,可以实现读高可用。当部署3个Follower时,可以实现读写高可用(HA)。
3.Follower的数量必须为奇数,Observer数量随意。


2.Backend:后端节点,负责数据存储、计算执行、副本管理等
BE:磁盘注意事项:
    BE的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量*3(3副本)计算,然后再预留额外40%的空间用作后台compaction以及一些中间数据的存放。
FE部署注意事项:
    一个节点可以部署多个BE,但只建议部署一个实例
    
3.Broker:用于访问外部数据源(如hdfs)的进程。通常,在每台机器上部署一个broker实例即可。

4.服务端口说明

二、集群部署 

1.安装包下载 

如果想自己编译可以下载源码进行编译安装

下载地址:https://doris.apache.org/zh-CN/download/

cat /proc/cpuinfo |grep avx2  #查看CPU Model
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-bin-x64.tar.gz  #选中对应的版本和CPU Model下载

2.配置FE BE

tar xf apache-doris-1.2.6-bin-x64.tar.xz -C /usr/local/
cd /usr/local/
ln -sv apache-doris-1.2.6-bin-x64/ doris

cp doris/fe/conf/fe.conf doris/fe/conf/fe.conf-bak
vim doris/fe/conf/fe.conf
mysql_service_nio_enabled = true
priority_networks = 192.168.1.0/24  #新增该字段,特别是多网卡服务器上,该参数必须添加


cp doris/be/conf/be.conf  doris/be/conf/be.conf-bak
vim  doris/be/conf/be.conf

brpc_port = 8060
storage_root_path = /mnt/doris/storage  #设置存储路径


mkdir -p /mnt/doris/storage   #与BE存储路径保持一致

其他配置参考官方文档进行配置,参考地址:https://doris.apache.org/zh-CN/docs/1.2/admin-manual/config/config-dir

3.启动 FE 

第一台机器上执行(192.168.1.136)
#启动服务
/usr/local/doris/fe/bin/start_fe.sh --daemon

通过jps   netstat命令和日志确认进程是否正常启动
登录MySQL查看状态

yum install mariadb -y #安装MySQL 客户端命令 mysql
-uroot -P 9030 -h 127.0.0.1 #直接回车,默认没有密码

SHOW PROC '/frontends' \G;

其他节点启动

#192.168.1.137 138两台执行  #--helper 指定当前leader的地址
/usr/local/doris/fe/bin/start_fe.sh  --helper 192.168.1.136:9010 --daemon

数据库添加新节点

MySQL [(none)]> ALTER SYSTEM ADD FOLLOWER "192.168.1.137:9010";
MySQL [(none)]> ALTER SYSTEM ADD FOLLOWER "192.168.1.13:9010";
SHOW PROC '/frontends' \G; #确保相关节点 join和active值为true

4.启动BE和Broker

#三台机器都执行以下操作
/usr/local/doris/be/bin/start_be.sh --daemon
/usr/local/doris/extensions/apache_hdfs_broker/bin/start_broker.sh --daemon

数据库添加节点

#添加BE节点
ALTER SYSTEM ADD BACKEND "192.168.1.136:9050";
ALTER SYSTEM ADD BACKEND "192.168.1.137:9050";
ALTER SYSTEM ADD BACKEND "192.168.1.138:9050";
SHOW BACKENDS;

#添加Broker节点
ALTER SYSTEM ADD BROKER my_broker "192.168.1.136:8000";
ALTER SYSTEM ADD BROKER my_broker "192.168.1.137:8000";
ALTER SYSTEM ADD BROKER my_broker "192.168.1.138:8000";
SHOW BROKER;

三、通过控制台查看相关角色状态

登录控制台,访问http://192.168.1.136:8030/,默认用户root 密码为空

1.查看FE状态

查看单个FE状态

http://fe_host:fe_http_port/api/bootstrap

查看集群FE状态

http://192.168.1.136:8030/System?path=//frontends

2.查看BE状态

查看单个BE状态

http://be_host:be_http_port/api/health

查看集群BE状态

3.查看broker状态

http://192.168.1.136:8030/System?path=//brokers