Apache Doris (八) :Doris分布式部署(五) Broker部署及Doris集群启动脚本

news2024/11/17 4:49:08

目录

1.Broker部署及扩缩容

1.1 BROKER 部署

1.2 BROKER 扩缩容

2. Apache Doris集群启停脚本


进入正文之前,欢迎订阅专题、对博文点赞、评论、收藏,关注IT贫道,获取高质量博客内容!


1.Broker部署及扩缩容

Broker 是 Doris 集群中一种可选进程,主要用于支持 Doris 读写远端存储上的文件和目录。建议每一个 FE 和 BE 节点都部署一个 Broker。

Broker 通过提供一个 RPC 服务端口来提供服务,是一个无状态的 Java 进程,负责为远端存储的读写操作封装一些操作,如 open,pread,pwrite 等等。除此之外,Broker 不记录任何其他信息,所以包括远端存储的连接信息、文件信息、权限信息等等,都需要通过参数在 RPC 调用中传递给 Broker 进程,才能使得 Broker 能够正确读写文件。

Broker 仅作为一个数据通路,并不参与任何计算,因此仅需占用较少的内存。通常一个 Doris 系统中会部署一个或多个 Broker 进程。并且相同类型的 Broker 会组成一个组,并设定一个 名称(Broker name)。

Broker 在 Doris 系统架构中的位置如下:

1.1 BROKER 部署

在节点划分中我们将要在node1~node5节点上部署Broker。具体操作步骤如下:

1. 准备Broker安装包

在资料中将“apache-doris-dependencies-1.2.1-bin-x86_64.tar.xz”文件进行解压,其中有“apache_hdfs_broker”文件夹,将该文件夹复制到node1~node5各个节点的 /software/doris-1.2.1目录中。

[root@node1 ~]# scp -r /software/doris-1.2.1/apache_hdfs_broker/ node2:/software/doris-1.2.1/
[root@node1 ~]# scp -r /software/doris-1.2.1/apache_hdfs_broker/ node3:/software/doris-1.2.1/
[root@node1 ~]# scp -r /software/doris-1.2.1/apache_hdfs_broker/ node4:/software/doris-1.2.1/
[root@node1 ~]# scp -r /software/doris-1.2.1/apache_hdfs_broker/ node5:/software/doris-1.2.1/

2. 启动Broker

在node1~node5节点上启动Borker:

cd /software/doris-1.2.1/apache_hdfs_broker/bin
chmod +x ./start_broker.sh 
chmod +x ./stop_broker.sh
./start_broker.sh --daemon

​​​​​​​3. 将Broker加入到Doris集群中

在node1通过mysql客户端连接Doris集群,执行SQL命令将启动的Borker加入到Doris集群中。

#通过mysql 客户端连接Doris集群
[root@node1 ~]# cd /software/mysql-5.7.22-client/bin/
[root@node1 bin]# ./mysql -uroot -P9030 -h192.168.179.4 -p123456

#将各个Broker加入到集群中
mysql> ALTER SYSTEM ADD BROKER broker_name "node1:8000","node2:8000","node3:8000","node4:8000","node5:8000";
Query OK, 0 rows affected (0.02 sec)

​​​​​​​4. 查看broker信息

以上Broker节点加入成功后,可以通过如下SQL命令来进行查询:

# MySQL客户端查询Broker信息
mysql> SHOW PROC "/brokers";

结果如下:

 同时也可以登录node1~node5任意节点的8030端口,查看broker信息,如下:

 ​​​​​​​

1.2 BROKER 扩缩容

Broker 实例的数量没有硬性要求。通常每台物理机部署一个即可。Broker 的添加和删除可以通过以下命令完成,这里不再演示。

ALTER SYSTEM ADD BROKER broker_name "broker_host:broker_ipc_port"; 
ALTER SYSTEM DROP BROKER broker_name "broker_host:broker_ipc_port"; 
ALTER SYSTEM DROP ALL BROKER broker_name;

 Broker 是无状态的进程,可以随意启停。当然,停止后,正在其上运行的作业会失败,重试即可。

​​​​​​​2. Apache Doris集群启停脚本

Apache Doris部署后集群中角色包括FE、BE、Broker,这些节点都可以动态扩缩容。部署集群完成后,启动集群时依次启动FE、BE、Broker即可。停止集群依次按照Broker、BE、FE停止即可。以当前搭建的5节点为例,停止集群命令如下:

#停止Broker(node1~node5节点)
cd /software/doris-1.2.1/apache_hdfs_broker/bin
./stop_broker.sh

#停止BE(node3~node5节点)
cd /software/doris-1.2.1/apache-doris-be/bin
./stop_be.sh

#停止FE(node1~node5节点)
cd /software/doris-1.2.1/apache-doris-fe/bin
./stop_fe.sh 

启动集群命令如下:

#启动FE(node1~node5节点)
cd /software/doris-1.2.1/apache-doris-fe/bin
./start_fe.sh  --daemon

#启动BE(node3~node5节点)
cd /software/doris-1.2.1/apache-doris-be/bin
./start_be.sh --daemon

#启动Broker(node1~node5节点)
cd /software/doris-1.2.1/apache_hdfs_broker/bin
./start_broker.sh --daemon

也可以自己写脚本来完成Doris集群的启停,将脚本存入node1节点/software/doris-1.2.1目录下,启动脚本 start_doris.sh 内容如下:

#! /bin/bash
echo -e "start apache doris cluster on node1~node5\n"

echo "start apache doris FE on node1~node5 >>>>>"
for fenode in node1 node2 node3 node4 node5
do
  ssh $fenode "sh /software/doris-1.2.1/apache-doris-fe/bin/start_fe.sh --daemon"
done

sleep 2
echo -e "\n"
for fenode in node1 node2 node3 node4 node5
do
  echo "***** check FE on $fenode jps *****"
  ssh $fenode "jps |grep PaloFe"
done

echo -e "\n"
echo "start apache doris BE on node3~node5 >>>>>"
for benode in node3 node4 node5
do
  ssh $benode "source /etc/profile;sh /software/doris-1.2.1/apache-doris-be/bin/start_be.sh --daemon"
done

sleep 2
echo -e "\n"
for benode in node3 node4 node5
do
  echo "***** check BE on $benode  *****"
  ssh $benode "ps aux |grep doris_be"
done

echo -e "\n"
echo "start apache doris BROKER on node1~node5 >>>>>"
for brokernode in node1 node2 node3 node4 node5
do
  ssh $brokernode "sh /software/doris-1.2.1/apache_hdfs_broker/bin/start_broker.sh --daemon"
done

sleep 2
echo -e "\n"
for brokernode in node1 node2 node3 node4 node5
do
  echo "***** check BROKER on $brokernode jps *****"
  ssh $brokernode "jps |grep BrokerBootstrap"
done

停止脚本stop_doris.sh 内容如下:

#! /bin/bash
echo -e "stop apache doris cluster on node1~node5\n"

echo "stop apache doris BROKER on node1~node5 >>>>>"
for brokernode in node1 node2 node3 node4 node5
do
  ssh $brokernode "sh /software/doris-1.2.1/apache_hdfs_broker/bin/stop_broker.sh"
done

sleep 2
echo -e "\n"
for brokernode in node1 node2 node3 node4 node5
do
  echo "***** check BROKER on $brokernode jps *****"
  ssh $brokernode "jps |grep BrokerBootstrap"
done

echo -e "\n"
echo "stop apache doris BE on node3~node5 >>>>>"
for benode in node3 node4 node5
do
  ssh $benode "source /etc/profile;sh /software/doris-1.2.1/apache-doris-be/bin/stop_be.sh"
done

sleep 2
echo -e "\n"
for benode in node3 node4 node5
do
  echo "***** check BE on $benode  *****"
  ssh $benode "ps aux |grep doris_be"
done

echo -e "\n"
echo "stop apache doris FE on node1~node5 >>>>>"
for fenode in node1 node2 node3 node4 node5
do
  ssh $fenode "sh /software/doris-1.2.1/apache-doris-fe/bin/stop_fe.sh"
done

sleep 2
echo -e "\n"
for fenode in node1 node2 node3 node4 node5
do
  echo "***** check FE on $fenode jps *****"
  ssh $fenode "jps |grep PaloFe"
done

启停脚本编写完成后,可以通过以下方式调用:

[root@node1 ~]# cd /software/doris-1.2.1/
[root@node1 doris-1.2.1]# sh start_doris.sh
[root@node1 doris-1.2.1]# sh stop_doris.sh 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/705895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【系统架构】第六章-数据库设计基础知识(数据库基本概念、关系数据库)

软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 数据库基本概念 数据库的基础结构是数据模型,数据模型的三要素是数据结构、数据操作和数据的约束条件 数据库三级模式:视图层、逻辑层、物理层 视图层:最高…

Day.2 LeetCode刷题练习(螺旋矩阵)

题目: 例子: 分析题目: 本题给了一个值n要生成一个n*n的矩形,并且是螺旋的生成值。 这样我们可以把它分层来看如n 4时生成一个4*4的矩形由两层矩形构成,这样就能先遍历生成最外面的一层后再去生成里面的一层 那如何…

【VSCODE】4、vscode git pull/push 报错 remote: HTTP Basic: Access denied

一、报错示例 在执行 git pull/push 的时候报错如下 二、解决方式 该问题来自 vscode 的身份验证 打开 vscode →code → 首选项 → 设置搜索 git.terminalAuthentication取消选中该选项重启终端即可

2023黑马头条.微服务项目.跟学笔记(一)

前言 黑马头条一直是黑马培训班内部的项目,应该是今年推出了天机学堂的项目,所以这个头条微服务项目就被公布了,整体上看技术架构丰富,很适合微服务练手和补足。有些技术栈的版本可能是前几年的,不过这个不影响&#x…

医药销售数据分析

阅读原文 一、数据源 来自某医药公司的产品销售数据,时间为 3 月到 5 月,共 48 个 Excel 表格。包含订单信息、售后信息、用户信息以及对应销售人员信息等。 加载合并后得到的原始数据如下: 二、数据清洗 清洗流程以及对应细节 加载数据源 …

多表查询(JOIN)

数据准备 我们需要两个表 student 和 student_score CREATE TABLE student (student_id int NOT NULL,name varchar(45) NOT NULL,PRIMARY KEY (student_id) );CREATE TABLE student_score (student_id int NOT NULL,subject varchar(45) NOT NULL,score int NOT NULL ); 然后…

Linux中tail命令的使用

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。 tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。 tail [参数] [文件] …

553、Vue 3 学习笔记 -【创建Vue 3.0工程(一)】 2023.06.30

目录 一、Vue 3 介绍1. Vue 3 官方文档2. Vue 3带来了什么1.1 性能的提升1.2 源码的升级1.3 拥抱TypeScript1.4 新的特性 二、创建Vue3.0工程1. 使用 vue-cli创建2. 使用vite创建3. 分析工程结构 三、参考链接 一、Vue 3 介绍 1. Vue 3 官方文档 Vue 3 官方的文档地址 2. Vu…

复杂onnx解决方案(以sparseconv为例)

目录 前言1. 稀疏卷积2. Sparse Convolution Model2.1 输入数据模型2.2 卷积核2.3 输出的定义2.4 计算流程2.4.1 构建 hash table2.4.2 构建 Rulebook2.4.3 在GPU上计算Pipeline 2.5 Summary 3. SCN导出3.1 实现trace3.2 导出onnx3.3 CenterPoint SCN导出3.4 执行图的构建3.5 o…

Swagger|SpringBoot集成Swagger用以生成API文档

框架简介 Swagger的作用: 自动生成强大的RESTful API文档,减少开发人员的工作量。使用Swagger,只需在代码中添加一些注解即可生成API接口文档,不需要手动编写API接口文档,这减少了开发人员的工作量。 提供API文档的同步…

西安石油大学 C++期末考试 重点知识点+题目复习(下)

析构函数调用顺序 析构函数的调用顺序与对象的创建和销毁顺序相反。 对于单个对象,当对象的生命周期结束时(例如离开作用域),会调用其析构函数。因此,析构函数会在对象销毁之前被调用。 对于类的成员对象&#xff0…

软件工程期末复习-软件设计模式与体系结构-体系结构

目录 软件体系结构概述一、调用-返回风格软件体系结构概念主程序-子程序软件体系结构自顶向下的设计方法的问题结构化设计的优缺点面向对象体系结构面向对象设计的优缺点主程序-子程序与面向对象体系结构相似差异 课程作业 二、数据流风格软件体系结构概念控制流 vs. 数据流数据…

【第一章 flutter学习入门之环境配置】

flutter环境安装 文章目录 flutter环境安装前言一、环境变量配置二、下载Flutter SDK三.排除错误 安装依赖四. 设置Android模拟器五.安装插件VScode打开flutter项目 前言 本文是针对Windows系统环境配置flutter 需要git环境依赖,这里就不做过多赘述 一、环境变量配…

PFASs在固体-溶液体系中分配系数

一、对于PFASs在土壤-溶液体系中的吸附行为,可以用土壤-水分配系数(Kd,L/kg)来表征[1-3]。 Cs为沉积物(sediment)中PFAAs的浓度(ng/g dw);Cw为水(water)中单个PFAAs的浓度(μg/L)。 以往许多研究发现,Ksp与沉积物的有机碳组分有关,表明有机质含量是影响沉积物和孔…

【书】《Python全栈测试开发》——浅谈我所理解的『自动化』测试

目录 1. 自动化测试的What and Why?1.1 What1.2 Why2. 自动化的前戏需要准备哪些必备技能?3. 自动化测试类型3.1 Web自动化测试3.1.1 自动化测试设计模式3.1.2 自动化测试驱动方式3.1.3 自动化测试框架3.2 App自动化测试3.3 接口自动化测试4. 自动化调优《Python全栈测试开发…

PPO算法基本原理及流程图(KL penalty和Clip两种方法)

PPO算法基本原理 PPO(Proximal Policy Optimization)近端策略优化算法,是一种基于策略(policy-based)的强化学习算法,是一种off-policy算法。 详细的数学推导过程、为什么是off-policy算法、advantage函数…

47. Compose自定义绘制日历-1

有个日历的需求, 自己实现一下简单的 生成数据 private fun initData() {val listOfCalendar mutableListOf<CalendarData>()val calendar Calendar.getInstance()val todayYear calendar.get(Calendar.YEAR)val todayMonth calendar.get(Calendar.MONTH)val today…

单机和分布式有什么区别?分布式系统相比单机系统的优势在哪里?

写在前面 本文隶属于专栏《大数据理论体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和文献引用请见《大数据理论体系》 思维导图 1. 资源共享 单机系统是指只有一…

springboot项目通过nginx访问ftp服务器文件

前文 本来准备记录一下。项目中遇到的springboot项目访问ftp服务器图片、视频问题的&#xff0c;想在我自己服务器上重新部署一遍&#xff0c;然后发现&#xff0c;执行docker的时候报错了。具体报错原因如下&#xff1a; 原因是我重启了一下服务器 Cannot connect to the Do…

ChatGPT实战:生成演讲稿

当众发言&#xff08;演讲&#xff09;是一种传达信息、观点和情感的重要方式。通过演讲&#xff0c;人们可以在公共场合表达自己的观点&#xff0c;向观众传递自己的知识和经验&#xff0c;激发听众的思考和行动。无论是商务演讲、学术讲座还是政治演说&#xff0c;演讲稿的写…