基于DorisManager的部署
一、离线包准备
doris-manager
doris-manager-24.3.1-x64-bin.tar.gz
下载地址:https://selectdb.com/download/enterprise#manager
apache-doris安装包
apache-doris-2.1.8.1-bin-x64.tar.gz
下载地址:https://doris.apache.org/zh-CN/download
二、 部署 Doris Manager Web 服务
1.1 手工部署 Doris Manager Web 服务组件(推荐部署在fe节点上)
# 1. 解压
tar -zvxf doris-manager-24.3.1-x64-bin.tar.gz -C /opt/software
cd /opt/software
mv doris-manager-24.3.1-x64-bin doris-manager
# 2. 修改配置文件
vim /opt/software/doris-manager/webserver/conf/manager.conf
WEBUI_JAVA_OPTS=-Xmx4096m -Xms4096m
# 3. Doirs manager 信息保存在MySQL中
DB_TYPE=mysql
DB_HOST=数据库ip #建议与神兵的mysql共用一个
DB_PORT=3306
DB_DBNAME=doris_manager
DB_USER=flowai
DB_PASS=Flowai@2023
# 4. 启动
cd /opt/software/doris-manager/webserver
bash bin/start.sh
# 5. 登录验证:
http://{节点IP}:8004
1.2 通过 Web 服务自动部署服务组件
1.2.1 初始化 Doris Manager 管理员账户
第一次访问 Web 服务,进入初始化用户页面,创建第一个 Doris Manager 管理员用户
# 创建用户密码
admin/admin@2024
1.2.2 配置服务组件部署信息
创建 Doris Manager 管理员用户后,点击下一步进入服务组件配置页面,填写配置信息。如图,将其中4处进行修改
#1.Grafana端口:
将端口由3000改为3001,防止当前端口与其他服务的Grafana冲突
#2.Propetheus端口:
将端口由9090改为9091,防止当前端口与其他服务的Protheus冲突
#3.邮件告警:
关闭邮件告警
#4.Doris 本地安装包路:
/opt/software/doris_pkg/doris
#5.Doris Manager本地安装包路:
/opt/software/doris_pkg/doris_manager
配置完成后,其中安装包配置路径中要求目录存在且有访问权限:
# 登录manager部署节点
mkdir -p /opt/software/doris_pkg/doris
mkdir -p /opt/software/doris_pkg/doris_manager
# 将doris安装包添加到部署节点中(部署几个节点,就要添加到对应的节点上)
cp apache-doris-2.1.8.1-bin-x64.tar.gz /opt/software/doris_pkg/doris/
上述完成后,点击 启动 Doris Manager,提示正在启动 Doris Manager。启动成功后,提示用户进入 Doris Manager
三、部署 Doris Manager Agent
1.1 安装Agent
将需要安装Doris服务的节点或包含Doris服务的节点(fe节点和be节点)添加Agent:
# 1. 各节点(包括manager web节点,如果该节点也需要添加doris服务)基于manager web节点下载agent(配置几个节点,就要在几个节点上进行以下操作)
wget http://{WEB节点IP}:8004/api/download/manager-agent-24.3.1-x64-bin.tar.gz ###或用已提供的包复制到对应的节点设备上
# 2. 解压
tar -xvf manager-agent-24.3.1-x64-bin.tar.gz -C /opt/software
cd /opt/software
mv manager-agent-24.3.1-x64-bin manager-agent
# 3. 启动
cd manager-agent
bash bin/start.sh
1.2 配置系统环境
在各个节点(主要是要部署be的节点,但fe节点也建议一并配置)上执行以下命令:
# 1. 设置系统最大打开文件句柄数
grep 'soft nofile' /etc/security/limits.conf || echo '* soft nofile 600000' | sudo tee -a /etc/security/limits.conf
grep 'hard nofile' /etc/security/limits.conf || echo '* hard nofile 600000' | sudo tee -a /etc/security/limits.conf
sudo sysctl -p
# 2. 关闭交换内存
swapoff -a
sudo sed -i 's/^UUID=.*swap.*/#&/' /etc/fstab
# 3. 虚拟内存增大
-- 临时方法
sudo sysctl -w vm.max_map_count=2000000
# 4. 临时关闭透明大页面
echo madvise | sudo tee -a /sys/kernel/mm/transparent_hugepage/enabled
# 5. 编辑下述文件,永久生效,需重启机器
vim /etc/default/grub
# 6. 找到GRUB_CMDLINE_LINUX 字段所在一行,在末尾添加 transparent_hugepage=madvise
GRUB_CMDLINE_LINUX="...其他参数... transparent_hugepage=madvise"
##7. 执行下面命令##或者执行:(grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg)
grub2-mkconfig -o /boot/grub2/grub.cfg
# 8.
sudo vim /etc/sysctl.conf
vm.swappiness = 0
vm.overcommit_memory = 1
net.ipv4.tcp_abort_on_overflow = 1
net.core.somaxconn = 1024
vm.max_map_count=2000000
sudo sysctl -p
# 9.
sudo swapoff -a
#10. 执行完以上命令后需要重启设备
reboot
四、创建Doris集群
如果为首次部署Doris,那就创建Doris集群,否则就是接管Doris集群
1.1 部署集群
##1.环境配置
a.集群名称:flowai4_cluster
b.部署版本:下拉选择对应doris版本
c.数据库root用户密码:123456Doris_
##2.主机注册
a.通过IP添加对应节点,可单个添加,也可批量添加
b.如果Agent检查状态失败,则回到第二节重新部署对应节点的Agent
##3.FE配置(以下配置需修改,其他默认即可)
a.可选择多个FE节点,建议选多个FOLLOWER(raft协议,自动选主),如果节点够多,至少一个OBSERVER
b. 端口:
HTTPPort: 8031
QueryPort: 9030(默认)
RPCPort: 9020(默认)
EditlogPort: 9010(默认)
c.目录:
部署目录:/opt/software/apache-doris
##4.BE配置(以下配置需修改,其他默认即可)
a.可选择多个BE节点
b. 端口:
BEPort: 9060(默认)
WebserverPort: 8041
HeartbeatPort: 9051
BRPCPort: 8060(默认)
c.目录:
部署目录:/opt/software/apache-doris
#数据存储目录:根据data的磁盘情况,添加多块磁盘:/data/data/doris(保证每个磁盘权限)
sudo mkdir -p /data/data1/doris && sudo chown -R work:work /data/data1/doris
d.可能提示机器未关闭透明大页面,根据临时方案关闭即可。
##5.其他配置
a.开启自动拉起
b.勾选:表名大小写敏感
上述配置完成,点击部署集群即可。此时等待完成。
如果fe有一个节点启动异常需要重启时,需要在对应的节点设备上执行rm -rf fe_meta/*
注意:三台设备的时间要一致
1.2 初始化服务配置
集群部署成功后,选择进入集群,此时可首页直接跳转到对应集群的总览页面。
访问地址为 http://{DorisManagerHost}:8004
如图点击右侧三个点 → 参数配置:
勾选所有FE节点,编辑FE参数,在末尾添加以下信息,编辑完成后滚动重启即可:
# 修改gc log的格式及保留文件大小和个数
JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx16384m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:$LOG_DIR/fe.gc.log -Dlog4j2.formatMsgNoLookups=true -XX:GCLogFileSize=100M -XX:NumberOfGCLogFiles=10 -XX:+UseGCLogFileRotation"
##注意:上面是一行,不能分行
thrift_server_max_worker_threads = 16384
remote_fragment_exec_timeout_ms = 300000
enable_outfile_to_local = true
max_running_txn_num_per_db = 50000
stream_load_default_timeout_second = 43200
expr_children_limit = 20000
# fe及审计日志大小100m,超过该值就会自动切分,最多保留10个文件。
log_roll_size_mb = 100
# 审计日志默认保留90个文件,而不是10
audit_log_roll_num = 10
# 审计日志默认保留30d
audit_log_delete_age = 1d
sys_log_delete_age = 1d
勾选所有BE节点,编辑BE配置,在末尾添加一下信息,编辑完成后滚动重启即可:
be_service_threads=256
sys_log_roll_num=50
thrift_connect_timeout_seconds=60
fragment_pool_thread_num_max=4096
fragment_pool_queue_size=8192
# string类型字符串大小最大2G,默认1M,调大到10M,太大影响性能
string_type_length_soft_limit_bytes=10485760
qe_max_connection=5000
五、 Doris集群BE扩容
1、设备环境准备
1.1新设备的磁盘和内存,最好与已部署节点的保持一致
2、新设备的agent服务安装与启动(通过下载脚本自动化完成)
wget http://192.168.1.181:8004/api/download/deploy.sh -O deploy_agent.sh && chmod +x deploy_agent.sh && ./deploy_agent.sh
##其中192.168.1.181是doris manager的ip。
3、如果上面的可以执行,请忽略下面的内容。如果通过上面的方式无法下载,请通过下面的流程执行
在之前部署过的设备上把manager-agent-24.3.1-x64-bin.tar.gz复制到新设备上
##1、解压
tar -xvf manager-agent-24.3.1-x64-bin.tar.gz -C /opt/software
cd /opt/software
mv manager-agent-24.3.1-x64-bin manager-agent
##2、启动
cd manager-agent
bash bin/start.sh
4、doris安装包导入到指定目录下
##1 创建对应路径
mkdir -p /opt/software/doris_pkg/doris
##2 doris包导入上面路径
cp apache-doris-2.1.8.1-bin-x64.tar.gz /opt/software/doris_pkg/doris/
5、配置系统环境
# 1. 设置系统最大打开文件句柄数
grep 'soft nofile' /etc/security/limits.conf || echo '* soft nofile 600000' | sudo tee -a /etc/security/limits.conf
grep 'hard nofile' /etc/security/limits.conf || echo '* hard nofile 600000' | sudo tee -a /etc/security/limits.conf
sudo sysctl -p
# 2. 关闭交换内存
swapoff -a
sudo sed -i 's/^UUID=.*swap.*/#&/' /etc/fstab
# 3. 虚拟内存增大
-- 临时方法
sudo sysctl -w vm.max_map_count=2000000
# 4. 临时关闭透明大页面
echo madvise | sudo tee -a /sys/kernel/mm/transparent_hugepage/enabled
# 5. 编辑下述文件,永久生效,需重启机器
vim /etc/default/grub
# 6. 找到GRUB_CMDLINE_LINUX 字段所在一行,在末尾添加 transparent_hugepage=madvise
GRUB_CMDLINE_LINUX="...其他参数... transparent_hugepage=madvise"
##7. 执行##或者执行:(grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg)
grub2-mkconfig -o /boot/grub2/grub.cfg
# 8.
sudo vim /etc/sysctl.conf
vm.swappiness = 0
vm.overcommit_memory = 1
net.ipv4.tcp_abort_on_overflow = 1
net.core.somaxconn = 1024
vm.max_map_count=2000000
sudo sysctl -p
# 9.
sudo swapoff -a
#10. 执行完以上命令后需要重启设备
reboot
6、在doris-manager中进行扩容
6.1选择FE扩容或者BE扩容
6.2 点击添加节点
6.3 选择添加新增的主机
6.4 查看配置信息(要与已部署的节点配置一致)
6.5 点击确认按钮,进行扩容
6.6 检查是否扩容成功(数据存储目录是否会有数据写入)
cd /data/data1/
du -sh