文章目录
1.软硬件需求
1.1 操作系统
Linux 系统 | 版本 |
---|---|
CentOS | 7.1 及以上 |
Ubuntu | 16.04 及以上 |
麒麟 | V10 |
1.2 软件需求
软件 | 版本 |
---|---|
Java | 1.8 及以上 |
GCC | 4.8.2 及以上 |
1.3 文件句柄数
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
1.4 时钟同步
Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。
1.5 关闭交换分区
Linux交换分区会给Doris带来很严重的性能问题,需要在安装之前禁用交换分区
swapoff -a
1.6 修改vm.max_map_count参数
echo vm.max_map_count=2000000 >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
1.7硬件环境
开发测试环境
模块 | CPU | 内存 | 磁盘 | 网络 | 实例数量 |
---|---|---|---|---|---|
Frontend | 8核+ | 8GB+ | SSD 或 SATA,10GB+ * | 千兆网卡 | 1 |
Backend | 8核+ | 16GB+ | SSD 或 SATA,50GB+ * | 千兆网卡 | 1-3 * |
生产环境
模块 | CPU | 内存 | 磁盘 | 网络 | 实例数量(最低要求) |
---|---|---|---|---|---|
Frontend | 16核+ | 64GB+ | SSD 或 RAID 卡,100GB+ * | 万兆网卡 | 1-3 * |
Backend | 16核+ | 64GB+ | SSD 或 SATA,100G+ * | 万兆网卡 | 3 * |
1.8 部署机器
· 如果机器充足,建议是FE和BE分开部署,即三台机器独立装FE,其他机器装BE,BE机器尽可能的多,broker则建议每台机器都装
· 如果 FE 和 BE 混部,需注意资源竞争问题,并保证元数据目录和数据目录分属不同磁盘
ip | 组件 |
---|---|
10.193.6.183 | FE、BE、broker |
10.193.6.184 | FE、BE、broker |
10.193.6.185 | FE、BE、broker |
1.9设置用户
groupadd jxbd
useradd -g jxbd jxbd
chown -R jxbd:jxbd /home/jxbd/doris-1.2.2/
防火墙设置
service firewalld stop
systemctl disable firewalld
2. 部署
2.1 前期准备
#应用解压到/home/jxbd/下面,改名称为doris-2.0.0
tar -zxvf apache-doris-2.0.0-bin-x64.tar.gz
mv apache-doris-2.0.0-bin-x64 doris-2.0.0
chown -R jxbd:jxbd /home/jxbd/doris-2.0.0/
#增加doris的数据目录和元数据目录
mkdir -p /opt/data/dorisMeta
mkdir -p /opt/data/dorisData
chown -R jxbd:jxbd /opt/data/*
2.2 FE部署
若为集群部署,FE会分为三种角色:Leader、Follower和Observer。默认一个集群,只能有一个 Leader,可以有多个 Follower 和 Observer。其中 Leader 和 Follower 组成一个 Paxos 选择组,如果 Leader 宕机,则剩下的 Follower 会自动选出新的 Leader,保证写入高可用。Observer 同步 Leader 的数据,但是不参加选举。如果只部署一个
FE,则FE 默认就是 Leader。
2.2.1 FE上传
将fe的一系列文件拷贝上传至服务器的对应目录下如:(建议要先看清楚服务器的大容量磁盘是挂载在哪个目录下)
2.2.2 配置
环境变量DORIS_HOME
vim /et c/profile
DORIS_HOME=/opt/apps/apache-doris-2.0.0
export PATH DORIS_HOME
source /etc/profile
2.2.3 配置文件修改
vim conf/fe.conf
# 指定当前服务器ip
priority_networks = 10.193.6.183/24
# 大小写敏感
lower_case_table_names=1
# 开启多源目录功能
enable_multi_catalog=true
# String最大长度
string_type_hard_limit = 10485760
#元数据目录
meta_dir=/opt/data/dorisMeta
vi /opt/app/doris_1.2.0/fe/conf/fe.conf
priority_networks = 10.193.6.183/24
lower_case_table_names = 1
enable_multi_catalog = true
meta_dir=/data/dorisMeta
string_type_hard_limit = 1048576
2.2.4 启动fe
先在leader的机器上,启动FE
bin/start_fe.sh --daemon
然后首次启动在follower的机器上,指向leader的IP,启动FE
bin/start_fe.sh --helper 10.193.6.183:9010 --daemon
后续启动:
bin/start_fe.sh --daemon
2.2.5 增加fe节点
使用mysql-client(或者使用DBServer)连接FE
./mysql-client -h 10.193.6.183 -P 9030 -uroot
添加Fe节点
ALTER SYSTEM ADD FOLLOWER "10.193.6.184:9010";
ALTER SYSTEM ADD FOLLOWER "10.193.6.185:9010";
2.2.6 查看fe状态
使用mysql-client(或者使用DBServer)连接FE
./mysql-client -h 10.193.6.183 -P 9030 -uroot
SHOW PROC '/frontends';
2.3 BE部署
用户可以通过 mysql-client 登陆 Leader FE。通过:SHOW PROC ‘/backends’;来查看当前 BE 的节点情况。
也可以通过前端页面连接:http://fe_hostname:fe_http_port/backend 或者 http://fe_hostname:fe_http_port/system?path=//backends 来查看 BE 节点的情况。
以上方式,都需要 Doris 的 root 用户权限。
BE 节点的扩容和缩容过程,不影响当前系统运行以及正在执行的任务,并且不会影响当前系统的性能。数据均衡会自动进行。根据集群现有数据量的大小,集群会在几个小时到1天不等的时间内,恢复到负载均衡的状态。集群负载情况,可以参见 Tablet 负载均衡文档。
2.3.1 BE上传
将be的一系列文件拷贝上传至服务器的对应目录下如:(建议要先看清楚服务器的大容量磁盘是挂载在哪个目录下)
2.3.2 修改配置文件
vim conf/be.conf
# 指定当前服务器ip
priority_networks = 10.193.6.183/24
storage_root_path= /opt/data/dorisData
string_type_length_soft_limit_bytes= 104857600
说明: 这个是设置非常重要,对应大文本如果不设置
STRING
变长字符串,默认支持1048576 字节(1MB),可调大到 2147483643 字节(2G),可通过be配置string_type_length_soft_limit_bytes
调整。 String类型只能用在value 列,不能用在 key 列和分区 分桶列
2.3.4 FE添加BE节点
使用mysql-client连接FE
./mysql-client -h 10.193.6.183 -P 9030 -uroot
ALTER SYSTEM ADD BACKEND "10.193.6.183:9050";
ALTER SYSTEM ADD BACKEND "10.193.6.184:9050";
ALTER SYSTEM ADD BACKEND "10.193.6.185:9050";
2.3.5 启动BE
bin/start_be.sh --daemon
2.3.6 查看BE状态
使用mysql-client连接FE
./mysql-client -h 10.193.6.183 -P 9030 -uroot
SHOW PROC '/backends';