Apache Doris 2.0 版本 FQDN 使用介绍

在介绍这个之前,我们知道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,然后我们重新启动集群在看看

 

Apache Doris 2.0 版本 FQDN 使用介绍_第1张图片

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

Apache Doris 2.0 版本 FQDN 使用介绍_第2张图片

注意:

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

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

Apache Doris 2.0 版本 FQDN 使用介绍_第3张图片

 

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 ""

 

你可能感兴趣的:(doris)