部署具有高可用(HA)的openLooKeng

openLooKeng HA解决协调节点单点故障问题。用户可以在任何协调节点上提交查询,以平衡工作负载。

安装HA

安装具有HA的openLooKeng要求集群中至少有2个协调节点。请确保协调节点上的时间一致性。请按照手动部署openLooKeng自动部署openLooKeng进行基本设置。

配置HA

当前状态存储被用于HA和动态过滤功能特性。

配置协调节点和工作节点属性

在所有协调节点上的etc/config.properties中添加如下配置。

hetu.multiple-coordinator.enabled=true
hetu.embedded-state-store.enabled=true

在所有工作节点上的etc/config.properties中添加如下配置。

hetu.multiple-coordinator.enabled=true

上述属性说明如下:

  • hetu.multiple-coordinator.enabled: 启用多个协调节点。
  • hetu.embedded-state-store.enabled: 协调节点启用嵌入式状态存储。

说明:建议在所有协调节点(或至少3个)上启用嵌入式状态存储,以确保节点/网络关闭时,服务可以保持高可用性。

配置状态存储区

关于配置状态存储, 请参考状态存储

HA及反向代理

要尽可能的显示HA的优势,建议客户端(例如openLooKeng CLI, JDBC等)不直接连接特定的协调节点,而是通过反向代理连接多个协调节点,例如使用负载平衡器或者Kubernetes服务,这样即使某个协调节点无法正常工作,客户端也可以继续使用其它的协调节点。

反向代理要求

通过反向代理连接时,要求客户端在执行语句查询期间连接到同一协调器,确保在语句查询运行时客户端和协调器之间保持恒定心跳。这可以通过配置反向代理实现,例如Nginx的ip_hash

配置反向代理 (Nginx)

请在Nginx配置文件中包含以下配置(nginx.conf)。

http {
    ...  # 用户自定义配置
    upstream backend {
        ip_hash;
        server <coordinator1_ip>:<coordinator1_port>;
        server <coordinator2_ip>:<coordinator2_port>;
        server <coordinator3_ip>:<coordinator3_port>;
        ...
    }

    server {
        ... # 用户自定义配置
        location / {
            proxy_pass http://backend;
            proxy_set_header Host <nginx_ip>:<nginx_port>;
        }
    }
}

有奖捉虫

“有虫”文档片段

0/500

存在的问题

文档存在风险与错误

● 拼写,格式,无效链接等错误;

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 版本号不匹配:文档版本或内容描述和实际软件不一致;

● 对重要数据或系统存在风险的操作,缺少安全提示;

● 排版不美观,影响阅读;

内容描述不清晰

● 描述存在歧义;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

内容获取有困难

● 很难通过搜索引擎,openLooKeng官网,相关博客找到所需内容;

示例代码错误

● 命令、命令参数等错误;

● 命令无法执行或无法完成对应功能;

内容有缺失

● 关键步骤错误或缺失,无法指导用户完成任务,比如安装、配置、部署等;

● 逻辑不清晰,该分类、分项、分步骤的没有给出

● 图形、表格、文字等晦涩难懂

● 缺少必要的前提条件、注意事项等;

● 描述存在歧义

0/500

您对文档的总体满意度

非常不满意
非常满意

请问是什么原因让您参与到这个问题中

您的邮箱

创Issue赢奖品
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
有奖捉虫