【Doris的安装和使用】

news2024/12/23 22:45:18

1.准备工作

1.1集群规划

在这里插入图片描述

1.2 操作系统安装要求

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

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

设置最大虚拟块的大小

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

将修改的配置分发给其他节点

sudo /home/atguigu/xsync /etc/sysctl.conf
sudo /home/atguigu/xsync /etc/security/limits.conf

重启生效

xcall sudo reboot

1.3下载安装包

根据自己的需要,下载合适的安装包
链接: https://doris.apache.org/download/

x86_64架构 cpu(intel,amd),执行命令:

cat /proc/cpuinfo

如果能看到avx2 字样选择带 avx2 的包,否则选择不带 avx2
arm64 加购 cpu(apple),选择 arm64 的安装包下载

2.安装

2.1解压安装包

根据自己的cpu 架构,选择合适的安装包解压(本文以 arm64 为例)
1.安装 fe:

mkdir -p /opt/module/doris
tar -xvf apache-doris-fe-1.2.4.1-bin-arm.tar.xz -C /opt/module/doris
mv /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/doris
mv /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/doris
mv /opt/module/doris/apache-doris-dependencies-1.2.4.1-bin-arm /opt/module/doris/dependencies
cp /opt/module/doris/dependencies/java-udf-jar-with-dependencies.jar /opt/module/doris/be/lib

2.2 配置 FE

2.2.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.0.0/16

生产环境强烈建议单独指定目录不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好)。
如果机器有多个ip, 比如内网外网, 虚拟机docker等, 需要进行ip绑定,才能正确识别。
JAVA_OPTS 默认 java 最大堆内存为 4GB,建议生产环境调整至 8G 以上。

2.2.2启动FE

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

2.2.3登录 FE Web页面

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

注:此网页可以用来执行doris 语句

2.3配置 BE

2.3.1 修改BE配置文件

vim /opt/module/doris/be/conf/be.conf
# 不配置存储目录, 则会使用默认的存储目录
# storage_root_path = /opt/module/doris-1.1.1/doris-storage1;/opt/module/doris-1.1.1/doris-storage2.SSD,10
priority_networks = 192.168.0.0/16
webserver_port = 7040 

storage_root_path默认在be/storage下,需要手动创建该目录。多个路径之间使用英文状态的分号;分隔(最后一个目录后不要加)。
可以通过路径区别存储目录的介质,HDD或SSD。可以添加容量限制在每个路径的末尾,通过英文状态逗号,隔开,如:
storage_root_path=/home/disk1/doris.HDD,50;/home/disk2/doris.SSD,10;/home/disk2/doris
说明:
/home/disk1/doris.HDD,50,表示存储限制为50GB,HDD;
/home/disk2/doris.SSD,10,存储限制为10GB,SSD;
/home/disk2/doris,存储限制为磁盘最大容量,默认为HDD
如果是 hdd,sdd 混合存储,则直接写目录即可。
如果机器有多个IP, 比如内网外网, 虚拟机docker等, 需要进行IP绑定,才能正确识别。

2.3.2分发BE

xsync be

2.3.3 添加 BE

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

安装 Mysql 客户端

使用 Mysql 客户端连接到 FE

mysql -hhadoop102 -P9030 -uroot

-P 指定端口(注意这里 P 是大写, 小写 p 用来指定密码)
FE 默认没有密码
设置密码: SET PASSWORD FOR 'root' = PASSWORD('aaaaaa');
添加 BE

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

查看 BE状态

SHOW PROC '/backends'\G

2.3.4启动 BE

分别在三个节点执行如下命令

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

3扩容和缩容

3.1FE 扩容和缩容

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

FE分为Leader,Follower和Observer三种角色。 默认一个集群只能有一个Leader,可以有多个Follower和Observer。其中Leader和Follower组成一个Paxos选择组,如果 Leader宕机,则剩下的Follower 会自动选出新的Leader,保证写入高可用。Observer 同步 Leader的数据,但是不参加选举。
如果只部署一个FE,则FE 默认就是Leader。在此基础上,可以添加若干Follower和 Observer。

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

配置Follower和Observer
分发 FE

xsync /opt/module/doris/fe

注意:需要去 hadoop103 和 hadoop104 删除 hadoop102 发过来的元数据

rm -rf /opt/module/doris/fe/doris-meta/*

在 hadoop103和 hadoop104 启动 FE
第一次启动时,启动命令需要添加参数 --helper leader主机: edit_log_port
分别在hadoop103和 hadoop104 执行:

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

在 mysql 客户端查看 FE 状态

show proc '/frontends';

删除 FE 节点(缩容)

ALTER SYSTEM DROP FOLLOWER[OBSERVER] "fe_host:edit_log_port";

注意:删除 Follower FE 时,确保最终剩余的 Follower(包括 Leader)节点为奇数

3.2BE 扩容和缩容

增加BE节点
在MySQL客户端,通过 ALTER SYSTEM ADD BACKEND 命令增加BE节点。
DROP方式删除BE节点(不推荐)

ALTER SYSTEM DROP BACKEND "be_host:be_heartbeat_service_port";

注意:DROP BACKEND 会直接删除该BE,并且其上的数据将不能再恢复!!!所以我们强烈不推荐使用 DROP BACKEND 这种方式删除BE节点。当你使用这个语句时,会有对应的防误操作提示。
DECOMMISSION 方式删除BE节点(推荐)

ALTER SYSTEM DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";

该命令用于安全删除BE节点。命令下发后,Doris 会尝试将该BE上的数据向其他BE节点迁移,当所有数据都迁移完成后,Doris会自动删除该节点。
该命令是一个异步操作。执行后,可以通过 SHOW PROC ‘/backends’; 看到该 BE 节点的isDecommission状态为true。表示该节点正在进行下线。
该命令不一定执行成功。比如剩余BE存储空间不足以容纳下线BE上的数据,或者剩余机器数量不满足最小副本数时,该命令都无法完成,并且BE会一直处于 isDecommission为true的状态。
DECOMMISSION的进度,可以通过SHOW PROC ‘/backends’; 中的TabletNum查看,如果正在进行,TabletNum将不断减少。
该操作可以通过如下命令取消:

CANCEL DECOMMISSION BACKEND "be_host:be_heartbeat_service_port";

取消后,该BE上的数据将维持当前剩余的数据量。后续Doris重新进行负载均衡。

4.群起群停脚本

vim  ~/bin/mydoris
#!/bin/bash
case $1 in
"start")
 		echo "  start   启动doris集群"
        for host in hadoop162 hadoop163 hadoop164 ; do
            echo "========== 在 $host 上启动 fe  ========="
            ssh $host "source /etc/profile; /opt/module/doris/fe/bin/start_fe.sh --daemon"
        done
        for host in hadoop162 hadoop163 hadoop164 ; do
            echo "========== 在 $host 上启动 be  ========="
            ssh $host "source /etc/profile; /opt/module/doris/be/bin/start_be.sh --daemon"
        done

       ;;
"stop")
			echo "  stop    停止doris集群"
            for host in hadoop162 hadoop163 hadoop164 ; do
                echo "========== 在 $host 上停止 fe  ========="
                ssh $host "source /etc/profile; /opt/module/doris/fe/bin/stop_fe.sh "
            done
            for host in hadoop162 hadoop163 hadoop164 ; do
                echo "========== 在 $host 上停止 be  ========="
                ssh $host "source /etc/profile; /opt/module/doris/be/bin/stop_be.sh "
            done

           ;;

    *)
        echo "你启动的姿势不对"
    ;;
esac

添加执行权限

chmod +x ~/bin/mydoris

测试

mydoris stop
mydoris start

5.常用命令

5.1连接

连接Doris

mysql -h hostname -p 9030 -uroot -paaaaaa

5.2 查看BE状态

show proc '/backends'\G; -- 查看be

5.3 查看FE状态

show proc '/frontends'\G; -- 查看fe

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

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

相关文章

麒麟-飞腾Kylin-V4桌面arm64系统静态编译QT

1.系统具体版本: 2. 因为此版本的源很老了,需要修改版本的源,才能正常更新各种软件,否则,你连麒麟商店都打不开。 sudo vi /etc/apt/sources.list 选择你系统对应版本的源地址: #4.0.2桌面版本: deb ht…

k8s 中的卷

前面的文章我们分享了 pod ,RC,RS,DaemonSet,CJ,Service 等各种资源 今天我们来分享一波如何将磁盘挂载到容器中,在 docker 里面这种技术叫做 数据卷,感兴趣的小伙伴可以查看一下文章&#xff…

JDK环境配置、且运行一个简单程序

目录 JDK环境配置命令行运行java文件 JDK环境配置 下载好jdk,打开jdk下的bin,复制路径。 右击我的电脑,点击属性,找到高级系统设置,点击环境变量。 双击path,新建把路径粘贴进去即可。 打开cmd输入javac -version…

不会编程也可以制作ERP、CRM系统?

在以往的编程开发中,如果想要个人开发一款简单的ERP等流程系统,肯定是需要有编程代码的功底的,再学习编程语言和框架,又得花费大量的时间,而且不能完全确保可以做出来,毕竟编程开发有一定的门槛&#xff0c…

3d Max中的Arnold渲染为黑色,这样处理!

使用Arnold渲染视图(ARV)时,图像保持黑色。 快照功能和常规3ds Max渲染设置可按预期生成图像。 解决方案: 解决方案可能需要执行下面的一项或多项操作: 添加光源 检查场景文件是否包含光源。如果场景中没有光源,渲染结果为黑色…

通信算法之178: 通信信道模型及循环/线性卷积2

上一篇见 通信算法之159: 通信信道模型和循环/线性卷积 一. 衰减 二.多径效应--时延扩展--相干带宽 三. 时变性--多普勒扩展--相干时间 四. 频率选择性衰落,时间选择性衰落 小尺度衰落,小 五.瑞丽和莱斯信道 六循环卷积与线性卷积 线性卷积定义及计算…

C# PaddleInference OCR 表格识别

效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleInferenceSdcb.PaddleOCR 测试图片 代码 using OpenCvSharp.Extensions; using OpenCvSharp; using Sdcb.PaddleInference; using Sdcb.PaddleOCR; using Sdcb.PaddleOCR.Models; using Sdcb.PaddleOCR.Models.Details; using…

netwox伪造ARP响应【网络工程】(保姆级图文)

目录 伪造ARP响应1) 在模拟之前,验证局域网中是否存在主机 192.168.43.97。在主机 B 上使用 arping 命令 ping 该主机。执行命令如下:2) 在主机 A 上伪造 ARP 响应,创建虚拟主机 192.168.43.97,设置其 MAC 地址为 A1:B…

react 初学(1)

1.安装环境 需要Node.js 自行下载安装 然后全局安装create-react-app npm install -g create-react-app 如果出现报错请参考 create-react-app -V 报错无法将“create-react-app”项识别为 cmdlet、函数、脚本文件或可运行程序的名称_Java-请多指教的博客-CSDN博客 2.创建…

尚医通04:Axios Node Npm bable webpack+前端工程改造

目录 本日学习 内容介绍 Axios Node NPM包管理器 本日学习 1. 了解Axios :他是异步请求用的,前后端。 用于在浏览器和 Node.js 中发送 HTTP 请求。它支持从服务器获取数据、上传数据以及执行其他与 HTTP 相关的操作。 2.Node:它允许你在服务器端运行 JavaScrip…

stm32(adc数模转换)

ADC介绍 ADC是什么? 全称:Analog-to-Digital Converter,指模拟/数字转换器 ADC的性能指标 量程:能测量的电压范围分辨率:ADC能辨别的最小模拟量,通常以输出二进制数的位数表示,比如&#xff1…

Leetcode每日一题:931. 下降路径最小和(2023.7.13 C++)

目录 931. 下降路径最小和 题目描述: 实现代码与解析: 动态规划 原理思路: 931. 下降路径最小和 题目描述: 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降…

mongdb实战

概述 前言 这几天轮播图想用mongdb开发,然后就有了一下代码 效果图 源码如下 package jkw.pojo;import lombok.Data; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.index.Indexed; import org.springframewo…

【JAVA】穷词——基于嵌入式的数据库derby+BeautyEye的单词字典应用

文章目录 1. 题目2. 项目结构层次3. 环境以及技术栈说明4. 项目报告4.1软件功能描述4.2项目类图4.2.1 src层级下的类图4.2.2 data层级下的类图4.2.3 gui层级下的类图4.2.4 resource层级下的类图4.2.5 view层级下的类图4.2.6 DelWord的类图4.2.7 CustomMessageDialog的类图4.2.8…

Antd List组件增加gutter属性后出现横向滚动,如何解决

第一次使用ant design的List列表组件,设置gutter间隔属性后,页面出现了横向滚动条,查阅文档发现是由于加间隔后导致容器宽度被撑开,ant design官方默认给外层容器加了margin-left和margin-right 解决方法是在外层容器预留一定的pa…

stringstream的使用

写到290题使用stringstream简化步骤&#xff0c;学习一下使用 目录 小问题&#xff1f; 成员函数clear() 那么问题来了&#xff1f;clear在啥时候用呢&#xff1f; 数据类型转换 <sstream>库定义了三种类&#xff1a;istringstream、ostringstream、stringstream &l…

RT1176 LCDIFv2 RGB565引脚不连续

RT1052和RT1176的LCDIF&#xff0c;使用RGB565格式时PIN脚分配是连续的:LCDIF_DATA00~LCDIF_DATA15。 但RT1176的LCDIFv2并不是这样&#xff0c;使用RGB565格式时PIN脚分配不是连续的&#xff0c;而是移位填充8位*324位分配的。 RT1176 LCDIFv2 RGB565LCDIF_DATA00LCDIF_DATA0…

CVE漏洞复现-CVE-2021-36934 Windows 提权漏洞

CVE-2021-36934 Windows 提权漏洞 漏洞描述 7月20日&#xff0c;微软确认了一个新的本地提权漏洞&#xff0c;安全研究成员将其称为HiveNightmare或者SeriousSAM&#xff0c;该漏洞允许低权限的用户访问Windows系统文件。成功利用此漏洞的攻击者可以使用SYSTEM特权运行任意代…

16位ADC芯片SGM58031驱动重点

16位ADC芯片SGM58031驱动重点 文章目录 16位ADC芯片SGM58031驱动重点引脚描述时间要求I2C时序图I2C通讯描述I2C接口I2C地址选择I2C常规呼叫I2C速度模式从模式操作 寄存器指针寄存器转换寄存器配置寄存器低阈值和高阈值寄存器Config1寄存器芯片ID寄存器GN_Trim1寄存器&#xff0…

Linux(驱动编程)(调试技术)(imx6ull)

调试技术 1、在写驱动程序时函数未包含头文件 在linux内核源码driver/char目录下输入命令 grep “XXXX” * -nrw查看次函数在那个.c里用过&#xff0c;然后在vscode界面下按altp搜索这个.c就可以参考这个.c的头文件。 2、编译完驱动跟应用后先 insmod xxx.ko //插入 cat /…