Apache Doris集群部署
一、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
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少