📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
文章目录
前言
Apache Doris实在火的不得了,基于开源的这个分布式数据库HA集群,我们开启体验之旅。
📣 1.部署环境
✨ 1.1 架构规划
Doris 作为一款开源的 MPP 架构 OLAP 数据库,能够运行在绝大多数主流的商用服务器上。为了能够充分运用 MPP 架构的并发优势,以及 Doris 的高可用特性,按照以下架构。
Frontend(FE),主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。
Backend(BE),主要负责数据存储、查询计划的执行
✨ 1.2 集群规划
✨ 1.3 网络需求
Doris 各个实例直接通过网络进行通讯,以下表格展示了所有需要的端口
注意:
当部署多个 FE 实例时,要保证 FE 的 http_port 配置相同。
部署前请确保各个端口在应有方向上的访问权限。
📣 2.前期准备
✨ 2.1 系统文件限制
修改 /etc/security/limits.conf, 执行命令:
echo “* soft nofile 204800” >> /etc/security/limits.conf
echo “* hard nofile 204800” >> /etc/security/limits.conf
echo “* soft nproc 204800” >> /etc/security/limits.conf
echo "* hard nproc 204800 " >> /etc/security/limits.conf
✨ 2.2 关闭交换内存
[root@centos79 ~]# swapoff -a
[root@centos79 ~]# cat /etc/fstab
注释加载swap分区的那行记录
[root@centos79 ~]# free -h
total used free shared buff/cache available
Mem: 3.7G 1.1G 1.5G 81M 1.1G 2.3G
Swap: 0B 0B 0B
✨ 2.3 内核修改
修改 /etc/sysctl.conf, 执行命令:
echo fs.file-max = 6553560 >> /etc/sysctl.conf
echo vm.max_map_count=2000000 >> /etc/sysctl.conf
sysctl -p
✨ 2.4 时间同步
[root@frontend01 /]# yum install -y ntp[root@frontend01 /]# systemctl start ntpd[root@frontend01 /]# systemctl enable ntpd[root@frontend01 /]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
makaki.miuku.ne .INIT. 16 u - 6400.0000.0000.000119.28.206.193 .INIT. 16 u - 6400.0000.0000.000110.42.98.138 .INIT. 16 u - 6400.0000.0000.000
a.chl.la .INIT. 16 u - 6400.0000.0000.000
✨ 2.5 java环境
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序
dockercp /opt/jdk-8u391-linux-x64.tar.gz frontend01:/opt
1.下载Linux环境下的jdk1.8
https://www.oracle.com/java/technologies/downloads/#java82.JDK压缩包解压
tar-zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local
3.环境变量导入
vi /etc/profile
exportJAVA_HOME=/usr/local/jdk1.8.0_391
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexportJAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
exportPATH=$PATH:${JAVA_PATH}##环境变量生效source /etc/profile
##确认安装是否成功java-version[root@frontend01 ~]# java -versionjava version "1.8.0_391"
Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot(TM)64-Bit Server VM (build 25.391-b13, mixed mode)
✨ 2.6 防火墙关闭
systemctl stop firewalld
systemctl disalbe firewalld
[root@centos79 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
✨ 2.7 host配置
vi /etc/hosts
172.18.12.20 frontend01
172.18.12.21 frontend02
172.18.12.22 frontend03
172.18.12.23 frontend04
172.18.12.24 backend01
172.18.12.25 backend02
172.18.12.26 backend03
172.18.12.27 backend04
📣 3.配置Doris集群
✨ 3.1 配置FE
进入到 apache-doris 解压后的fe进行配置
mkdir-p /doris/soft/
tar xf /opt/apache-doris-2.0.2-bin-x64.tar.gz -C /doris/soft/
#创建 fe 元数据存储的目录mkdir-p /doris/doris-meta
#配置FEecho"meta_dir=/doris/doris-meta">> /doris/soft/apache-doris-2.0.2-bin-x64/fe/conf/fe.conf
echo"priority_networks=172.18.12.20/24">> /doris/soft/apache-doris-2.0.2-bin-x64/fe/conf/fe.conf
# 配置环境变量vi /etc/profile
#添加如下内容exportDORIS_HOME=/doris/soft/apache-doris-2.0.2-bin-x64
exportPATH=$PATH:$DORIS_HOME/fe/bin
source /etc/profile
#启动fe
start_fe.sh --daemon#关闭fe
stop_fe.sh
✨ 3.2 OBSERVER配置
#配置FE OBSERVER从节点mkdir-p /doris/soft/
tar xf /opt/apache-doris-2.0.2-bin-x64.tar.gz -C /doris/soft/
echo"meta_dir=/doris/doris-meta">> /doris/soft/apache-doris-2.0.2-bin-x64/fe/conf/fe.conf
echo"priority_networks=172.18.12.23/24">> /doris/soft/apache-doris-2.0.2-bin-x64/fe/conf/fe.conf
# 配置环境变量vi /etc/profile
#添加如下内容exportDORIS_HOME=/doris/soft/apache-doris-2.0.2-bin-x64
exportPATH=$PATH:$DORIS_HOME/fe/bin
source /etc/profile
#启动febash start_fe.sh --helper172.18.12.20:9010 --daemon
✨ 3.3 配置BE
在所有BE节点上配置
进入到 apache-doris 解压后的be进行配置
mkdir-p /doris/soft/
tar xf /opt/apache-doris-2.0.2-bin-x64.tar.gz -C /doris/soft/
#创建be存储数据的目录mkdir-p /doris/doris-storage
#配置BEecho"storage_root_path=/doris/doris-storage">> /doris/soft/apache-doris-2.0.2-bin-x64/be/conf/be.conf
echo"priority_networks=172.18.12.24/24">> /doris/soft/apache-doris-2.0.2-bin-x64/be/conf/be.conf
# 配置环境变量vi /etc/profile
#添加如下内容exportDORIS_HOME=/doris/soft/apache-doris-2.0.2-bin-x64
exportPATH=$PATH:$DORIS_HOME/be/bin
source /etc/profile
#启动be
start_be.sh --daemon
📣 4.加入BE和OBSERVER
登录frontend01主节点leader
数据库添加新节点OBSERVER
[root@centos79 ~]# docker exec -it frontend01 bash
[root@frontend01 ~]# mysql -uroot -P9030 -h127.0.0.1
MySQL [(none)]> alter system add observer “172.18.12.23:9010”;
MySQL [(none)]> SHOW observer;
登录frontend01主节点leader
数据库添加新节点BACKENDS
mysql -h127.0.0.1 -P9030 -uroot -pAa123456
MySQL [(none)]> alter system add BACKEND “172.18.12.24:9050”;
MySQL [(none)]> SHOW BACKENDS;
版权归原作者 IT邦德 所有, 如有侵权,请联系我们删除。