• 【无标题】


    在介绍这个之前,我们知道Doris 之前是不支持主机名称方式,只能使用 IP 地址,在实际使用中,有的用户因为网络重构或者设备迁移产生了IP地址变更,这个就会引发Doris集群数据不可用。如果我们能通过主机名称,那么就可以避免因为IP地址变更引发的集群不可用数据丢失的问题。

    Doris 从 2.0 版本引入的 FQDN的能力,来解决之前的 IP地址不能变更的问题。

    本文介绍如何启用基于 FQDN(Fully Qualified Domain Name,完全限定域名 )使用 Apache Doris。FQDN 是 Internet 上特定计算机或主机的完整域名。

    Doris 支持 FQDN 之后,各节点之间通信完全基于 FQDN。添加各类节点时应直接指定 FQDN,例如添加 BE 节点的命令为ALTER SYSTEM ADD BACKEND "be_host:heartbeat_service_port"

    "be_host" 此前是 BE 节点的 IP,启动 FQDN 后,be_host 应指定 BE 节点的 FQDN。

    1. 使用前置条件

    1. Doris 版本一定是2.0 以上版本

    2. Doris 集群所有机器都必须配置主机名称

    3. 要在每台机器的hosts文件中配置 IP 和主机名称的映射关系,或者有全集的DNS服务器

    4. IP 地址不能有重复

    5. 在你的 fe.conf 文件中打开 FQDN 配置 : enable_fqdn_mode = true

    2. 新安装集群

    这里我以单机为例来演示,安装 Doris 可以具体参照 Doris 官方文档就行:快速开始 - Apache Doris

    2.1 修改hosts文件

    首先我们修改本地的 /etc/hosts 文件

    127.0.0.1 localhost::1       localhost192.168.31.54 zhangfeng

    我的主机名称是:zhangfeng,对应的 IP 地址是:192.168.31.54

    如果你是多个节点,这里将每个节点的 IP 地址和主机名称都要配置上,并且将这个文件复制到每个节点上的/etc/hosts文件里。

    如果你是DNS方式,请按照DNS的配置方式进行配置

    2.2 配置并启动 FE

    我们在 fe.conf 文件最后加上下面的内容

    enable_fqdn_mode = true

    然后启动 FE

    bin/start_fe.sh --daemon

    2.3 配置 BE 并启动

    BE 的配置和启动方式和之前一样,不需要特别的配置,这里使用 FQDN 不是意味着 be 不需要配置 priority_networks 了,这个还是要进行配置,注意的这里配置的 IP 还是要和你的 hosts 主机名称哪个地方的一致,例如我这里的配置

    priority_networks = 192.168.31.0/24

    配置好之后正常启动 BE 即可

    bin/start_be.sh

    2.4 构建集群

    使用 MySQL 命令行连接 FE

    mysql -uroot -P9030 -H127.0.0.1

    查看 FE 节点

    1938716aa4ae432e9ab35d23230dccf8.png

    这里可以看到 host 这里已经是主机名称,不在是之前 IP 地址

    添加 BE 节点

    alter system add backend "zhangfeng:9050";

    注意这里我使用的是主机名称不在是 IP

    查看BE节点

    4acafb79abea48589371e229cce6ed43.png

    这里也可以看到我这边 host 是主机名称而不是 IP

    这样集群就构建起来了,我们下面来验证一下我 IP 地址变成不是 192.168.31.54 的看看,会不会有影响。

    3. 验证IP地址变更

    我将 IP 地址从 54 变更成102,然后我们重新启动集群在看看

     

    06a29795d9f419ecc58d716177c688c5.png

    这里我将我的hosts文件中的 IP 地址修改成新的

    cde25885f0e846a48c3c6e95eb334dff.png

    注意:

    这里变更 IP 地址需要修改你所有节点的 hosts文件 或者你的 DNS配置

    然后重启之后我们在连接上去,可以看到,一切都是正常的

    c4c7db8b52f34d169309b29734c2c6c7.png

     

    4. 旧集群启用 FQDN

    1. 首先我们需要将旧的集群如果不是 2.0 版本的需要先升级到 2.0 以上版本

    2. FE 至少有三台follower才能进行如下操作,否则会造成集群无法正常启动

    操作步骤:

    1. 逐一对 Follower、Observer 节点进行以下操作(最后操作 Master 节点):

      1. 停止节点。

      2. 检查节点是否停止。通过 MySQL 客户端执行show frontends,查看该 FE 节点的 Alive 状态直至变为 false

      3. 为节点设置 FQDN: ALTER SYSTEM MODIFY FRONTEND ":" HOSTNAME ""(停掉master后,会选举出新的master节点,用新的master节点来执行sql语句)

      4. 修改节点配置。修改 FE 根目录中的conf/fe.conf文件,添加配置:enable_fqdn_mode = true

      5. 启动节点。

    2. BE 节点启用 FQDN 只需要通过 MySQL 执行以下命令,不需要对 BE 执行重启操作。

      ALTER SYSTEM MODIFY BACKEND ":" HOSTNAME ""

     

  • 相关阅读:
    【FreeRTOS】中断管理
    微擎模块 飞悦旅游小程序1.9.1完善后台平台信息,教育培训学校 1.4.3
    ARP协议详解
    Pandas
    [架构之路-237]:目标系统 - 纵向分层 - 网络通信 - DNS的递归查询和迭代查询
    使用Selenium的Python脚本实现自动登录
    【算法面试必刷Java版七】链表中环的入口结点
    C++常用面试题20231022
    设计模式之策略模式(一)
    MongoDB的安装
  • 原文地址:https://blog.csdn.net/hf200012/article/details/132844887