【Doris的安装与部署】

1 集群规划和环境准备

Doris作为一款MPP架构的OLAP数据库,可以在绝大多数主流的商用服务器上运行。

1.1 环境要求

一般推荐使用Linux系统,版本要求是CentOS 7.1及以上或者Ubuntu 16.04及以上,这也是目前服务器市场最主流的操作系统。

操作系统小知识

Linux系统主要分Debian系和Red Hat系,还有其他自由版本。Debian系主要有Debian、Ubuntu、Mint等及其衍生版本;Red Hat系主要有Red Hat、Fedora、CentOS等,其他自由版本有Slackware、Gentoo、Arch Linux、LFS、SUSE等。根据调查资料,2016年中国服务器操作系统市场中CentOS占28%,排名第一,Ubuntu占26%,Red Hat占19%,其余共占27%。其余版本中有部分是Debian系和Red Hat系,所以三类系统所占比例在75%以上。就目前来说,CentOS系统既免费,又稳定,也是云厂商推荐的服务器操作系统,因此首选CentOS 7.x版本。

虽然CentOS官方已经放弃8.0以后版本的升级维护,但是各软件、硬件厂商和云平台都会基于CentOS 7.x继续升级和提供相应的服务。在操作系统配置方面除了关闭Swap以外没有其他要求。关闭Swap只是为了避免使用磁盘缓冲区影响性能,并非强制性要求。在这一点上,比其他数据库安装前进行一系列参数调整和系统配置要省事很多。在Doris中,FE是基于Java语言开发的,BE是基于C++语言开发的,所以二者需要依赖对应语言的编译器。其中,Java运行环境要求JDK8及以上版本(从Doris 1.0版本开始强制要求JDK11及以上版本),C++运行环境要求GCC4.8.2及以上版本。

1.2 硬件要求

为了提高Doris数据库的性能,单台服务器也有硬件要求。

  • 开发和测试环境要求如下表:
模块CPU内存磁盘网络实例数量
FE8核+8GB+10GB+千兆网卡1
BE8核+16GB+50GB+千兆网卡1-3
  • 生产要求如下表:
模块CPU内存磁盘网络实例数量
FE16核+64GB+100GB+万兆网卡1-5
BE16核+64GB+100GB+万兆网卡10-100

具体来说,FE的磁盘空间主要用于存储元数据,包括元数据变更日志和元数据镜像版本,大小通常在几百兆字节到几吉字节不等。BE的磁盘空间主要用于存储用户数据,总磁盘空间按用户总数据量×3(3副本)计算,然后额外预留40%用于存储后台合并数据以及一些中间数据。

一台机器上可以部署多个BE实例,但是只能部署一个FE实例。如果需要3副本数据,至少需要3台机器各部署1个BE实例(而不是1台机器部署3个BE实例)。多个FE所在服务器的时钟必须保持一致(允许最多5s的时钟偏差)。

在测试环境中,可以仅用1个BE实例进行测试,但是1个BE实例只能创建1个副本数据。实际生产环境中,BE实例数量直接决定了集群整体查询性能。

1.3 节点规划

为了充分利用MPP架构的并发优势,以及Doris的高可用性,我们需要足够的服务器节点来支撑Doris的运行。Doris的性能与服务器数量及配置正相关。通常,建议部署10~100台服务器(其中3台部署FE,剩余的部署BE)。但在部署4台服务器(1台部署FE,3台部署BE,其中1台BE混部一个观察者角色的FE来提供元数据备份),以及服务器配置较低的情况下,Doris依然可以平稳运行。

如果FE和BE混部,我们需要注意资源竞争问题,并保证元数据目录和数据目录分属于不同磁盘。Broker是访问外部数据源(如HDFS)的进程。通常,每个FE节点上部署一个Broker实例即可。关于FE节点的角色,我们需要注意以下几点。

❑FE角色分为Leader、Follower和Observer。Leader和Follower角色都是Follower组的成员,以下统称为Follower。Leader是Follower组中选举出来的主节点,有且仅有一个。Observer即观察者角色,仅能复制元数据,不能参与Follower组的选举。
❑FE节点数至少为1(1个Follower)。部署1个Follower和1个Observer可以实现读高可用,部署3个Follower可以实现读写高可用。
❑Follower的数量必须为奇数,Observer的数量随意。
❑根据以往经验,当集群可用性要求很高时(比如提供在线业务),可以部署3个Follower和1~3个Observer。如果是离线业务,建议部署1个Follower和1~3个Observer。

1.4 通信端口

Doris的各个实例之间通过网络进行通信,如下图展示了各服务组件的通信端口。
在这里插入图片描述
当部署多个FE实例时,要保证FE的http_port配置相同。部署前确保各个端口在应有方向上的访问权限:如果是局域网,建议直接关掉防火墙;如果是云平台,还需要开放客户端访问FE节点的8030端口和9030端口。

1.5 IP地址绑定

因为有多网卡情况,或安装过Docker等环境而存在虚拟网卡,同一个主机可能存在多个不同的IP。Doris启动时不能自动识别可用IP,因此当主机上存在多个IP时,必须通过priority_networks配置项强制指定正确的IP。

priority_networks是FE和BE都有的一个配置项,配置项需写在fe.conf和be.conf中。该配置项用于在FE或BE启动时,告诉进程应该绑定哪个IP,示例如下:

priority_networks= 192.168.1.200/24

这是一种CIDR(Classless Inter-Domain Routing,无类别域间路由)表示方法。FE或BE会根据该配置项来寻找匹配的IP,并将其作为本地IP。

注意

配置priority_networks,只是保证了FE或BE进行了正确的IP绑定。在ADD BACKEND或ADD FRONTEND语句中也需要指定和priority_networks配置匹配的IP,否则集群无法建立。

Broker则不需要配置priority_networks。Broker默认绑定在IP0.0.0.0上。在执行ADD BROKER语句时,只需要配置Broker可访问的IP即可。

2 安装和部署

到Palo官网进行下载。作为Apache Doris社区的主要维护团队,百度Doris团队同时维护了完全兼容Apache Doris的发行版本Palo。百度发行版本Palo具有Bug修复和新功能更新功能。百度开源版本不是Apache Release版本,但具有全部Apache Doris功能,并与Apache社区版本兼容。百度发行版本Palo在百度内部做过测试,推荐使用,而且用户可以免费下载,安装和部署方式同Apache Doris。

百度发行版本Palo下载地址为:http://palo.baidu.com/docs/下载专区/预编译版本下载/。下载页面截图如下图所示:
在这里插入图片描述

2.1 安装前的准备

在CentOS系统中通过wget命令下载百度Palo预编译版本,如下图:
在这里插入图片描述
解压:

tar -zxvf PALO-0.12.21-release.tar.gz 

重命名:

mv DORIS-0.12.21-release/ doris

2.2 安装FE

sh doris/fe/bin/start_fe.sh --daemon

由于FE是基于Java语言开发的,因此部署FE之前需要先安装JDK。正常情况下,安装Oracle JDK和Open JDK都可以,但是预编译版本文件是采用Oracle JDK编译的,所以我们依然采用Oracle JDK版本。Doris 1.0以前的版本只需安装JDK8版本即可,Doris 1.0及以后版本要求必须安装JDK11版本。

到Oracle官网下载JDK需要注册账号,并且登录速度比较慢,这里推荐到华为云下载。下载完成后解压,并将解压文件移到指定目录,配置环境变量。

FE组件的安装非常简单,最新Doris版本的安装包自动创建了doris-meta目录,我们可以直接到bin目录下执行命令sh start_fe.sh --daemon来启动FE。执行该命令后如果没有任何输出,FE启动成功。我们也可以通过jps命令验证FE是否启动成功,有PaloFe进程表示启动成功。

在正式环境中安装FE节点有以下注意事项:

❑FE节点的配置文件为fe/conf/fe.conf。
❑FE作为管理节点存放数据库的元数据,默认保存在fe/doris-meta/路径下。我们也可以通过调整fe.conf中的meta_dir切换到独立的目录。生产环境中强烈建议单独指定目录,不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好)。
❑fe.conf中JAVA_OPTS默认Java最大堆内存为4GB,生产环境中建议调整至8GB以上。
❑priority_networks配置可以具体参考1.5节内容。
❑默认第一个启动的是Leader角色,也就是Follower组中的主节点。

fe.conf重要参数说明lower_case_table_names参数用于配置用户表表名大小写是否敏感,默认为0,表示表名大小写敏感。该参数需在集群初始化时进行配置。集群初始化完成后无法通过set语句修改该参数,也无法通过重启、升级修改该参数。该参数还可以设置为1或者2,都表示表名大小写不敏感,区别是值为1时,任何场景下表名无论大小写都表示同一张表,而值为2时,同一语句中表名要么大写,要么小写。

FE节点的服务进程启动后进入后台执行,日志默认存放在fe/log/目录下。如果服务进程启动失败,我们可以通过日志文件fe/log/fe.log或者fe/log/fe.out查看错误信息。安装完FE节点后,我们有两种方式进行访问。

第一种是在网络无限制的情况下,直接打开网址http://fe_ip:8030,进入管理页面,如下图所示。
在这里插入图片描述
第二种方式是通过MySQL客户端访问。这里我们既可以直接在服务器上通过MySQL命令访问FE,也可以通过客户端软件配置JDBC访问,默认root密码为空。

2.3 安装BE

BE是由C++语言开发的,所以不需要安装其他依赖软件。BE安装过程和FE一样,也非常简单,直接进入bin目录执行sh start_be.sh --daemon命令即可。

在正式环境中安装BE节点,也有以下注意事项:

❑BE节点的配置文件为be/conf/be.conf。
❑BE作为数据的实际存储节点,需要大量存储空间,建议用可扩容的外挂磁盘。数据磁盘主要通过be.conf文件中的storage_root_path参数来配置。数据文件存储目录需要提前创建好,多个目录通过“;”来分隔。(注意:最后一个路径后面不需要分号。)
❑存储介质可以是HDD或SSD,并且可以限制每个目录的最大使用空间。

存储路径的配置有两种格式,具体如下。
方式一:通过在目录后面增加“.”和“,”分步追加磁盘类型和限制存储容量(默认单位是GB),例如:“storage_root_path=/home/disk1/doris.HDD,50;/home/disk2/doris.SSD,10;/home/disk3/doris”表示有3个盘,磁盘一/home/disk1/doris.HDD,50表示存储限制为50GB的HDD;磁盘二/home/disk2/doris.SSD 10表示存储限制为10GB的SSD;磁盘三/home/disk3/doris表示存储限制为磁盘最大容量,默认为HDD。方式二:在目录后面通过键值对区分存储类型和存储空间(默认单位也是GB),例如:storage_root_path=/home/disk1/doris,medium:hdd,capacity:50;/home/disk2/doris,medium:ssd,capacity:10;/home/disk3/doris,medium:hdd”表示的结果和方式一致。

2.4 安装Broker

Broker是访问外部数据源(如HDFS)的进程。通常,我们只在FE节点上部署Broker实例。Broker以插件的形式独立于Doris部署。如果从第三方存储系统导入数据,我们需要部署相应的Broker组件。Doris默认提供了读取HDFS和BOS源码的fs_broker。fs_broker是无状态的,建议每一个FE和BE节点都部署。

Broker安装过程如下。
1)修改相应Broker配置。在broker/conf/目录下对应的配置文件中可以修改相应配置。
2)启动Broker。用sh bin/start_broker.sh–daemon命令启动Broker。
3)添加Broker。要想让Doris的FE和BE知道Broker在哪些节点上,通过SQL命令添加Broker节点列表。使用mysql-client连接已启动的FE节点,命令如下:
在这里插入图片描述
其中,host为Broker节点对应的IP;port为Broker配置文件中broker_ipc_port对应的值。使用mysql-client连接已启动的FE节点,执行SHOW PROC“/brokers”命令查看Broker状态。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在 CSS 中使用 text-emphasis 来增强文本的趣味性

在CSS中设置文本样式的方法有很多。您可以更改颜色、大小、字体,甚至添加阴影和轮廓等效果。但最近,我了解到一个我以前没有听说过的时尚 CSS 属性,它非常棒! 它被称为文本强调(text-emphasis)&#xff0c…

1725 ssm资产管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java ssm资产管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/…

基于STM32F401RET6智能锁项目(BS82166A_3触摸按键)

一、BS81x 特征 • 工作电压:2.2V~5.5V • 低待机电流 • 自动校准功能 • 可靠的触摸按键检测 • 自动切换待机 / 工作模式 • 最长按键输出时间检测 • 具备抗电压波动功能 • Level Hold,可选高有效或低有效 • NMOS 输出内建上拉电阻 /CMOS 直接 输出…

TypeScript学习日志-第二十三天(装饰器Decorator)

装饰器Decorator 一、类装饰器 ClassDecorator 其中返回的 target 是 Http 的构造函数,有了构造函数就不会去破坏其自身原有的结构,当我们 Http 里面有多个属性或者方法的,当是我们不想看或者改变它,这时候可以在构造函数中增加即…

【C++】每日一题 17 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 可以使用回溯法来解决这个问题。首先定义一个映射关系将数字与字母对应起来…

数学建模——线性回归模型

目录 1.线性回归模型的具体步骤和要点: 1.收集数据: 2.探索性数据分析: 3.选择模型: 4.拟合模型: 5.评估模型: 1.R平方(R-squared): 2.调整R平方(Ad…

2024CCPC全国邀请赛(郑州)暨河南省赛

2024CCPC全国邀请赛(郑州站)暨河南省赛 一铜一银,虽不是线下第一次参赛但是第一次拿xcpc奖牌,还有个国赛奖真是不戳。感谢学长,感谢队友! 虽然遗憾没有冲到省赛金,不过还有icpc商丘&#xff08…

Golang RPC实现-day01

导航 Golang RPC实现一、主体逻辑设计二、服务设计1、监听和接收请求2、处理请求(1)服务结构体定义(2)确认请求方和服务方编解码格式(3)循环读取请求(4)解析请求的内容(5)响应请求 三、读取和发送数据到连接中代码 Golang RPC实现 先来一个最简单的版本,后续更新。…

蜜蜂收卡系统 加油卡充值卡礼品卡自定义回收系统源码 前后端开源uniapp可打包app

本文来自:蜜蜂收卡系统 加油卡充值卡礼品卡自定义回收系统源码 前后端开源uniapp可打包app - 源码1688 卡券绿色循环计划—— 一项旨在构建卡券价值再利用生态的社会责任感项目。在当前数字化消费日益普及的背景下,大量礼品卡、优惠券因各种原因未能有效…

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (三)

基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 大家继续看 https://lilianweng.github.io/posts/2023-06-23-agent/的文档内容 第二部分:内存 记忆的类型 记忆可以定义为用于获取、存储、保留以及随后检索信息的过程。人脑中有多…

PLL-分频器

概念 分频器的性能一般用四个参数来规定:(1)分频比,(2)最大允许输入频率fmax,(3)功耗,(4)最小允许输入电压摆幅(也叫“灵敏度”)。虽然分频器的相位噪声也很重要,但在大多数情况下它可以忽略不计。 把一般分频器的输入灵敏度画成…

HTML常用标签-表单标签

表单标签 1 表单标签2 表单项标签2.1 单行文本框2.2 密码框2.3 单选框2.4 复选框2.5 下拉框2.6 按钮2.7 隐藏域2.8 多行文本框2.9 文件标签 1 表单标签 表单标签,可以实现让用户在界面上输入各种信息并提交的一种标签. 是向服务端发送数据主要的方式之一 form标签,表单标签,其内…

2024年小学生古诗文大会备考:吃透历年真题和知识点(持续)

根据往年的安排,2024年小学生古诗文大会预计这个月就将启动。该如何备考2024年小学生古诗文大会呢?根据往期的经验,只要吃透这些真题和背后的知识点,通过上海小学生古诗文大会的初选(初赛)一点问题都没有。…

中国196个城市边界

中国196个城市的城市边界形状文件是通过对Li等人(2018)的输出进行处理和过滤生成的。根据全球人工不可渗透区域 (GAIA) 数据绘制全球城市边界。 城市建成区边界是城市研究中的一个重要指标,在很多城市研究中都会涉及到…

优先级队列(堆)

目录 leetcode题目 一、数组中两元素的最大乘积 二、最后一块石头的重量 三、数据流中的第 K 大元素 四、前K个高频元素 五、前K个高频单词 六、数据流的中位数 七、有序矩阵中的第K小的元素 八、根据字符出现频率排序 leetcode题目 一、数组中两元素的最大乘积 146…

20【Aseprite 作图】画岩石

1 画一个岩石的框架,不是一个正规的圆,可以把最高点不放在中心,会显得自然 2 用油漆桶填满框架 3 要改变岩石的颜色,可以调整HSV里面的S,降低饱和度 4 描边,和地面连接处可以不描边 5 颜色调得更浅一点,(通过HSV里面的S可以做到),作为亮处的轮廓; 通过把透明度调…

探索智慧生活:百度Comate引领人工智能助手新潮流

文章目录 百度Comate介绍1. 什么是百度Comate?主要特点 2. Comate的核心功能智能问答功能语音识别功能语音助手功能个性化服务 3. Comate 支持哪些语言? 使用教程(以vscode为例)1. 下载和安装Comate3. 常用操作快捷键(windows) 使用体验自然语言生成代码…

【联通支付注册/登录安全分析报告】

联通支付注册/登录安全分析报告 前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨…

未授权访问:ZooKeeper 未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验,一共有好多篇,内容主要是参考先知社区的一位大佬的关于未授权访问的好文章,还有其他大佬总结好的文章: 这里附上大…