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


哈喽!大家好,我是【IT邦德】,江湖人称jeames007,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张图片

✨ 1.2 集群规划

分布式数据库Apache Doris HA集群部署_第2张图片

✨ 1.3 网络需求

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

分布式数据库Apache Doris HA集群部署_第3张图片

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集群部署_第4张图片

✨ 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集群部署_第5张图片

✨ 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集群部署_第6张图片
分布式数据库Apache Doris HA集群部署_第7张图片

你可能感兴趣的:(数据库,CDH大数据平台,分布式,数据库,apache)