分布式数据库Apache Doris简易体验

news2024/12/28 22:18:15

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

  • 前言
    • 1.Apache Doris介绍
    • 2.Doris下载解压
    • 3.JDK环境
    • 4.配置Doris
      • 4.1 配置FE
      • 4.2 启动FE
      • 4.3 连接Doris
      • 4.4 配置BE
      • 4.5 启动BE

前言

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,本次基于开源的这个分布式数据库,我们开启体验之旅。

1.Apache Doris介绍

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即时查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

官网地址:https://doris.apache.org/zh-CN/

2.Doris下载解压

Doris 运行在 Linux 环境中,推荐 CentOS 7.x 或者 Ubuntu 16.04 以上版本,
同时你需要安装 Java 运行环境(JDK版本要求为8),
要检查你所安装的 Java 版本,请运行以下命令:

##卸载自带的JDK
[root@doris ~]# rpm -qa|grep jdk
java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
copy-jdk-configs-3.3-10.el7_5.noarch
[root@doris ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
[root@doris ~]# rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch
[root@doris ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
[root@centos79 ~]# java -version
openjdk version “1.8.0_262”
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

接下来,下载 Doris 的最新二进制版本,本次我们安装的版本是2.0.2,
下载后上传服务器并解压。
[root@centos79 ~]# mkdir -p /doris/soft
[root@centos79 ~]# tar xf /opt/apache-doris-2.0.2-bin-x64.tar.gz -C /doris/soft
##关闭防火墙
[root@centos79 ~]# systemctl stop firewalld
[root@centos79 ~]# systemctl disable firewalld
##host配置
hostnamectl set-hostname doris
cat >> /etc/hosts <<“EOF”
192.168.6.30 doris
EOF

3.JDK环境

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序
1.下载Linux环境下的jdk1.8
https://www.oracle.com/java/technologies/downloads/#java8
2.JDK压缩包解压
tar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local
3.环境变量导入
vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

##环境变量生效
source /etc/profile
##确认安装是否成功
[root@doris ~]# java -version
java version “1.8.0_391”
Java™ SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot™ 64-Bit Server VM (build 25.391-b13, mixed mode)

4.配置Doris

4.1 配置FE

进入到 apache-doris 解压后的fe进行配置
[root@centos79 ~]# cd /doris/soft/apache-doris-2.0.2-bin-x64/fe
修改 FE 配置文件 conf/fe.conf ,
这里我们主要修改两个参数:priority_networks 及 meta_dir
1)添加 priority_networks 参数
priority_networks=192.168.6.0/24
注意:
这个参数我们在安装的时候是必须要配置的,特别是当一台机器拥有多个IP地址的时候,我们要为 FE 指定唯一的IP地址。
这里假设你的节点 IP 是 192.168.6.30,那么我们可以通过掩码的方式配置为 192.168.6.0/24

2)添加元数据目录
meta_dir=/doris/soft/doris-meta
注意
这里你可以不配置,默认是在你的Doris FE 安装目录下的 doris-meta,
单独配置元数据目录,需要你提前创建好你指定的目录
mkdir -p /doris/soft/doris-meta

4.2 启动FE

在 FE 安装目录下执行下面的命令,来完成 FE 的启动
[root@centos79 ~]# cd /doris/soft/apache-doris-2.0.2-bin-x64/fe
[root@centos79 fe]# ./bin/start_fe.sh --daemon
##查看 FE 运行状态
你可以通过下面的命令来检查 Doris 是否启动成功
[root@centos79 ~]# curl http://127.0.0.1:8030/api/bootstrap
{“msg”:“success”,“code”:0,“data”:{“replayedJournalId”:0,“queryPort”:0,“rpcPort”:0,“version”:“”},“count”:0}
这里 IP 和 端口分别是 FE 的 IP 和 http_port(默认8030),如果是你在 FE 节点执行,直接运行上面的命令即可。
如果返回结果中带有 “msg”:“success” 字样,则说明启动成功。
你也可以通过 Doris FE 提供的Web UI 来检查,在浏览器里输入地址
http://192.168.6.30:8030
可以看到下面的界面,说明 FE 启动成功
注意:
这里我们使用 Doris 内置的默认用户 root 进行登录,密码是空
这是一个 Doris 的管理界面,只能拥有管理权限的用户才能登录,普通用户不能登录。
停止 FE 节点
Doris FE 的停止可以通过下面的命令完成
./bin/stop_fe.sh

在这里插入图片描述

4.3 连接Doris

我们下面通过 MySQL 客户端来连接 Doris FE
MySQL 客户端安装好后,在 bin/ 目录下可以找到 mysql 命令行工具。
然后执行下面的命令连接 Doris
mysql -uroot -P9030 -h127.0.0.1
注意:
这里使用的 root 用户是 doris 内置的默认用户,也是超级管理员用户,具体的用户权限查看 权限管理
-P :这里是我们连接 Doris 的查询端口,默认端口是 9030,对应的是fe.conf里的 query_port
-h : 这里是我们连接的 FE IP地址,如果你的客户端和 FE 安装在同一个节点可以使用127.0.0.1。

执行下面的命令查看 FE 运行状态
show frontends\G;
然后你可以看到类似下面的结果:
mysql> show frontends\G;
*************************** 1. row ***************************
Name: fe_c4901139_bfd3_4af0_8a16_944ab2f09c9a
Host: 192.168.6.30
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: FOLLOWER
IsMaster: true
ClusterId: 1951620654
Join: true
Alive: true
ReplayedJournalId: 624
LastHeartbeat: 2023-10-29 09:10:53
IsHelper: true
ErrMsg:
Version: doris-2.0.2-rc05-ae923f7
CurrentConnected: Yes
1 row in set (0.09 sec)
ERROR:
No query specified
如果 IsMaster、Join 和 Alive 三列均为true,则表示节点正常

4.4 配置BE

1.配置文件 conf/be.conf
我们进入到 apache-doris-2.0.2-bin-x64/be 目录,修改 BE 配置文件 conf/be.conf
这里我们主要修改两个参数:priority_networks 及 storage_root
1)添加 priority_networks 参数
priority_networks=192.168.6.0/24
注意:
这个参数我们在安装的时候是必须要配置的,
特别是当一台机器拥有多个IP地址的时候,我们要为 BE 指定唯一的IP地址。
2)配置 BE 数据存储目录
storage_root_path=/doris/soft/data_dir
注意:
默认目录在 BE安装目录的 storage 目录下。
BE 配置的存储目录必须先创建好
[root@doris ~]# mkdir -p /doris/soft/data_dir
2.配置 JAVA_HOME 环境变量
由于从 1.2 版本开始支持 Java UDF 函数,BE 依赖于 Java 环境。
所以要预先配置 ‘JAVA_HOME’ 环境变量,也可以在 ‘start_be.sh’ 启动脚本第一行添加 ‘export JAVA_HOME=your_java_home_path’ 来添加环境变量。
vi /doris/soft/apache-doris-2.0.2-bin-x64/be/bin/start_be.sh
export JAVA_HOME=/usr/local/jdk1.8.0_391

4.5 启动BE

1.在 BE 安装目录下执行下面的命令,来完成 BE 的启动。
cd /doris/soft/apache-doris-2.0.2-bin-x64/be/
./bin/start_be.sh --daemon
2.添加 BE 节点到集群
通过MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中
ALTER SYSTEM ADD BACKEND “be_host_ip:heartbeat_service_port”;
注意:
1)be_host_ip:这里是你 BE 的 IP 地址,和你在 be.conf 里的 priority_networks 匹配
2)heartbeat_service_port:这里是你 BE 的心跳上报端口,
和你在 be.conf 里的 heartbeat_service_port 匹配,默认是 9050。

[root@doris ~]# mysql -uroot -P9030 -h127.0.0.1
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.99 Doris version doris-2.0.2-rc05-ae923f7
Copyright © 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> ALTER SYSTEM ADD BACKEND “192.168.6.30:9050”;
Query OK, 0 rows affected (0.09 sec)
查看 BE 运行状态
你可以在 MySQL 命令行下执行下面的命令查看 BE 的运行状态。
mysql> SHOW BACKENDS\G
*************************** 1. row ***************************
BackendId: 12451
Host: 192.168.6.30
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2023-10-29 10:50:58
LastHeartbeat: 2023-10-29 12:01:48
Alive: true
SystemDecommissioned: false
TabletNum: 21
DataUsedCapacity: 0.000
TrashUsedCapcacity: 0.000
AvailCapacity: 47.193 GB
TotalCapacity: 62.986 GB
UsedPct: 25.07 %
MaxDiskUsedPct: 25.07 %
RemoteUsedCapacity: 0.000
Tag: {“location” : “default”}
ErrMsg:
Version: doris-2.0.2-rc05-ae923f7
Status: {“lastSuccessReportTabletsTime”:“2023-10-29 12:01:06”,“lastStreamLoadTime”:-1,“isQueryDisabled”:false,“isLoadDisabled”:false}
HeartbeatFailureCounter: 0
NodeRole: mix
1 row in set (0.01 sec)
注意:Alive : true表示节点运行正常

让我们一起开启分布式数据库Apache Doris的体验之旅吧

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

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

相关文章

公司电脑禁用U盘的方法

公司电脑禁用U盘的方法 安企神U盘管理系统下载使用 在这个复杂的数据时代&#xff0c;保护公司数据的安全性至关重要。其中&#xff0c;防止未经授权的数据泄露是其中的一个关键环节。U盘作为一种常用的数据传输工具&#xff0c;也成为了潜在的安全风险。因此&#xff0c;公司…

DOM节点学习

喜欢的东西太贵了&#xff0c;我一咬牙&#xff0c;狠下心决定不喜欢了&#xff01; 【文档节点--DOM有哪些节点】 仔细看下面文档的html标签的不同 1.li标签没换行 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"&…

【代码随想录】算法训练计划04

1、24. 两两交换链表中的节点 题目&#xff1a; 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 思路&#xff1a; 链表这种题…

自己动手搭建一个传奇是什么体验?下面是我搭建的详细教程,大家跟着教程做,不光是学会了技术,平时还可以帮朋友搭建

传奇游戏是一代人的回忆&#xff0c;它曾经风靡一时&#xff0c;让无数玩家沉迷其中。这款游戏以其独特的玩法、丰富的故事背景和深刻的角色刻画&#xff0c;吸引了一大批忠实粉丝。 在传奇游戏中&#xff0c;玩家可以体验到各种不同的职业和角色&#xff0c;每个角色都有自己…

计算机毕业设计 基于SpringBoot高校竞赛管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

javascript数据类型

目录 原始数据类型 引用数据类型 类型检测 类型转换 总结 原始数据类型 JavaScript 中有六种原始数据类型&#xff0c;它们是&#xff1a; Undefined&#xff08;未定义&#xff09;: 表示一个未被赋值的变量。Null&#xff08;空值&#xff09;: 表示一个空对象指针。B…

jetson nano刷机更新Jetpack

只是记录个人在使用英伟达jetson Nano的经历,由于头一次尝试,所以特此记录需要的问题和经验。 一,英伟达刷机教程(jetson nano 版本) 本次我是直接刷机到TF卡,然后TF卡作为启动盘进行启动,我看网上有带EMMC版本的,好像可以直接把系统镜像安装到EMMC里面。但是有个问题…

【每日一题】2558. 从数量最多的堆取走礼物-2023.10.28

题目&#xff1a; 2558. 从数量最多的堆取走礼物 给你一个整数数组 gifts &#xff0c;表示各堆礼物的数量。每一秒&#xff0c;你需要执行以下操作&#xff1a; 选择礼物数量最多的那一堆。如果不止一堆都符合礼物数量最多&#xff0c;从中选择任一堆即可。选中的那一堆留下…

ssm164学院学生论坛的设计与实现+vue

项目名称&#xff1a;ssm164学院学生论坛的设计与实现vue 点击这里进入源码目录 声明&#xff1a; 适用范围&#xff1a; 本文档适用于广泛的学术和教育用途&#xff0c;包括但不限于个人学习、毕业设计和课程设计。免责声明&#xff1a; 特此声明&#xff0c;本文仅供参考学…

赴日IT培训 日本IT行业为啥吃香?

确实现在有许多小伙伴尝到了赴日IT的甜头&#xff0c;可是去日本从事IT行业真的很简单吗&#xff1f;为什么日本的IT行业这么缺人呢&#xff1f;那今天小编就跟大家聊一聊日本的IT行业。 咱们先来说说日本的IT行业为什么缺人&#xff1f;其实不只是IT行业&#xff0c;可以说日…

Azure云工作站上做Machine Learning模型开发 - 全流程演示

目录 本文内容先决条件从“笔记本”开始设置用于原型制作的新环境&#xff08;可选&#xff09;创建笔记本开发训练脚本迭代检查结果 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0…

53. 寻宝(第七期模拟笔试)(最小生成树练习)

本题链接&#xff1a;卡码网KamaCoder 题目&#xff1a; 样例&#xff1a; 输入 7 11 1 2 1 1 3 1 1 5 2 2 6 1 2 4 2 2 3 2 3 4 1 4 5 1 5 6 2 5 7 1 6 7 1 输出 6 思路&#xff1a; 由题意&#xff0c;这里是需要遍历完全部的顶点&#xff0c;求遍历完全部点的花费最短距离…

java基础 特殊文件

1.Properties属性文件&#xff1a; 1.1使用Properties读取属性文件里的键值对数据&#xff1a; package specialFile;import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Enumeration; import java.util.Propert…

【C++】C++入门(中)--引用

目录 一 引用概念 二 引用特性 三 常引用 四 引用使用场景 1 做参数 2. 做返回值 1 例一 2 例二 3 例三 4 例四 五 传值, 传引用效率比较 六 值和引用的作为返回值类型的性能比较 七 引用和指针的区别 一 引用概念 引用不是新定义一个变量&#xff0c;而是给已存…

视频智能视觉分析真的遥不可及吗?有没有那种下载就能用的视频分析服务?

我一直有一个感觉&#xff0c;就是市面上很难找到那么一个带视频算法的软件&#xff0c;能让我们很直观地看到视频分析的效果&#xff0c;大部分都要内置在某种算力硬件上&#xff0c;或者对GPU要求比较严格&#xff0c;很难做到像以前我们做的视频直播软件那样&#xff0c;下载…

Springboot+vue地方废品回收机构管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue地方废品回收机构管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&…

牛客网刷题-(7)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

RK3568平台 sys虚拟文件系统添加节点

一.常见的linux文件系统 1. EXT2: EXT2是最早的Linux文件系统之一&#xff0c;它被广泛应用于Linux操作系统中。它支持大小为16TB的分区和最大文件大小为2TB。由于其简单性和高可靠性&#xff0c;在很长一段时间内仍被许多用户所选择。 2. EXT3: 2001年&#xff0c;Linux社区…

【100天精通Python】Day72:Python可视化_一文掌握Seaborn库的使用《二》_分类数据可视化,线性模型和参数拟合的可视化,示例+代码

目录 1. 分类数据的可视化 1.1 类别散点图&#xff08;Categorical Scatter Plot&#xff09; 1.2 类别分布图&#xff08;Categorical Distribution Plot&#xff09; 1.3 类别估计图&#xff08;Categorical Estimate Plot&#xff09; 1.4 类别单变量图&#xff08;Cat…

《C和指针》笔记35:结构体

本文整理一下结构体的相关知识&#xff0c;记录是为了更好地加深理解。 1. 结构体声明 下面两个声明语句&#xff1a; struct {int a;char b;float c; } x;struct {int a;char b;float c; } y[20], *z;这两个声明被编译器当作两种截然不同的类型&#xff0c;即使它们的成员列…