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年新冠疫情爆发以来,防疫成了社会关注的重中…

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&#…

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

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

最新区块链论文速读--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 是一款不可多得的绘画工具,它具有开源、免费、…

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;可以更轻松地区分和识别每个任务的功能。 默认情况下任务快照的图…

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

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

mybatis中resultMap和resultType的区别

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

运算符分为哪几类?哪些运算符常用作判断?简述运算符的优先级

运算符包含6大类&#xff1a;算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元&#xff08;目&#xff09;运算符。 逻辑运算符常用作布尔判断 typeof 运算符: typeof 运算符用于确定变量或表达式的数据类型&#xff0c;并返回一个表示类型的字符串。 typeof …

一文让你清晰了解医疗行业采购堡垒机的必要性

医疗行业&#xff0c;一个与大家息息相关的行业。随着医疗行业的快速发展和信息化建设的深入推进&#xff0c;传统网络安全防护手段已经难以满足现代医疗信息系统的安全需求&#xff0c;特别是在处理敏感的患者信息和保障医院内部数据安全方面。因此采购堡垒机是非常必要的。 堡…

ssm160基于Java技术的会员制度管理的商品营销系统的设计与实现+vue

商品营销系统计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本商品营销系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理…

单片机课设-基于单片机的电子时钟设计(仿真+代码+报告)

基于单片机的电子时钟设计 前言一、课设任务是什么?二、系统总体方案硬件设计2.1 系统硬件总体设计2.2 键盘电路设计2.3 DS1302实时时钟芯片电路设计2.4 复位电路2.5 LCD电路设计 三、软件设计3.1 主程序流程图3.2 主要程序设计代码3.3 修改时间函数3.4 扫描键盘函数 四、仿真…

Pytest 记录日志输出到控制台和写入文件

目录 自定义日志记录器和内置的日志记录器 项目代码 项目目录树 自定义日志记录器 函数源代码 pytest中定义和覆盖日志记录信息 使用cli定义Logging 使用pytest.ini定义Logging 修改单个测试级别的日志 日志输出的重要性不言而喻&#xff0c;不仅可以观测执行过程&…

纵深发力 持续推进,富格林平台发展势头喜人

自2024年2月1日正式上线以来,富格林互联网投融资平台已迅速崛起,吸引了业内专家学者的高度认可以及广大投资者的青睐。平台规模持续扩大,目前累计注册用户已超过10万人,总投资额突破50亿美元。这一卓越表现不仅体现了平台的稳健运营和出色的投资项目,也展示了其在互联网投融资领…

大型语言模型(LLMs)是如何工作的?

大型语言模型&#xff08;LLMs&#xff09;如ChatGPT、Bing的“Sydney”模式和Google的Bard正在占据新闻头条。与其讨论它们将使哪些工作变得过时&#xff0c;本文将探讨这些模型的工作原理&#xff0c;包括它们从哪里获取数据以及使它们能够生成令人信服的真实文本的基本数学方…

数据结构的队列,链表,栈的基础操作

1&#xff1a;队列 #include <stdio.h>#include <stdlib.h>#include "./02队列.h"/** function: 创建一个空的队列* param [ in] * param [out] * return */Sequeue* xinduilie(){Sequeue* sq (Sequeue*)malloc(sizeof(Sequeue)); if(N…