[Doris] Doris的安装和部署 (二)

文章目录

      • 1.安装要求
        • 1.1 Linux操作系统要求
        • 1.2 软件需求
        • 1.3 注意事项
        • 1.4 内部端口
      • 2.集群部署
        • 2.1 操作系统安装要求
        • 2.2 下载安装包
        • 2.3 解压
        • 2.4 配置FE
        • 2.5 配置BE
        • 2.6 添加BE
        • 2.7 FE 扩容和缩容
        • 2.8 Doris 集群群起脚本
      • 3.图形化

1.安装要求

1.1 Linux操作系统要求

在这里插入图片描述

1.2 软件需求

在这里插入图片描述

1.3 注意事项
  1. 所有部署节点关闭Swap。
  2. Follower的数量必须为奇数,Observer 数量随意。
  3. 当集群可用性要求很高时(比如提供在线业务),可以部署3个 Follower和1-3个Observer。如果是离线业务,建议部署1个Follower和1-3个Observer。
  4. 测试环境也可以仅适用一个BE进行测试。实际生产环境,BE实例数量直接决定了整体查询延迟。
1.4 内部端口

在这里插入图片描述

在这里插入图片描述

当部署多个FE实例时,要保证FE的http_port配置相同。

2.集群部署

在这里插入图片描述

2.1 操作系统安装要求

设置系统最大打开文件句柄数(注意这里的*不要去掉)。

sudo vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536

设置最大虚拟块的大小。

sudo vim /etc/sysctl.conf
vm.max_map_count=2000000

重启生效。

2.2 下载安装包

在这里插入图片描述

cat /proc/cpuinfo | grep avx2

如果能看到avx2 字样选择带 avx2 的包。
arm64 架构 cpu(apple),选择 arm64 的安装包下载。

2.3 解压

(1)安装 fe

mkdir -p /opt/module/doristar -xvf apache-doris-fe-1.2.4.1-bin-arm.tar.xz -C /opt/module/dorismv /opt/module/doris/apache-doris-fe-1.2.4.1-bin-arm /opt/module/doris/fe

(2)安装 be

tar -xvf apache-doris-be-1.2.4.1-bin-arm.tar.xz -C /opt/module/dorismv /opt/module/doris/apache-doris-be-1.2.4.1-bin-arm /opt/module/doris/be

(3)安装其他依赖(java udf 函数)

tar -xvf apache-doris-dependencies-1.2.4.1-bin-arm.tar.xz -C /opt/module/dorismv /opt/module/doris/apache-doris-dependencies-1.2.4.1-bin-arm /opt/module/doris/dependenciescp /opt/module/doris/dependencies/java-udf-jar-with-dependencies.jar /opt/module/doris/be/lib
2.4 配置FE

1)修改FE配置文件

vim /opt/module/doris/fe/conf/fe.conf# web 页面访问端口
http_port = 7030
# 配置文件中指定元数据路径:默认在 fe 的根目录下,可以不配
# meta_dir = /opt/module/doris/fe/doris-meta
# 修改绑定 ip
priority_networks = 192.168.254.102/24
  1. 生产环境强烈建议单独指定目录不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好)。
  2. 如果机器有多个IP,比如内网外网, 虚拟机docker等,需要进行IP绑定,才能正确识别。
  3. JAVA_OPTS 默认Java 最大堆内存为 4GB,建议生产环境调整至 8G 以上。

2)启动FE

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

3)登录 FE Web页面

地址:http://hadoop102:7030/login
用户:root
密码:无

在这里插入图片描述

2.5 配置BE
vim /opt/module/doris/be/conf/be.confwebserver_port = 7040priority_networks = 192.168.254.102/24mem_limit=40%

分发be

xsync be
2.6 添加BE

BE节点需要先在FE中添加,才可加入集群。可以使用mysql-client连接到FE。

1)使用 Mysql 客户端连接到 FE

mysql -h hadoop102 -P9030 -uroot

在这里插入图片描述

2)添加BE

ALTER SYSTEM ADD BACKEND "hadoop102:9050";
ALTER SYSTEM ADD BACKEND "hadoop103:9050";
ALTER SYSTEM ADD BACKEND "hadoop104:9050";

3)启动BE

hadoop102, hadoop103, hadoop104 上都启动BE

/opt/module/doris/be/bin/start_be.sh --daemon

4)mysql查看BE状态

SHOW PROC '/backends'\G

在这里插入图片描述

2.7 FE 扩容和缩容

通过将FE扩容至3个以上节点(必须是奇数)来实现FE的高可用。

1)添加为OBSERVER

ALTER SYSTEM ADD OBSERVER "hadoop103:9010";
ALTER SYSTEM ADD OBSERVER "hadoop104:9010";

2)分发fe

xsync fe

3)启动fe
hadoop102启动:

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

hadoop103, hadoop104 第一次启动的时候需要参数 --helper leader主机: edit_log_port

/opt/module/doris/fe/bin/start_fe.sh --daemon --helper hadoop102:9010

4)mysql上看fe的状态

show proc '/frontends';

在这里插入图片描述

2.8 Doris 集群群起脚本
#!/bin/bash
case $1 in"start")for host in hadoop102 hadoop103 hadoop104 ; doecho "========== 在 $host 上启动 fe  ========="ssh $host "source /etc/profile; /opt/module/doris/fe/bin/start_fe.sh --daemon"donefor host in hadoop102 hadoop103 hadoop104 ; doecho "========== 在 $host 上启动 be  ========="ssh $host "source /etc/profile; /opt/module/doris/be/bin/start_be.sh --daemon"done;;"stop")for host in hadoop102 hadoop103 hadoop104 ; doecho "========== 在 $host 上停止 fe  ========="ssh $host "source /etc/profile; /opt/module/doris/fe/bin/stop_fe.sh "donefor host in hadoop102 hadoop103 hadoop104 ; doecho "========== 在 $host 上停止 be  ========="ssh $host "source /etc/profile; /opt/module/doris/be/bin/stop_be.sh "done;;*)echo "你启动的姿势不对"echo "  start   启动doris集群"echo "  stop    停止stop集群";;
esac

在这里插入图片描述

hadoop102:7030/login

在这里插入图片描述

在这里插入图片描述

3.图形化

在这里插入图片描述

在这里插入图片描述

BE:backends

在这里插入图片描述

FE:frontends

在这里插入图片描述

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

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

相关文章

【MySQL】学习约束和使用图形化界面创建表

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-iqtbME2KmWpQFQSt {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

Python数学建模之回归分析

1.基本概念及应用场景 回归分析是一种预测性的建模技术,数学建模中常用回归分析技术寻找存在相关关系的变量间的数学表达式,并进行统计推断。例如,司机的鲁莽驾驶与交通事故的数量之间的关系就可以用回归分析研究。回归分析根据变量的…

小结与数字的魅力的开篇

小结 本系列主要介绍了一些排序算法,包括冒泡排序、快速排序、直接插入排序、希尔排序、简单选择排序、堆排序、归并排序、计数排序、桶排序和基数排序。 排序算法本身并不难,但其涉及的知识点却星罗棋布,其变化莫测的思路更让人难以捉摸&am…

django CBV 与 DRF APIView源码分析

django CBV源码分析 在django框架中,视图层中的逻辑即可以使用函数处理也可以使用类进行处理,如果在视图层中使用函数处理请求,就是FBV(function base views),如果在视图层中使用类处理请求,就是CBV(class base views…

【lesson54】线程互斥

文章目录 线程互斥 线程互斥 互斥量mutex 大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况,变量归属单个线程,其他线程无法获得这种变量。但有时候,很多变量都需要在线程间…

计算机服务器中了locked勒索病毒怎么处理,locked勒索病毒解密数据恢复

网络技术的不断发展,为企业的生产生活提供了极大便利,但也为网络安全带来严重威胁。近期,云天数据恢复中心接到某集团企业的求助,企业的计算机服务器遭到了locked勒索病毒攻击,导致企业系统内部的金蝶账套全部被加密&a…

前端学习的笔记第二篇

vscode如何快速生成代码 ! Tab 效果&#xff1a; 解析&#xff1a; <!DOCTYPE html>: 指定当前html版本5。 <html lang"en">: lang > language&#xff0c;en > english。指定当前页面内容是英文的。 <meta charset"UTF-8">:…

DS:树及二叉树的相关概念

创作不易&#xff0c;兄弟们来波三连吧&#xff01;&#xff01; 一、树的概念及结构 1.1 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c…

Qt之条件变量QWaitCondition详解

QWaitCondition内部实现结构图&#xff1a; 相关系列文章 C之Pimpl惯用法 目录 1.简介 2.示例 2.1.全局配置 2.2.生产者Producer 2.3.消费者Consumer 2.4.测试例子 3.原理分析 3.1.辅助函数CreateEvent 3.2.辅助函数WaitForSingleObject 3.3.QWaitConditionEvent …

URL编码算法:解决特殊字符在URL中的烦恼

引言&#xff1a; URL编码算法是一种将URL中的特殊字符转换为特定格式的编码方式。它在网络传输中起到了保护数据安全与完整性的重要作用。本文将深入探讨URL编码算法的优点与缺点&#xff0c;并介绍它在Web开发、网络安全等方面的应用。 URL编码解码 | 一个覆盖广泛主题工具…

HiveSQL——不使用union all的情况下进行列转行

参考文章&#xff1a; HiveSql一天一个小技巧&#xff1a;如何不使用union all 进行列转行_不 union all-CSDN博客文章浏览阅读881次&#xff0c;点赞5次&#xff0c;收藏10次。本文给出一种不使用传统UNION ALL方法进行 行转列的方法,其中方法一采用了concat_wsposexplode()方…

C++:stack queue - 容器适配器

C&#xff1a;容器适配器 容器适配器概念stackqueuedeque 容器适配器概念 容器适配器是在C标准库中提供的一种容器的封装。它们提供了一种统一的接口&#xff0c;使得不同类型的容器可以以相似的方式被使用。容器适配器有三种类型&#xff1a;栈&#xff08;stack&#xff09;…