apache-doris-3.0.1-bin-x64.tar.gz,jdk-17_linux-x64_bin.tar.gz(jdk-17.0.12)。

准备4台服务器,1台FE,3台BE。

采用阿里云的ECS云服务器。RockyLinx9.4服务器系统。

IP

安装doris类别

172.25.93.153

FE

172.25.93.154

BE(be1)

172.25.93.155

BE(be2)

172.25.93.156

BE(be3)

oris默认的端口规划

Doris3.0.1安装_mysql

Doris3.0.1安装_mysql_02

因为安装的是doris3.0以上的版本,所有需要安装jdk-17.0.10以上,这里使用jdk-17.0.12。

Doris 的所有进程都依赖 Java。

在 2.1(含)版本之前,请使用 Java 8,推荐版本:openjdk-8u352-b08-linux-x64

从 3.0(含)版本之后,请使用 Java 17,推荐版本:jdk-17.0.10_linux-x64_bin.tar.gz

同时还需要avx2指令支持。

cat /proc/cpuinfo | grep avx2

    安装epel-release源

    yum install epel-release -y
    yum install lrzsz -y

    一、安装jdk-17.0.12

    jdk-17_linux-x64_bin.tar.gz

    tar -xvzf jdk-17_linux-x64_bin.tar.gz
    mv jdk-17.0.12/ /usr/local/

    vim /etc/profile

    JAVA_HOME=/usr/local/jdk-17.0.12
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
    export JAVA_HOME
    export PATH
    export CLASSPATH

    source /etc/profile

    java -version

    # java -version
    java version "17.0.12" 2024-07-16 LTS
    Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
    Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)

    Doris3.0.1安装_java_03

    二、关闭系统防火墙

    如果发现端口不同,可以试着关闭防火墙,确认是否是本机防火墙造成。如果是防火墙造成,可以根据配置的 Doris 各组件端口打开相应的端口通信。

    systemctl stop firewalld.service
    systemctl disable firewalld.service

    三、安装ntpd

    因为使用了阿里云ECS云服务器,所有没有必要安装ntpd。

    Doris 的元数据要求时间精度要小于 5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。

    通常情况下,可以通过配置 NTP 服务保证各节点时钟同步。

    systemctl start ntpd.service
    systemctl enable ntpd.service

    Chrony 也可以。

    四、关闭 swap 分区

    在部署 Doris 时,建议关闭 swap 分区。swap 分区是内核发现内存紧张时,会按照自己的策略将部分内存数据移动到配置的 swap 分区,由于内核策略不能充分了解应用的行为,会对数据库性能造成较大影响。所以建议关闭。

    通过以下命令可以临时或者永久关闭。

    临时关闭,下次机器启动时,swap 还会被打开。

    swapoff -a

      永久关闭,使用 Linux root 账户,注释掉 /etc/fstab 中的 swap 分区,然后重启即可彻底关闭 swap 分区。

      # /etc/fstab
      # <file system>        <dir>         <type>    <options>             <dump> <pass>
      tmpfs                  /tmp          tmpfs     nodev,nosuid          0      0
      /dev/sda1              /             ext4      defaults,noatime      0      1
      # /dev/sda2              none          swap      defaults              0      0
      /dev/sda3              /home         ext4      defaults,noatime      0      2

      五、设置系统最大打开文件句柄数

      Doris 由于依赖大量文件来管理表数据,所以需要将系统对程序打开文件数的限制调高。

      vi /etc/security/limits.conf 
      * soft nofile 1000000
      * hard nofile 1000000

      六、修改虚拟内存区域数量为

      修改虚拟内存区域至少 2000000

      sysctl -w vm.max_map_count=2000000

        七、关闭透明大页

        在部署 Doris 时,建议关闭透明大页。

        echo never > /sys/kernel/mm/transparent_hugepage/enabled
        echo never > /sys/kernel/mm/transparent_hugepage/defrag

        八、磁盘扩容(正常情况忽略)

        #fdisk -l

          Doris3.0.1安装_apache_04

          #fdisk /dev/vdb

            Doris3.0.1安装_apache_05

            Doris3.0.1安装_apache_06

            #fdisk -l

              Doris3.0.1安装_apache_07

              #mkfs.xfs /dev/vdb1

                Doris3.0.1安装_java_08

                #ls /dev/disk/by-uuid/ -l

                  Doris3.0.1安装_mysql_09

                  #cat /etc/fstab

                    Doris3.0.1安装_mysql_10

                    #vim /etc/fstab

                    Doris3.0.1安装_java_11

                    #mount -a 
                    #df -h

                    Doris3.0.1安装_mysql_12

                    十、安装FE(1台机器)

                    因为doris需要使用mysql客户端访问。我们先安装客户端。

                    rpm -qa |grep mysql
                    yum list |grep mysql
                    yum install mysql

                    Doris3.0.1安装_java_13

                    Doris3.0.1安装_mysql_14

                    安装FE

                    wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-3.0.1-bin-x64.tar.gz
                    tar -xvzf apache-doris-3.0.1-bin-x64.tar.gz
                    cd apache-doris-3.0.1-bin-x64/
                    cd fe

                    Doris3.0.1安装_java_15

                    配置fe的配置文件

                    vim conf/fe.conf

                    Doris3.0.1安装_java_16

                    主要设置java_home,这个可以忽略。因为前面已经在系统设置了java_home。这里添加也可以。

                    还有一个设置是priority_networks = 172.25.93.0/24 。

                    启动FE

                    FE目录下启动(/root/apache-doris-3.0.1-bin-x64/fe)

                    bin/start_fe.sh --daemon

                    Doris3.0.1安装_mysql_17

                    mysql连接到FE

                    mysql -uroot -P9030 -h172.25.93.153
                    show databases;
                    show frontends\G

                    Doris3.0.1安装_apache_18

                    集群FE,FE其他节点加入

                    在生产集群中,建议至少部署 3 个 Follower 节点。在部署过 FE Master 节点后,需要再部署两个 FE Follower 节点。

                    FE集群添加(可选)

                    ALTER SYSTEM ADD FOLLOWER "<fe_ip_address>:<fe_edit_log_port>"
                    ALTER SYSTEM ADD FOLLOWER "172.25.93.154:9010"
                    ALTER SYSTEM ADD FOLLOWER "172.25.93.155:9010"

                    创建元数据目录

                    参考部署 FE Master 节点,创建 doris-meta 目录

                    修改 FE Follower 节点配置文件

                    参考部署 FE Master 节点,修改 FE 配置文件。通常情况下,可以直接复制 FE Master 节点的配置文件。

                    在 Doris 集群中注册新的 FE Follower 节点

                    在启动新的 FE 节点前,需要先在 FE 集群中注册新的 FE 节点。

                    ## 链接任一存活的 FE 节点
                    mysql -uroot -P<fe_query_port> -h<fe_ip_address>
                    
                    ## 注册 FE Follower 节点
                    ## fe_edit_log_port 可以从 fe.conf 中查看,默认为 9010
                    ## 在 MySQL Client 中执行 ALTER SYSTEM 语句
                    ALTER SYSTEM ADD FOLLOWER "<fe_ip_address>:<fe_edit_log_port>"

                    如果要添加 observer 节点,可以使用 ADD OBSERVER 命令

                    ## 注册 FE observer 节点,在 MySQL Client 中执行 ALTER SYSTEM 语句
                    ALTER SYSTEM ADD OBSERVER "<fe_ip_address>:<fe_edit_log_port>"

                    注意

                    1. FE Follower(包括 Master)节点的数量建议为奇数,建议部署 3 个组成高可用模式。
                    2. 当 FE 处于高可用部署时(1 个 Master,2 个 Follower),我们建议通过增加 Observer FE 来扩展 FE 的读服务能力
                    3. 通常一个 FE 节点可以应对 10-20 台 BE 节点。建议总的 FE 节点数量在 10 个以下

                    启动 FE Follower 节点

                    通过以下命令,可以启动 FE Follower 节点,并自动同步元数据。

                    bin/start_fe.sh --helper <helper_fe_ip>:<fe_edit_log_port> --daemon

                      其中,helper_fe_ip 为当前 FE 集群中任一存活的节点。--heper 参数只应用于第一次启动 FE 时同步元数据,后续重启 FE 的操作不需要指定。

                      判断 follower 节点状态

                      与判断 FE master 节点状态的方式相同,添加注册 FE follower 节点后需要通过 show frontends 命令查看 FE 节点状态。与 Master 状态不同,IsMaster 的状态应为 false。

                      十一、安装BE(3台机器)

                      安装BE

                      wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-3.0.1-bin-x64.tar.gz
                      tar -xvzf apache-doris-3.0.1-bin-x64.tar.gz
                      cd apache-doris-3.0.1-bin-x64/
                      cd fe

                      Doris3.0.1安装_java_19

                      配置be的配置文件

                      vim conf/be.conf

                      Doris3.0.1安装_apache_20

                      1. 配置java_home;
                      2. 配置priority_networks = 172.25.93.0/24;
                      3. 配置storage_root_path = /opt/doris-data

                      启动BE

                      启动BE实例前,需要通过FE中去注册到BACKEDNS。

                      Doris3.0.1安装_java_21

                      查看BACKENDS

                      show backends \G
                      show backends;

                      Doris3.0.1安装_apache_22

                      启动BE1, BE2, BE3

                      BE目录下启动(/root/apache-doris-3.0.1-bin-x64/be)

                      bin/start_be.sh --daemon

                      Doris3.0.1安装_apache_23

                      再次查看BACKENDS

                      show backends \G
                      show backends;

                      Doris3.0.1安装_mysql_24

                      十二、修改对应账号密码(可忽略)

                      ## 确认当前用户为 root,在 MySQL Client 中查看当前用户

                      select user();
                      +------------------------+
                      | user()                 |
                      +------------------------+
                      | 'root'@'172.25.93.153' |
                      +------------------------+
                      1 row in set (0.04 sec)

                      Doris3.0.1安装_mysql_25

                      ## 修改 root 用户密码,在 MySQL Client 中执行 set password 命令

                      SET PASSWORD = PASSWORD('doris_new_passwd');

                      SET PASSWORD FOR 'root' = PASSWORD('your_password') `类似语句来修改 root 的密码

                      SET PASSWORD FOR 'admin' = PASSWORD('your_password') `类似语句来修改 admin 的密码

                      十三、启动doris的WEBUI。

                      访问: http://172.25.93.153:8030/

                      Doris3.0.1安装_java_26

                      Doris3.0.1安装_apache_27

                      Doris3.0.1安装_java_28

                      Doris3.0.1安装_mysql_29

                      Doris3.0.1安装_mysql_30

                      Logo

                      码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

                      更多推荐