Doris集群的安装部署

news2024/10/6 2:30:04

目录

安装与部署

软硬件配置​

1、机器选择

2、软件选择

3、环境信息修改和部署架构

4、安装部署Doris

5、启动FE

6、在FE节点启动MySQL客户端

7、在BE节点启动be

8、查看BE状态

8、查看FE状态是否正常

WEBUI

官方建议


安装与部署

该文档主要介绍了部署 Doris 所需软硬件环境、建议的部署方式、集群扩容缩容,以及集群搭建到运行过程中的常见问题。

软硬件配置​

1、机器选择

由于我这边是用来自己做学习使用,我这边采用了5台虚拟机。每台配置了8C16GB内存100GB硬盘

2、软件选择

        1、操作系统选择centos7.2的版本64位

        2、gcc版本是4.8.5

        3、Jdk是1.8

        4、Doris的版本选择1.2.3

3、环境信息修改和部署架构

  1、设置系统最大打开文件句柄数

vi /etc/security/limits.conf 
* soft nofile 65535 
* hard nofile 65535

2、Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。由于我这边是虚拟机,所以我修改客户机的时间和主机时间同步。从而达到时间同步

3、关闭交换分区(swap)​

Linux交换分区会给Doris带来很严重的性能问题,需要在安装之前禁用交换分区,

4、主机分配

实例名称

IP

主机

FE

192.168.18.130

xlucas1

BE

192.168.18.131

xlucas2

BE

192.168.18.132

xlucas3

BE

192.168.18.133

xlucas4

BE

192.168.18.134

xlucas5

4、安装部署Doris

1、解压

[root@xlucas1 doris]# tar -xvf apache-doris-fe-1.2.3-bin-x86_64.tar.xz

2、修改配置文件

cd /root/doris/apache-doris-fe-1.2.3-bin-x86_64/conf

修改FE的配置文件fe.conf,这里我们主要修改一个参数:priority_networks,添加信息

priority_networks=192.168.18.0/24

注意:

这个参数我们在安装的时候是必须要配置的,特别是当一台机器拥有多个IP地址的时候,我们要为 FE 指定唯一的IP地址。

这里假设你的节点 IP 是 192.168.18.130,那么我们可以通过掩码的方式配置为 192.168.18.0/24。

3、配置DORIS_HOME变量

修改 vi ~/.bash_profile,添加信息

export DORIS_HOME=/root/doris/apache-doris-fe-1.2.3-bin-x86_64

添加以后要变量生效 source ~/.bash_profile

5、启动FE

bin/start_fe.sh --daemon

我们可以通过http://fe_host:fe_http_port/api/bootstrap 查看是否启动成功

如果返回:

{"msg":"success","code":0,"data":{"replayedJournalId":0,"queryPort":0,"rpcPort":0,"version":""},"count":0}

则表示启动成功,其余情况,则可能存在问题。

6、在FE节点启动MySQL客户端

采用rpm包安装:

首先获取rpm包:

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-community-common-8.0.25-1.el7.x86_64.rpm 
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm 
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-community-libs-8.0.25-1.el7.x86_64.rpm
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-community-client-8.0.25-1.el7.x86_64.rpm

再次将这些包放在一个路径下面安装

rpm -Uvh *.rpm --nodeps --force

MySQL客户端安装完成以后开始配置BE节点

在FE节点运行命令:

mysql -h fe_host -P query_port -uroot

fe_host为FE节点

query_port为在FE节点conf/fe.conf中设置的端口号

mysql -h 192.168.18.130 -P 9030 -uroot

登录后,执行以下命令来添加每一个BE:

ALTER SYSTEM ADD BACKEND "be_host:heartbeat-service_port";

其中 be_host 为 BE 所在节点 ip;heartbeat_service_port 在 be/conf/be.conf 中。

7、在BE节点启动be

启动be

bin/start_be.sh --daemon

启动报错

[root@xlucas4 apache-doris-be-1.2.3-bin-x86_64-noavx2]# bin/start_be.sh --daemon 
Please set vm.max_map_count to be 2000000 under root using 'sysctl -w vm.max_map_count=2000000'.

解决方案:sysctl -w vm.max_map_count=2000000

再次启动报错

[root@xlucas2 apache-doris-be-1.2.3-bin-x86_64-noavx2]# bin/start_be.sh
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/doris/udf/JniUtil
Caused by: java.lang.ClassNotFoundException: org.apache.doris.udf.JniUtil
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
WARNING: Logging before InitGoogleLogging() is written to STDERR
W0416 01:53:45.238514  2901 doris_main.cpp:382] Failed to initialize JNI: [INTERNAL_ERROR]Failed to find JniUtil class.

原因:安装Java UDF 函数因为从 1.2 版本开始支持 Java UDF 函数,需要从官网下载 Java UDF 函数的 JAR 包放到 BE 的 lib 目录下,否则可能会启动失败。在官网下载依赖的jar包。下载完成后拷贝到BE的lib目录下即可

将包scp到BE节点:scp ./java-udf-jar-with-dependencies.jar root@192.168.18.134:/root/doris/apache-doris-be-1.2.3-bin-x86_64-noavx2/lib

注意:如果不是安装doris-1.2.0以后的版本可以不用下载该jar包

如果看到这些日志表示启动成功

8、查看BE状态

方式一:使用 mysql-client 连接到 FE,并执行

SHOW PROC '/backends';

查看 BE 运行情况。如一切正常,isAlive 列应为 true

方式二:通过URL来访问

http://be_host:webserver_port/api/health

webserver_port BE安装节点conf/be.conf中配置的端口

返回如下页面说明BE状态正常

8、查看FE状态是否正常

http://fe_host:fe_http_port/api/bootstrap

fe_host FE节点ip

fe_http_port FE安装节点conf/fe.conf中配置的端口

返回如下页面说明FE状态正常

mysql查看信息

1、检测FE

show frontends\G;

2、检测BE

SHOW BACKENDS\G;

WEBUI

http://fe_host:fe_http_port

用户名默认为root,没有密码,点击登录,可以看到如下页面

官方建议

  1. FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。
  2. BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量 * 3(3副本)计算,然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。
  3. 一台机器上可以部署多个 BE 实例,但是只能部署一个 FE。如果需要 3 副本数据,那么至少需要 3 台机器各部署一个 BE 实例(而不是1台机器部署3个BE实例)。多个FE所在服务器的时钟必须保持一致(允许最多5秒的时钟偏差)
  4. 测试环境也可以仅适用一个 BE 进行测试。实际生产环境,BE 实例数量直接决定了整体查询延迟。
  5. 所有部署节点关闭 Swap。

FE 节点的数量

  1. FE 角色分为 Follower 和 Observer,(Leader 为 Follower 组中选举出来的一种角色,以下统称 Follower)。
  1. FE 节点数据至少为1(1 个 Follower)。当部署 1 个 Follower 和 1 个 Observer 时,可以实现读高可用。当部署 3 个 Follower 时,可以实现读写高可用(HA)。
  2. Follower 的数量必须为奇数,Observer 数量随意。
  3. 根据以往经验,当集群可用性要求很高时(比如提供在线业务),可以部署 3 个 Follower 和 1-3 个 Observer。如果是离线业务,建议部署 1 个 Follower 和 1-3 个 Observer。

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

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

相关文章

如何压缩Outlook数据文件大小

由于 Outlook 需要管理大量的电子邮件,Outlook 偶尔会出现问题是很正常的。 但是,如果你注意到 Outlook 打开或加载的时间过长,这可能是一个严重的问题。此外,你还可能面临其他问题,比如收件箱加载时间过长&#xff0…

WebWorker、ThreeJs的渲染和控制

在 ios16.4 版本中已经开始支持了 OffscreenCanvas ,那看样子,是时候再把Three做一波优化了 背景介绍 在之前的项目经验中,如果使用threejs加载比较大的3d场景,那么在创建 threejs 的对象和绘制的时候,会占用浏览器线…

认识C++《共、枚、指1》

目录 前言: 1.共用体的基本知识 2.匿名共用体 3.枚举 3.1设置枚举值 3.2枚举的应用场景 3.3枚举变量的取值范围 4.地址和自由存储空间 5.指针的思想 6.指针的声明和初始化 前言: 指针内容比较多,还需要再出一篇。久等了!!我看了我的…

数据库中的视图及三级模式结构

文章目录一、视图二、数据库三级模式结构一、视图 简单地说,视图可以看成是一个窗口,它所反映的是一个表或若干表的局部数据,可以简化查询语句。视图一经定义,用户就可以把它当作表一样来查询数据。 但视图和基本表不同&#xf…

Python算法设计 - Karatsuba乘法

版权声明:原创不易,本文禁止抄袭、转载,侵权必究! 目录一、Karatsuba 乘法二、算法思路三、Python算法实现四、作者Info一、Karatsuba 乘法 当你在纸上做两个数字的乘法时,一般我们都是用小时候学到的方法&#xff1a…

22.SSM-JdbcTemplate总结

目录 一、JdbcTemplate对象。 (1)Spring产生JdbcTemplate对象。 (2)JdbcTemplate常用操作。 (3)知识要点。 一、JdbcTemplate对象。 (1)Spring产生JdbcTemplate对象。 这个是Sp…

AIGC大模型时代下,该如何应用高性能计算PC集群打造游戏开发新模式?

ACT | SIM | ETC | FTG | RAC AVG | RPG | FPS | MUG | PUZ ACT、SIM、ETC、FTG、RAC、RTS、STG、AVG、RPG、FPS、MUG、PUZ、SLG、SPG等游戏类型,需要高性能的计算机来支持运行。为了满足这些游戏的需求,国内服务器厂商不断推出新的产品,采用…

定点数加减运算

定点数加减运算 文章目录定点数加减运算格式相同位宽相同但不同格式运算位宽不同的定点数运算1.转换为S5.10格式的相同位宽2.统一转换为S10.5格式的相同位宽定点数运算可直接通过处理器内置的整数单元实现格式相同 加减法就是对应二进制形式的有符号整数的加减运算 例如 2.71…

[Date structure]时间/空间复杂度

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:数据结构。数据结构专栏主要是在讲解原理的基础上拿Java实现,有时候有C/C代码。 ⭐如果觉得文章写的…

手写锚点,且随着滚动屏幕自动高亮

入上图效果 通过判断几个id对应的dom离滚动区域上方的高度跟滚动区域高度对比高亮锚点 <template><div v-loading"totalLoading" class"define-target-container"><el-radio-group v-model"ucatsType" class"ucats-setti…

AUTOSAR Gateway介绍

概述 熟悉整车电子架构的朋友们都知道,Gateway(网关)在整车网络架构中协调不同物理链路数据的交换,发挥着数据中枢作用。本文为大家介绍AUTOSAR架构中Gateway的应用方式。 在AUTOSAR架构中,Signal、Signal Group或者PDU从一个源总线接收可以发送到一个或相同或不同协议的总…

ChatGPT可以做WebRTC音视频质量性能优化,惊艳到我了

摘要 随着GPT-4的发布&#xff0c;AI的风越吹越旺。GPT-4可以回答问题&#xff0c;可以写作&#xff0c;甚至可以基于一张草图生成html代码搭建一个网站。即构社区的一位开发者倪同学就基于目前在研究的WebRTC QoS技术点对GPT-3.5跟GPT-4进行一场实验&#xff0c;ChatGPT会取代…

HTTP与HTTPS的区别;TLS握手过程

一、HTTP协议与HTTPS 我们都知道当客户端与服务端需要进行通信时&#xff0c;需要根据一套协议来进行通信。 HTTP全程是超文本传输协议&#xff08;Hyper Text Transfer Protocol&#xff0c;HTTP&#xff09;是一个简单的请求-响应协议&#xff0c;它通常运行在TCP之上。它指…

Redis应用问题及解决

目录 一.缓存穿透 1.1 问题描述 1.2 解决方案 二.缓存击穿 2.1 问题描述 2.2 解决方案 三.缓存雪崩 3.1 问题描述 3.2 解决方案 当数据库压力变大&#xff0c;导致服务访问数据库响应变慢&#xff0c;导致服务的压力变大&#xff0c;最终可能导致服务宕机。 一.缓存穿透 1.1 …

Linux编译器——gcc/g++使用

前言&#xff1a; 在上一篇&#xff0c;我们学习了关于文本编辑器 vim 的全部知识&#xff0c;今天给大家带来的是关于Linux编译器—gcc/使用的详细介绍。 本文目录 &#xff08;一&#xff09;温习程序的产生的过程 1、前言 2、程序的产生过程 3、&#x1f31c;初步认识 gc…

深度学习中的算法学习与记忆,利用故事联想帮助大家记忆,每个人都会

大家好&#xff0c;我是微学AI&#xff0c;大家看过我的文章&#xff0c;想必是对深度学习有了一定的了解了&#xff0c;但是对于初学者来说&#xff0c;深度学习中有很多名词和数学知识、原理还是不太清楚&#xff0c;记忆的不牢固&#xff0c;用起来不熟练&#xff0c;今天就…

网络安全 - Web应用防护墙(WAF)

什么WAF Web应用防护墙&#xff08;Web Application Firewall&#xff09;简称WAF。是一种特定形式的应用程序防火墙&#xff0c;用于过滤、监控和阻断通过网页服务的HTTP流量。通过监察HTTP流量&#xff0c;它可以防止利用网页应用程序已知漏洞的攻击&#xff0c;例如SQL 注入…

适配器模式C++用法示例

五.适配器模式一.适配器模式1.原理2.适用场景3.代理、桥接、装饰器、适配器区别4.分类&#xff08;类适配器模式、对象适配器模式&#xff09;二.C程序示例1.类适配器2.对象适配器一.适配器模式 1.原理 适配器模式的原理是将一个类的接口转换成客户希望的另一个接口。适配器模…

权威认证!腾讯云数据安全中台入选工信部商用密码典型应用方案

近日&#xff0c;工业和信息化部、国家密码管理局发布了《关于公布工业和信息化领域商用密码典型应用方案名单的通知》&#xff0c;腾讯云“基于商用密码的数据安全中台”在众多方案中脱颖而出&#xff0c;成功入选工业和信息化领域商用密码典型应用方案名单。 密码可以实现信息…

在springboot项目中使用rocketmq消息队列实战

rocketmq环境搭建 在docket环境下安装部署rocketmq的方法记录在上一篇文章中。 (31条消息) docker环境下搭建rocketmq集群_haohulala的博客-CSDN博客 这种方式不一定是最好的&#xff0c;但是我用这种方式可以成功搭建rocketmq开发环境。 项目架构 我们需要在springboot中…