Doris集群搭建
1、虚拟机创建
创建三台centos7虚拟机,分别命名为hadoop102(192.168.10.102)、hadoop103(192.168.10.103)、hadoop104(192.168.10.104)。
2、虚拟机设置
2.1 关闭防火墙
查看状态
firewall-cmd --state
刷新
firewall-cmd --reload
启动/停止
systemctl start firewalld.service
systemctl stop firewalld.service
启用/禁止 开机启动
systemctl enable firewalld.service
systemctl disable firewalld.service
2.2 新建一个普通用户
新建用户
adduser doris
设置密码
passwd doris
sudo
权限
方式1
usermod -aG wheel doris
方式2
修改/etc/sudoers文件,在%wheel这行下面添加一行
doris ALL=(ALL) NOPASSWD:ALL
2.3 时钟同步
使用ntpdate
使用如下命令检查是否安装,没有安装运行安装命令安装即可
rpm -q ntpdate
同步系统时间
公共NTP服务器
pool.ntp.org
time.google.com
time.windows.com
使用ntpdate
命令同步系统时间
sudo ntpdate pool.ntp.org
也可以选择阿里云时钟服务器
sudo ntpdate ntp.aliyun.com
硬件时间同步
将系统时间写入硬件时钟,以确保重启后时间仍然准确
sudo hwclock -w
设置时间同步定时任务
# 设置时间同步定时任务,每小时执行一次
(crontab -l 2>/dev/null; echo "0 * * * * /usr/sbin/ntpdate pool.ntp.org; /sbin/hwclock -w") | crontab -
2.4 免密登录
在每台机器上生成SSH密钥对
ssh-keygen -t rsa
将公钥复制到其他机器
以103为例
ssh-copy-id hadoop103
登录测试
ssh hadoop103
2.5 关闭SELinux
查看 SElinux 状态
getenforce
Enforcing表示开启,Permissive表示临时关闭,disabled表示永久关闭
临时关闭 SElinux
sudo setenforce 0
重启后失效
永久关闭 SElinux
sudo vi /etc/sysconfig/selinux
将SELINUX设置为disabled,重新启动。
2.6 关闭swap分区
临时关闭
sudo swapoff -a
2.7 调整文件句柄数和进程数限制
修改配置文件
sudo vi /etc/security/limits.conf
添加如下内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
覆盖特定的配置文件
sudo vi /etc/security/limits.d/20-nproc.conf
添加如下内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
检查生效
ulimit -a
2.8 虚拟内存区域限制
临时修改
sudo sysctl -w vm.max_map_count=2000000
重启失效
永久修改
sudo vi /etc/sysctl.conf
添加
vm.max_map_count=2000000
执行如下命令生效
sudo sysctl -p
检查是否生效
sysctl vm.max_map_count
2.9 临时禁用透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
分发、查看进程脚本和安装JDK,均参考尚硅谷即可。
3、Doris
3.1 下载安装
访问官网:Apache Doris - Download | Easily deploy Doris anywhere - Apache Doris
也可以点击Copy link复制下载链接,执行如下命令下载:
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.1.6-bin-x64.tar.gz
tar -zxvf apache-doris-2.1.6-bin-x64.tar.gz -C /opt/module/
mv apache-doris-2.1.6-bin-x64/ apache-doris
解压到了/opt/module目录下,改名为apache-doris,通过xsync脚本分发给hadoop103和hadoop104,并且都配置了环境变量。
vim /etc/profile.d/my_env.sh
里面有JDK的环境变量
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk-1.8.0
export PATH=$PATH:$JAVA_HOME/bin
# DORIS_HOME
export DORIS_HOME=/opt/module/apache-doris
export PATH=$PATH:$DORIS_HOME/be/bin
export PATH=$PATH:$DORIS_HOME/fe/bin
3.2 部署FE(Frontend)节点
3.2.1 hadoop102(Master FE)
创建元数据目录
mkdir -p /opt/module/data/doris-meta
把该目录分发给hadoop103和hadoop104
配置fe.conf
文件
cd /opt/module/apache-doris/fe/conf
vim fe.conf
端口选择了默认的端口 ,添加如下即可
meta_dir = /opt/module/data/doris-meta
priority_networks = 192.168.10.0/24
启动
/opt/module/apache-doris/fe/bin/start_fe.sh --daemon
3.2.2 hadoop103和hadoop104(Follower FE)
将hadoop102的fe分发给hadoop103和hadoop104即可,首次启动,需要使用--helper
参数指向Master FE。
/opt/module/apache-doris/fe/bin/start_fe.sh --helper 192.168.10.102:9010 --daemon
之后使用如下命令启动即可
/opt/module/apache-doris/fe/bin/start_fe.sh --daemon
3.2.3 在Master FE上添加Follower
我的MySQL是安装在本地的,打开命令提示符,无密登录
mysql -h hadoop102 -P 9030 -u root
或者通过navicat连接
执行如下语句
ALTER SYSTEM ADD FOLLOWER "192.168.10.103:9010";
ALTER SYSTEM ADD FOLLOWER "192.168.10.104:9010";
3.2.4 访问FE的UI界面
http://192.168.10.102:8030
3.3 部署BE(Backend)节点
3.3.1 hadoop102、hadoop103 和 hadoop104 上的 BE 配置
目录创建
每台机器的 /opt/module/data/
目录下创建了对应的 be_data102(103、104)
子目录,BE节点使用这些目录来存储数据
配置be.conf
文件
对于每台机器,需要编辑 be.conf
文件以指定storage_root_path
。
对于 hadoop102:
cd /opt/module/apache-doris/be/conf
vim be.conf
storage_root_path=/opt/module/data/be_data102
对于 hadoop103:
cd /opt/module/apache-doris/be/conf
vim be.conf
storage_root_path=/opt/module/data/be_data103
对于 hadoop104:
cd /opt/module/apache-doris/be/conf
vim be.conf
storage_root_path=/opt/module/data/be_data104
确保每台机器的 priority_networks
配置项保持不变
priority_networks = 192.168.10.0/24
3.3.2 配置权限
确保 Doris 运行的用户(通常是 doris
或者部署 Doris 的用户)有权限读写这些新目录。
chown -R doris:doris /opt/module/data/be_data102
chown -R doris:doris /opt/module/data/be_data103
chown -R doris:doris /opt/module/data/be_data104
3.3.3 每台启动BE
/opt/module/apache-doris/be/bin/start_be.sh --daemon
验证配置
可以通过访问 BE 的 Web 界面 http://<BE_IP>:8040/varz
来查看当前配置项,确保 storage_root_path
已经正确设置为对应的 be_data
目录
3.3.4 在 Master FE 上添加 BE 节点
确保在 Master FE 上添加了所有 BE 节点
ALTER SYSTEM ADD BACKEND "192.168.10.102:9050";
ALTER SYSTEM ADD BACKEND "192.168.10.103:9050";
ALTER SYSTEM ADD BACKEND "192.168.10.104:9050";
3.3.5 访问BE的UI界面
http://192.168.10.102:8040
4、验证集群状态
SHOW FRONTENDS;
SHOW BACKENDS;