分布式数据库Apache Doris HA集群部署
  kTjOeGrHH60d 2023年12月04日 69 0


📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️


文章目录

  • 前言
  • 📣 1.部署环境
  • ✨ 1.1 架构规划
  • ✨ 1.2 集群规划
  • ✨ 1.3 网络需求
  • 📣 2.前期准备
  • ✨ 2.1 系统文件限制
  • ✨ 2.2 关闭交换内存
  • ✨ 2.3 内核修改
  • ✨ 2.4 时间同步
  • ✨ 2.5 java环境
  • ✨ 2.6 防火墙关闭
  • ✨ 2.7 host配置
  • 📣 3.配置Doris集群
  • ✨ 3.1 配置FE
  • ✨ 3.2 OBSERVER配置
  • ✨ 3.3 配置BE
  • 📣 4.加入BE和OBSERVER


前言


Apache Doris实在火的不得了,基于开源的这个分布式数据库HA集群,我们开启体验之旅。


📣 1.部署环境

✨ 1.1 架构规划

Doris 作为一款开源的 MPP 架构 OLAP 数据库,能够运行在绝大多数主流的商用服务器上。为了能够充分运用 MPP 架构的并发优势,以及 Doris 的高可用特性,按照以下架构。
Frontend(FE),主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。
Backend(BE),主要负责数据存储、查询计划的执行

分布式数据库Apache Doris HA集群部署_数据库

✨ 1.2 集群规划

分布式数据库Apache Doris HA集群部署_JAVA_02

✨ 1.3 网络需求

Doris 各个实例直接通过网络进行通讯,以下表格展示了所有需要的端口
注意:
当部署多个 FE 实例时,要保证 FE 的 http_port 配置相同。
部署前请确保各个端口在应有方向上的访问权限。

分布式数据库Apache Doris HA集群部署_数据库_03

📣 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    -   64    0    0.000    0.000   0.000
 119.28.206.193  .INIT.          16 u    -   64    0    0.000    0.000   0.000
 110.42.98.138   .INIT.          16 u    -   64    0    0.000    0.000   0.000
 a.chl.la        .INIT.          16 u    -   64    0    0.000    0.000   0.000

✨ 2.5 java环境

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序
docker cp /opt/jdk-8u391-linux-x64.tar.gz frontend01:/opt

1.下载Linux环境下的jdk1.8
https://www.oracle.com/java/technologies/downloads/#java8

2.JDK压缩包解压
tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local

3.环境变量导入
vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

##环境变量生效
source /etc/profile

##确认安装是否成功
java -version

[root@frontend01 ~]# java -version
java 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


#配置FE
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.20/24" >> /doris/soft/apache-doris-2.0.2-bin-x64/fe/conf/fe.conf

# 配置环境变量
vi /etc/profile
#添加如下内容
export DORIS_HOME=/doris/soft/apache-doris-2.0.2-bin-x64
export PATH=$PATH:$DORIS_HOME/fe/bin

source /etc/profile

#启动fe
start_fe.sh --daemon

#关闭fe
stop_fe.sh

分布式数据库Apache Doris HA集群部署_apache_04

✨ 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
#添加如下内容
export DORIS_HOME=/doris/soft/apache-doris-2.0.2-bin-x64
export PATH=$PATH:$DORIS_HOME/fe/bin

source /etc/profile

#启动fe
bash start_fe.sh --helper 172.18.12.20:9010 --daemon

分布式数据库Apache Doris HA集群部署_原力计划_05

✨ 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


#配置BE

echo "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
#添加如下内容
export DORIS_HOME=/doris/soft/apache-doris-2.0.2-bin-x64
export PATH=$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;

分布式数据库Apache Doris HA集群部署_原力计划_06


分布式数据库Apache Doris HA集群部署_apache_07


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月04日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   53   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   107   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
kTjOeGrHH60d