基于Ansible实现Apache Doris快速部署运维指南

简介: Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。

Apache Doris 介绍


Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。


Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工作更加简单高效!


Doris Ansible简介


Doris_ansible是基于ansible构建的Doris高可用集群轻量化自动运维工具,它能够在本地方便快捷的一键拉起Doris高可用集群,并且集群的启停、升降级、扩缩容都可以通过一条简单的命令来实现,使用户可以将注意力专注于Doris强大的分析能力,而不用在运维上面耗费心力。后续将会增加更多使用者关注的自动化功能。如监控、运维巡检等一系列功能。

Doris Ansible使用步骤


前置基础


1. 安装ansible


yum install -y ansible

2. 下载Doris_Ansible

git clone https://github.com/mklzl/doris_ansible

3. 集群规划(无需配置,仅作参考)


# fe
master : 192.168.1.241
follower1: 192.168.1.239
follower2: 192.168.2.243
# be
backend1: 192.168.1.239
backend2: 192.168.1.241
backend3: 192.168.1.243
# broker
broker1: 192.168.1.239
broker2: 192.168.1.241
broker3: 192.168.1.243
# 安装版本及软件包所在位置
/home/doris_ansible/PALO-0.15.1-rc09-binary.tar.gz
# 安装目录
/home/doris_ansible
# 升降级软件包所在路径
/home/doris_ansible/PALO-0.15.3-
release-binary.tar.gz

开始使用


1. 配置集群初始化配置


  • 分配集群角色hosts
    vi /etc/ansible/hosts(cluster1为对应Doris集群的集群id,这里可以部署多个不同的集群配置,启动时,指定对应的集群ID即可操作对应的集群)
## 集群cluster1中参与的机器ip
  [cluster1.doris_hosts]
  192.168.1.239
  192.168.1.241
  192.168.1.243
  ##集群cluster1中fe所在机器的ip
  [cluster1.frontends]
  192.168.1.239
  192.168.1.241
  192.168.1.243
  ##集群cluster1中master节点所在的ip
  [cluster1.master]
  192.168.1.241
  ##集群cluster1中follower所在节点的ip
  [cluster1.follower]
  192.168.1.239
  192.168.1.243
  ##集群cluster1中be所在节点的ip
  [cluster1.backends]
  192.168.1.239
  192.168.1.241
  192.168.1.243
  ## 要进行扩缩容的fe所在的ip
  [cluster1.scale_fe]
  192.168.1.239
  ## 要进行扩缩容的be所在的ip
  [cluster1.scale_be]
  192.168.1.239
  ## 要进行扩缩容的broker所在的ip
  [cluster1.scale_broker]
  192.168.1.239
  ##集群cluster1中broker节点所在的ip
  [cluster1.brokers]
  192.168.1.239
  192.168.1.241
  192.168.1.243
  • 配置初始化文件
vi ./conf/cluster1.yml(这里配置集群cluster1的对应ip组)
---
follower: [192.168.1.239,192.168.1.243]
backends: [192.168.1.239,192.168.1.241,192.168.1.243]
brokers: [192.168.1.239,192.168.1.241,192.168.1.243]
master: 192.168.1.241
vi ./conf/setup_vars.yml
---
# 生产环境的fe.conf所在路径。
# 如果没有特殊配置,建议使用安装包内的fe.conf,请根据机器情况酌情配置priority_networks
fe_conf_path: /home/doris_ansible/fe.conf
#生产环境的be.conf所在路径。
# 如果没有特殊配置,建议使用安装包内的be.conf,请根据机器情况酌情配置priority_networks
be_conf_path: /home/doris_ansible/be.conf
# heartbeat_service_port,请和be.conf中的heartbeat_service_port配置保持一致
heartbeat_service_port: 9050
# edit_log_port,请和fe.conf中的edit_log_port配置保持一致
edit_log_port: 9010
# query_port,请和fe.conf中的query_port配置保持一致
query_port: 9030
# broker_ipc_port,请和apache_hdfs_broker.conf中的broker_ipc_port保持一致
broker_ipc_port: 8000
# 待安装的doris压缩包所在路径,请写绝对路径
doris_filepath: /home/doris_ansible/PALO-0.15.1-rc09-binary.tar.gz
# doris压缩包要解压安装的位置
dest_filepath: /home/doris_ansible
#解压后,doris的安装目录
doris_home: /home/doris_ansible/PALO-0.15.1-rc09-binary
# 机器java_home所在路径,请确保所有机器保持一致
java_home: /usr/java/jdk1.8.0_131

2. 初始化集群


#cluster=cluster1 是指定的对对应集群的操作
ansible-playbook -e "cluster=cluster1" ./core/setup.yml

3. 添加角色


ansible-playbook -e "cluster=cluster1" ./core/add_roles.yml

4. 启停集群


#一键停止对应集群
ansible-playbook -e "cluster=cluster1" ./core/stop_all.yml
#一键启动对应集群
ansible-playbook -e "cluster=cluster1" ./core/start_all.yml

5. 集群升降级


  • 配置集群升降级配置
vi ./conf/upgrade_vars.yml
---
#需要回滚或者升级的压缩包所在路径
newdoris_filepath: /home/doris_ansible/PALO-0.15.3-release-binary.tar.gz
#压缩包解压路径
newdoris_destpath: /home/doris_ansible
#解压后的doirs_home
newdoris_home: /home/doris_ansible/PALO-0.15.3-release-binary
#java_home所在路径
java_home: /usr/java/jdk1.8.0_131
  • 进行升降级操作
ansible-playbook -e "cluster=cluster1" ./core/upgrade.yml

6. 集群扩缩容


  1. 配置集群扩缩容配置
vi /etc/ansible/hosts  (配置要进行扩缩容的角色的hosts,可以配置多个hosts)
## 要进行扩缩容的fe所在的ip
  [cluster1.scale_fe]
  192.168.1.239
  ## 要进行扩缩容的be所在的ip
  [cluster1.scale_be]
  192.168.1.239
  ## 要进行扩缩容的broker所在的ip
  [cluster1.scale_broker]
  192.168.1.239
  1. FE 扩缩容
vi ./conf/scale_fe_vars.yml
  ---
  ## 要进行扩缩容的fe
  frontends: 192.168.1.239
  ##(多个ip使用数组的方式)
  frontends: [192.168.1.239,192.168.1.241]
  1. BE 扩缩容
vi ./conf/scale_be_vars.yml
 ---
  ## 要进行扩缩容的be
  backends: 192.168.1.239
  ##(多个ip使用数组的方式)
  backends: [192.168.1.239,192.168.1.241]
  1. Broker 扩缩容
vi ./conf/scale_broker_vars.yml
  ---
  ## 要进行扩缩容的broker
  brokers: 192.168.1.239
  ##(多个ip使用数组的方式)
  brokers: [192.168.1.239,192.168.1.241]
  1. 执行扩缩容
# 扩容
  # 扩容broker
    ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_broker.yml
  # 扩容be
    ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_be.yml
  # 扩容fe
    ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_fe.yml
# 缩容
  #缩容broker
    ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_broker.yml
  #缩容be
    ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_be.yml
  #缩容fe
    ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_fe.yml




目录
相关文章
|
8天前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
|
18天前
|
运维 自然语言处理 安全
自动化运维的利器:Ansible入门与实践
【8月更文挑战第33天】在现代IT基础设施的管理中,自动化运维已成为提高效率、减少错误的关键技术。Ansible作为一款开源的自动化配置管理和应用部署工具,以其简洁性、易用性和强大的功能受到广泛欢迎。本文将介绍Ansible的基本概念、安装步骤和简单使用,通过实际案例展示其在自动化运维中的应用。
|
7天前
|
存储 JSON 物联网
查询性能提升 10 倍、存储空间节省 65%,Apache Doris 半结构化数据分析方案及典型场景
本文我们将聚焦企业最普遍使用的 JSON 数据,分别介绍业界传统方案以及 Apache Doris 半结构化数据存储分析的三种方案,并通过图表直观展示这些方案的优势与不足。同时,结合具体应用场景,分享不同需求场景下的使用方式,帮助用户快速选择最合适的 JSON 数据存储及分析方案。
查询性能提升 10 倍、存储空间节省 65%,Apache Doris 半结构化数据分析方案及典型场景
|
14天前
|
SQL 消息中间件 Java
兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)
通过兼容 Connector 插件,Apache Doris 能够支持 Trino/Presto 可对接的所有数据源,而无需改动 Doris 的内核代码。
兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)
|
21天前
|
存储 消息中间件 运维
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
招联内部已有 40+ 个项目使用 Apache Doris ,拥有超百台集群节点,个别集群峰值 QPS 可达 10w+ 。通过应用 Doris ,招联金融在多场景中均有显著的收益,比如标签关联计算效率相较之前有 6 倍的提升,同等规模数据存储成本节省超 2/3,真正实现了降本提效。
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
|
4天前
|
运维 应用服务中间件 网络安全
自动化运维之路:Ansible在配置管理中的应用
【9月更文挑战第15天】本文深入探讨了自动化运维工具Ansible的基本原理和实际应用,通过实例演示如何利用Ansible进行高效的配置管理和批量部署。文章不仅涵盖了Ansible的安装、配置以及基础使用,还详细介绍了如何编写有效的Playbook来自动化日常任务,并讨论了Ansible的最佳实践和常见问题的解决策略,为读者提供了一套完整的解决方案。
|
6天前
|
运维 应用服务中间件 Linux
自动化运维的利剑——Ansible在配置管理中的应用
【9月更文挑战第13天】 随着IT基础设施的日益复杂,手动进行系统配置和管理变得越来越低效且容易出错。Ansible,一个开源的IT自动化工具,因其简单易用和高效的特性成为运维工程师的新宠。本文将通过浅显易懂的语言和具体案例,带你了解如何利用Ansible简化日常的运维任务,实现快速、一致的配置部署与管理。
|
15天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
61 11
|
8天前
|
运维 监控 应用服务中间件
自动化运维的利剑:Ansible在配置管理中的应用
【9月更文挑战第11天】 当运维工作遇到瓶颈,效率和可靠性成为制约因素时,自动化工具Ansible如同一把锋利的利剑,为配置管理和批量部署带来革命性的改变。本文将深入探讨Ansible的核心功能、使用方法及其在实际运维场景中的强大作用,带领读者领略自动化运维的魅力,并分享如何通过代码示例实现高效管理。
11 1
|
14天前
|
运维 应用服务中间件 持续交付
自动化运维的利器:Ansible在配置管理中的应用
【9月更文挑战第4天】在现代企业中,随着服务器数量的增加和业务的复杂性提高,传统的手动运维方式已经无法满足快速、高效、稳定的业务需求。自动化运维应运而生,成为提升工作效率、减少人为错误的关键技术。本文将介绍Ansible这一自动化运维工具,通过实例展示其在配置管理中的应用,帮助读者理解如何借助Ansible简化日常运维工作,实现服务器的批量管理与自动化部署。
40 4

推荐镜像

更多