Doris Ansible 使用指南

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

基于Ansible实现Apache Doris快速部署运维指南的更多相关文章

  1. 基于 Nebula Operator 的 K8s 自动化部署运维

    摘要:Nebula Operator 是 Nebula Graph 在 Kubernetes 系统上的自动化部署运维插件.在本文,你将了解到 Nebula Operator 的特性及它的工作原理. 从 ...

  2. ZooKeeper: 简介, 配置及运维指南

    1. 概览 ZooKeeper是一个供其它分布式应用程序使用的软件, 它为其它分布式应用程序提供所谓的协调服务. 所谓的协调服务, 是指ZooKeeper的如下能力 naming 命名 configu ...

  3. Openstack运维指南文档整理

    非常全面的运维指南整理http://zjzone.cc/index.php/2017/07/31/openstack-yun-wei-wen-dang-zheng-li/

  4. Linux自动化运维部署+运维

    自动化部署及配置(Cobbler/Kickstart) 红帽发布的网络安装服务器套件 Cobbler可以说是一大Linux装机利器,可以快速的建立网络安装环境,据说比Kickstart还要好用. 分布 ...

  5. Ansible之playbook的使用总结 - 运维笔记

    之前详细介绍了Ansible的安装, 配置, 以及Ansible常用模块的使用. 下面对Ansible的playbook用法做一小结. 为什么引入playbook?一般运维人员完成一个任务, 比如安装 ...

  6. Nginx/Apache之伪静态设置 - 运维小结

    一.什么是伪静态伪静态即是网站本身是动态网页如.php..asp..aspx等格式动态网页有时这类动态网页还跟"?"加参数来读取数据库内不同资料,伪静态就是做url重写操作(即re ...

  7. 网易OpenStack部署运维实战

    OpenStack自2010年项目成立以来,已经有超过200个公司加入了 OpenStack 项目,目前参与 OpenStack 项目的开发人员有 17,000+,而且这些数字还在增加,作为一个开源的 ...

  8. CentOS下Apache Doris Oracle ODBC外表使用指南

    1.软件环境 操作系统:CentOS 7.8 Apache Doris :0.15 Postgresql数据库:oracle 19c UnixODBC:2.3.1 Oracle ODBC :insta ...

  9. Apache Doris Oracle ODBC外表使用指南

    1.软件环境 操作系统:ubuntu 18.04 Apache Doris :0.15 Postgresql数据库:oracle 19c UnixODBC:2.3.4 Oracle ODBC :ins ...

随机推荐

  1. cute

    环境准备 将靶机导入后将网络设置为NAT kali:192.168.0.102 cute:192.168.0.107 端口扫描 使用nmap对靶机进行端口扫描 nmap –A –p- 192.168. ...

  2. 使用redis作为django缓存数据库

    1.Redis的Windows版本.打开https://github.com/MSOpenTech/redis/releases下载msi安装包.该版本是64位.安装msi过程中,有个选项是否加入系统 ...

  3. three模型高亮外发光效果

    页面效果如下: vue3+three完整代码如下: <template> </template> <script setup> import * as THREE ...

  4. 自定义XML文件模板步骤

  5. poj_2386_dfs

    描述 由于最近的一场雨,农夫john的田地里很多地方流入了水,由一个N*M的矩形表示.每个方格要么有水(W)要么是干的(.).农夫想要知道他的田地里形成了多少池塘. 一个池塘由有水的方块相连,每个方块 ...

  6. Python3通过字符串访问与修改局部变量

    技术背景 在Python中定义一个函数时,就会把变量空间划分为全局变量(global)与局部变量(local),如果是定义在一个类的成员函数中,那么就还有额外的成员变量(self)空间.那么,如果在实 ...

  7. JavaScript中函数节流的理解

    函数节流的原理 函数节流,就是对会频繁触发的函数事件做一些限制,让这些函数可以在每隔一定的时间或者每次满足一定的条件下再触发.一般我们会给他起一个名字throttle.也就是节流的意思.一般这样的函数 ...

  8. react开发教程(三)组件的构建

    什么是组件 组件化就好像我们的电脑装机一样,一个电脑由显示器.主板.内存.显卡.硬盘,键盘,鼠标.... 组件化开发有如下的好处:降低整个系统的耦合度,在保持接口不变的情况下,我们可以替换不同的组件快 ...

  9. JS 用状态机的思想看Generator之基本语法篇

    前言 最近学习了阮一峰老师的<ECMAScript 6 入门>里的Generator相关知识,以及<你不知道的JS>中卷的异步编程部分.同时在SegmentFault问答区看到 ...

  10. 如何使用vue-cli搭建好的项目

    本人是一枚前端小白,也是从零开始学习vue.js.由于闲着蛋疼,写一点自己的经验,可能有点low.是新手想上道的话,可以看看,如果有大神,也可以给我指导一下,小生感激不尽. 关于如何使用vue-cli ...