Apache Doris单机快速安装(已踩坑)

官方文档:https://doris.incubator.apache.org/zh-CN/docs/get-starting/quick-start/

环境:
操作系统:CentOS7.6 X86_64
JDK:Oracle jdk1.8.0_351

1.版本下载

从 doris.apache.org 下载相应的 Doris 安装包,并且解压。

# 下载 Doris 二进制安装包
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.3-bin-x64.tar.gz# 解压安装包
tar zxf apache-doris-2.0.3-bin-x64.tar.gz# 目录重命名为更为简单的 apache-doris 
mv apache-doris-2.0.3-bin-x64 apache-doris

2.安装前操作系统配置

2.1 关闭防火墙

sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

2.2 设置系统最大打开文件句柄数(重启操作系统生效)

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

2.3 配置max_map_count

编辑/etc/sysctl.conf
vm.max_map_count=2000000
使更改生效:sudo sysctl -p

2.4 关闭透明大页(会永久生效)

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

2.5 关闭swap分区

临时关闭:swapoff -a
永久关闭:使用 Linux root 账户,注释掉 /etc/fstab 中的 swap 分区,然后重启即可彻底关闭 swap 分区。

2.5 安装JDK

https://blog.csdn.net/taotao_guiwang/article/details/139624776

2.6 安装MySQL客户端

https://download.csdn.net/download/taotao_guiwang/89427702

3.安装

3.1 配置FE

FE 的配置文件为 apache-doris/fe/conf/fe.conf。下面是一些需要关注的核心配置。除了 JAVA_HOME, 需要手动增加,并且指向你的 JDK8 运行环境。其它配置,可以使用默认值,即可支持单机快速体验。

# 增加 JAVA_HOME 配置,指向 JDK8 的运行环境。假如我们 JDK8 位于 /home/doris/jdk8, 则设置如下
JAVA_HOME=/home/doris/jdk8# FE 监听 IP 的 CIDR 网段。默认设置为空,有 Doris 启动时自动选择一个可用网段。如有多个网段,需要指定一个网段,可以类似设置 priority_networks=92.168.0.0/24
# priority_networks =# FE 元数据存放的目录,默认是在 DORIS_HOME 下的 doris-meta 目录。已经创建,可以更改为你的元数据存储路径。
# meta_dir = ${DORIS_HOME}/doris-meta

3.2 启动FE

在 apache-doris/fe 下,运行下面命令启动 FE。

# 将 FE 启动成后台运行模式,这样确保退出终端后,进程依旧运行。
/PATH/apache-doris/fe/bin/start_fe.sh --daemon

3.3 配置BE

BE 的配置文件为 apache-doris/be/conf/be.conf。下面是一些需要关注的核心配置。除了 JAVA_HOME, 需要手动增加,并且指向你的 JDK8 运行环境。其它配置,可以使用默认值,即可支持我们的快速体验。

# 增加 JAVA_HOME 配置,指向 JDK8 的运行环境。假如我们 JDK8 位于 /home/doris/jdk8, 则设置如下
JAVA_HOME=/home/doris/jdk8# BE 监听 IP 的 CIDR 网段。默认设置为空,有 Doris 启动时自动选择一个可用网段。如有多个网段,需要指定一个网段,可以类似设置 priority_networks=192.168.0.0/24
# priority_networks =# BE 数据存放的目录,默认是在 DORIS_HOME 下的 storage 下,默认已经创建,可以更改为你的数据存储路径
# storage_root_path = ${DORIS_HOME}/storage

3.4 启动BE

在 apache-doris/be 下,运行下面命令启动 BE。

/PATH/apache-doris/be/bin/start_be.sh --daemon

在这里插入图片描述

4.使用

4.1 连接 Doris FE

mysql -uroot -P9030 -h127.0.0.1

注意:
这里使用的 root 用户是 Doris 内置的超级管理员用户,具体的用户权限查看 认证和鉴权
-P:这里是我们连接 Doris 的查询端口,默认端口是 9030,对应的是 fe.conf 里的 query_port
-h:这里是我们连接的 FE IP 地址,如果你的客户端和 FE 安装在同一个节点可以使用 127.0.0.1。

4.2 将 BE 节点添加到集群

在 MySQL 客户端执行类似下面的 SQL,将 BE 添加到集群中

 ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";

注意:
be_host_ip:要添加 BE 的 IP 地址
heartbeat_service_port:要添加 BE 的心跳上报端口,可以查看 be.conf 里的 heartbeat_service_port,默认是 9050。
通过 show backends 语句可以查看新添加的 BE 节点。

4.3 修改 root 和 admin 的密码

在 MySQL 客户端,执行类似下面的 SQL,为 root 和 admin 用户设置新密码

mysql> SET PASSWORD FOR 'root' = PASSWORD('doris-root-password');                                                                                                                                                                                   
Query OK, 0 rows affected (0.01 sec)                                                                                                                                                                                                       mysql> SET PASSWORD FOR 'admin' = PASSWORD('doris-admin-password');                                                                                                                                                                                 
Query OK, 0 rows affected (0.00 sec)        

提示:
root 和 admin 用户的区别:
root 和 admin 用户都属于 Doris 安装完默认存在的 2 个账户。其中 root 拥有整个集群的超级权限,可以对集群完成各种管理操作,比如添加节点,去除节点。admin 用户没有管理权限,是集群中的 Superuser,拥有除集群管理相关以外的所有权限。建议只有在需要对集群进行运维管理超级权限时才使用 root 权限。

5.建库建表

5.1 连接 Doris

使用 admin 账户连接 Doris FE。

mysql -uadmin -P9030 -h127.0.0.1

提示:果是在 FE 的同一台机器上的 MySQL 客户端连接 127.0.0.1, 不需要输入密码。

5.2 创建数据库和数据表

create database demo;use demo; 
create table mytable
(k1 TINYINT,k2 DECIMAL(10, 2) DEFAULT "10.05",    k3 CHAR(10) COMMENT "string column",    k4 INT NOT NULL DEFAULT "1" COMMENT "int column"
) 
COMMENT "my first table"
DISTRIBUTED BY HASH(k1) BUCKETS 1
PROPERTIES ('replication_num' = '1');

5.3 导入数据

将以下示例数据,保存在本地的 data.csv:

1,0.14,a1,20
2,1.04,b2,21
3,3.14,c3,22
4,4.35,d4,23

通过 Stream Load 方式将上面保存到文件中的数据导入到刚才创建的表里。

curl  --location-trusted -u admin:admin_password -T data.csv -H "column_separator:," http://127.0.0.1:8030/api/demo/mytable/_stream_load

-T data.csv : 要导入的数据文件名
-u admin:admin_password: admin 账户与密码
127.0.0.1:8030 : 分别是 FE 的 IP 和 http_port

执行成功之后我们可以看到下面的返回信息:

{                                                     "TxnId": 30,                                  "Label": "a56d2861-303a-4b50-9907-238fea904363",        "Comment": "",                                       "TwoPhaseCommit": "false",                           "Status": "Success",                                 "Message": "OK",                                    "NumberTotalRows": 4,                                "NumberLoadedRows": 4,                               "NumberFilteredRows": 0,                             "NumberUnselectedRows": 0,                          "LoadBytes": 52,                                     "LoadTimeMs": 206,                                    "BeginTxnTimeMs": 13,                                "StreamLoadPutTimeMs": 141,                           "ReadDataTimeMs": 0,                                 "WriteDataTimeMs": 7,                                "CommitAndPublishTimeMs": 42                         
} 

NumberLoadedRows: 表示已经导入的数据记录数
NumberTotalRows: 表示要导入的总数据量
Status: Success 表示导入成功

5.4查询数据

在 MySQL 客户端中,执行如下 SQL,可以查询到刚才导入的数据:

select * from mytable;

在这里插入图片描述

6.停止Doris

6.1 停止 FE

./bin/stop_fe.sh

6.2 停止 BE

./bin/stop_be.sh

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

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

相关文章

Springboot防疫知识科普系统-计算机毕业设计源码03531

摘 要 如今计算机行业的发展极为快速,搭载于计算机软件运行的数据库管理系统在各行各业得到了广泛的运用,其在数据管理方面具有的准确性和高效性为大中小企业的日常运营提供了巨大的帮助。自从2020年新冠疫情爆发以来,防疫成了社会关注的重中…

delphi FDMemTable1.SourceView遍历各行数据,取任意行数据无需Next移动指针了。TFDDatSView

for m : 0 to FDMemTable1.SourceView.Rows.Count - 1 do begin if FDMemTable_SP.SourceView.Rows.ItemsI[m].GetData(0) varNull then Continue; end; 9行7列的值。 FDMemTable1.Data.DataView.Rows.ItemsI[9].ValueI[7]; FDMemTable1.Table.Ro…

RK3568技术笔记七 安装Ubuntu Linux

在新弹出的窗口中,单击“CD/DVD (SATA)”。如下图所示: 在右侧选择“使用ISO映像文件”。然后单击“浏览”,找到SAIL-RK3568开发板光盘->通用工具->虚拟机Ubuntu->ubuntu-18.04.4-desktop-amd64.iso。最后点击…

探索Vue.js中的文件夹上传解决方案:vue-simple-uploader

在现代Web应用开发中,文件上传是一个常见需求。然而,随着应用复杂性的增加,传统的文件上传方式可能无法满足所有需求,特别是当涉及到文件夹上传和大文件处理时。本文将介绍一个基于Vue.js的解决方案——vue-simple-uploader&#…

MySQL 保姆级教程(二):使用 MySQL 检索数据

使用 MySQL 3.2 选择数据库 使用数据库: 输入: USE 数据库名;输出: Database changed分析: 不返回任何结果,显示某种形式的通知 ​ 例如: 使用 crashcourse 数据库 use crashcourse; 3.3 了解数据库和表 列出所有的数据库: 输入: SHOW DATABASES;输出: --------…

MES系统助力制造业数字化转型

一、MES系统的定义和功能 MES(Manufacturing Execution System)即制造执行系统,是一种可层级化管理生产活动的软件系统。它可以实现对生产过程全面的监控、调度、控制和优化,提高生产的效率、质量和安全性。MES系统具有以下几个主…

五分钟教会你如何编写一个合格的测试用例

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1、测试用例编写依据 测试用例编写应严格根据PRD(产品说明书) 没有PRD应…

最新区块链论文速读--CCF A会议 ICSE 2024 共13篇 附pdf下载 (2/2)

Conference:International Conference on Software Engineering (ICSE) CCF level:CCF A Categories:Software Engineering/System Software/Programming Languages Year:2024 Num:13 第1~7篇区块链文章请点击此处…

电脑技巧:认识全能绘画软件Krita

目录 一、软件简介 二、软件功能 2.1 强大的画笔引擎 2.2专业色彩管理 2.3 多层编辑与管理 2.4 动画制作 三、软件特点 四、安装说明 五、使用技巧 六、快捷键大全 对于喜欢绘画的朋友来说,Krita 是一款不可多得的绘画工具,它具有开源、免费、…

基于CNN-RNN模型的验证码图片识别

基于CNN-RNN模型的验证码图片识别是一个在计算机视觉和自然语言处理领域的经典应用场景,特别适合处理复杂的验证码(如字符连成一条线的或扭曲的验证码)和序列数据。这个任务通常包括以下几个步骤: 数据预处理: 图像增强…

Android中球体碰撞代码分享-kotlin,入门版

* 可以产生形变,回弹的小球 * * 整个view的核心: * Scroller函数 * 1.调用scroller.public void startScroll(int startX, int startY, int dx, int dy, int duration); * 在指定时间范围内,startX,startY,会移动dx,dy距离 * * 2.然后调用:in…

RedHat9 | Mariadb数据库的配置与管理

一、实验环境 1、Mariadb数据库介绍 MariaDB数据库管理系统是一个开源的关系型数据库管理系统,与MySQL高度兼容,并提供了更多的功能和性能优化。 起源和背景 MariaDB是MySQL的一个分支,主要由开源社区维护。由MySQL的创始人Michael Widen…

体验亚马逊AIGC——Amazon Bedrock

前言 随着人工智能技术的不断发展,我们已经进入了一个全新的时代,即AI驱动的时代。在这个时代,人工智能已经逐渐成为我们生活中不可或缺的一部分,它可以帮助我们更好地处理各种复杂的问题,提高我们的工作效率&#xff…

UDP的组播发送与接收C语言测试和nc接收组播测试

组播这个东西&#xff0c;很多年前用过一次。本身的原理不复杂&#xff0c;未知的是使用的环境&#xff0c;受使用环境的影响有多大&#xff0c;还是那句废话&#xff0c;具体问题具体分析。 发送端代码multicast.c #include <stdio.h> #include <stdlib.h> #…

鸿蒙开发:【设置任务快照的图标和名称】

设置任务快照的图标和名称 设置任务快照的图标和名称是为了提高用户界面的可视化性和用户体验&#xff0c;以便更好地管理和跟踪应用程序中的任务和功能。通过为每个任务快照设置不同的图标和名称&#xff0c;可以更轻松地区分和识别每个任务的功能。 默认情况下任务快照的图…

python-pandas获取excel表中每个sheet的名称

安装 pandas 首先确保安装了 pandas 和 openpyxl&#xff08;用于处理 Excel 文件&#xff09; pip install pandas openpyxlimport pandas as pd 加载 Excel 文件 excel_file pd.ExcelFile(your_excel_file.xlsx)获取所有工作表的名称 sheet_names excel_file.sheet_na…

C++基础知识(八:STL标准库 Map和multimap )

Map C 标准模板库&#xff08;STL&#xff09;中的 map 容器是一种非常有用的关联容器&#xff0c;用于存储键值对&#xff08;key-value pairs&#xff09;。在 map 中&#xff0c;每个元素都由一个键和一个值组成&#xff0c;其中键是唯一的&#xff0c;而值则可以重复。 基…

vue3+el-plus对eleplus对el-table表格进行拖拽(使用sortablejs进行列拖拽和行拖拽):

先看看是不是你需要的&#xff1a; 表格行和列拖拽 如有对表格拖拽进行限制某列或某行不进行拖拽的需求&#xff0c;请点击&#xff1a; vue3ele-plussortableJs对el-table使用sortableJs插件对表格拖拽时限定某列或某行不允许拖拽-CSDN博客 如果你已实现拖拽需求&#xff0c…

mybatis中resultMap和resultType的区别

总结 基本映射 &#xff1a;&#xff08;resultType&#xff09;使用resultType进行输出映射&#xff0c;只有查询出来的列名和pojo中的属性名一致&#xff0c;该列才可以映射成功。&#xff08;数据库&#xff0c;实体&#xff0c;查询字段,这些全部都得一一对应&#xff09;…

编程入门:Visual Studio探秘之旅

编程入门&#xff1a;Visual Studio探秘之旅 步入编程的世界&#xff0c;选择一个合适的开发工具至关重要。Visual Studio&#xff0c;这款由微软推出的强大集成开发环境&#xff08;IDE&#xff09;&#xff0c;无疑是初学者的理想之选。它不仅提供了丰富的功能&#xff0c;还…