文章目录
-
-
- 1.安装要求
-
- [1.1 Linux操作系统要求](#1.1 Linux操作系统要求)
- [1.2 软件需求](#1.2 软件需求)
- [1.3 注意事项](#1.3 注意事项)
- [1.4 内部端口](#1.4 内部端口)
- 2.集群部署
-
- [2.1 操作系统安装要求](#2.1 操作系统安装要求)
- [2.2 下载安装包](#2.2 下载安装包)
- [2.3 解压](#2.3 解压)
- [2.4 配置FE](#2.4 配置FE)
- [2.5 配置BE](#2.5 配置BE)
- [2.6 添加BE](#2.6 添加BE)
- [2.7 FE 扩容和缩容](#2.7 FE 扩容和缩容)
- [2.8 Doris 集群群起脚本](#2.8 Doris 集群群起脚本)
- 3.图形化
-
1.安装要求
1.1 Linux操作系统要求

1.2 软件需求

1.3 注意事项
- 所有部署节点关闭Swap。
- Follower的数量必须为奇数,Observer 数量随意。
- 当集群可用性要求很高时(比如提供在线业务),可以部署3个 Follower和1-3个Observer。如果是离线业务,建议部署1个Follower和1-3个Observer。
- 测试环境也可以仅适用一个BE进行测试。实际生产环境,BE实例数量直接决定了整体查询延迟。
1.4 内部端口


当部署多个FE实例时,要保证FE的http_port配置相同。
2.集群部署

2.1 操作系统安装要求
设置系统最大打开文件句柄数(注意这里的*不要去掉)。
java
sudo vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
设置最大虚拟块的大小。
java
sudo vim /etc/sysctl.conf
vm.max_map_count=2000000
重启生效。
2.2 下载安装包

bash
cat /proc/cpuinfo | grep avx2
如果能看到avx2 字样选择带 avx2 的包。
arm64 架构 cpu(apple),选择 arm64 的安装包下载。
2.3 解压
(1)安装 fe
bash
mkdir -p /opt/module/doris
tar -xvf apache-doris-fe-1.2.4.1-bin-arm.tar.xz -C /opt/module/doris
mv /opt/module/doris/apache-doris-fe-1.2.4.1-bin-arm /opt/module/doris/fe
(2)安装 be
bash
tar -xvf apache-doris-be-1.2.4.1-bin-arm.tar.xz -C /opt/module/doris
mv /opt/module/doris/apache-doris-be-1.2.4.1-bin-arm /opt/module/doris/be
(3)安装其他依赖(java udf 函数)
bash
tar -xvf apache-doris-dependencies-1.2.4.1-bin-arm.tar.xz -C /opt/module/doris
mv /opt/module/doris/apache-doris-dependencies-1.2.4.1-bin-arm /opt/module/doris/dependencies
cp /opt/module/doris/dependencies/java-udf-jar-with-dependencies.jar /opt/module/doris/be/lib
2.4 配置FE
1)修改FE配置文件
bash
vim /opt/module/doris/fe/conf/fe.conf
# web 页面访问端口
http_port = 7030
# 配置文件中指定元数据路径:默认在 fe 的根目录下,可以不配
# meta_dir = /opt/module/doris/fe/doris-meta
# 修改绑定 ip
priority_networks = 192.168.254.102/24
- 生产环境强烈建议单独指定目录不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好)。
- 如果机器有多个IP,比如内网外网, 虚拟机docker等,需要进行IP绑定,才能正确识别。
- JAVA_OPTS 默认Java 最大堆内存为 4GB,建议生产环境调整至 8G 以上。
2)启动FE
bash
/opt/module/doris/fe/bin/start_fe.sh --daemon
3)登录 FE Web页面
地址:http://hadoop102:7030/login
用户:root
密码:无

2.5 配置BE
sh
vim /opt/module/doris/be/conf/be.conf
webserver_port = 7040
priority_networks = 192.168.254.102/24
mem_limit=40%
分发be
bash
xsync be
2.6 添加BE
BE节点需要先在FE中添加,才可加入集群。可以使用mysql-client连接到FE。
1)使用 Mysql 客户端连接到 FE
bash
mysql -h hadoop102 -P9030 -uroot

2)添加BE
bash
ALTER SYSTEM ADD BACKEND "hadoop102:9050";
ALTER SYSTEM ADD BACKEND "hadoop103:9050";
ALTER SYSTEM ADD BACKEND "hadoop104:9050";
3)启动BE
hadoop102, hadoop103, hadoop104 上都启动BE
bash
/opt/module/doris/be/bin/start_be.sh --daemon
4)mysql查看BE状态
bash
SHOW PROC '/backends'\G

2.7 FE 扩容和缩容
通过将FE扩容至3个以上节点(必须是奇数)来实现FE的高可用。
1)添加为OBSERVER
bash
ALTER SYSTEM ADD OBSERVER "hadoop103:9010";
ALTER SYSTEM ADD OBSERVER "hadoop104:9010";
2)分发fe
bash
xsync fe
3)启动fe
hadoop102启动:
bash
/opt/module/doris/fe/bin/start_fe.sh --daemon
hadoop103, hadoop104 第一次启动的时候需要参数 --helper leader主机: edit_log_port
bash
/opt/module/doris/fe/bin/start_fe.sh --daemon --helper hadoop102:9010
4)mysql上看fe的状态
bash
show proc '/frontends';

2.8 Doris 集群群起脚本
bash
#!/bin/bash
case $1 in
"start")
for host in hadoop102 hadoop103 hadoop104 ; do
echo "========== 在 $host 上启动 fe ========="
ssh $host "source /etc/profile; /opt/module/doris/fe/bin/start_fe.sh --daemon"
done
for host in hadoop102 hadoop103 hadoop104 ; do
echo "========== 在 $host 上启动 be ========="
ssh $host "source /etc/profile; /opt/module/doris/be/bin/start_be.sh --daemon"
done
;;
"stop")
for host in hadoop102 hadoop103 hadoop104 ; do
echo "========== 在 $host 上停止 fe ========="
ssh $host "source /etc/profile; /opt/module/doris/fe/bin/stop_fe.sh "
done
for host in hadoop102 hadoop103 hadoop104 ; do
echo "========== 在 $host 上停止 be ========="
ssh $host "source /etc/profile; /opt/module/doris/be/bin/stop_be.sh "
done
;;
*)
echo "你启动的姿势不对"
echo " start 启动doris集群"
echo " stop 停止stop集群"
;;
esac

hadoop102:7030/login


3.图形化


BE:backends

FE:frontends
