首页 > 数据库 >Apache Doris单节点安装并运行:创建数据库、数据表、导入数据及查询等

Apache Doris单节点安装并运行:创建数据库、数据表、导入数据及查询等

时间:2024-09-24 16:51:39浏览次数:10  
标签:数据表 Doris Apache HOME apache doris FE

这个简短的指南将告诉你如何下载 Apache Doris 最新稳定版本,在单节点上安装并运行它,包括创建数据库、数据表、导入数据及查询等。

环境准备

  • 选择一个 x86-64 上的主流 Linux 环境,推荐 CentOS 7.1 或者 Ubuntu 16.04 以上版本。更多运行环境请参考安装部署部分。
  • Java 8 运行环境(非 Oracle JDK 商业授权用户,建议使用免费的 Oracle JDK 8u202,立即下载)。
  • 建议在 Linux 上新建一个 Doris 用户。请避免使用 Root 用户,以防对操作系统误操作。

下载二进制包

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

# 下载 Apache Doris 二进制安装包
server1:~ doris$ wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.12-bin-x64.tar.gz

# 解压安装包
server1:~ doris$ tar zxf apache-doris-2.0.12-bin-x64.tar.gz

# 目录重命名为更为简单的 apache-doris 
server1:~ doris$ mv apache-doris-2.0.12-bin-x64 apache-doris

安装 Doris

配置 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 网段。默认设置为空,有 Apache Doris 启动时自动选择一个可用网段。如有多个网段,需要指定一个网段,可以类似设置 priority_networks=92.168.0.0/24
# priority_networks =

# FE 元数据存放的目录,默认是在 DORIS_HOME 下的 doris-meta 目录。已经创建,可以更改为你的元数据存储路径。
# meta_dir = ${DORIS_HOME}/doris-meta

启动 FE

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

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

配置 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 网段。默认设置为空,有 Apache Doris 启动时自动选择一个可用网段。如有多个网段,需要指定一个网段,可以类似设置 priority_networks=192.168.0.0/24
# priority_networks =

# BE 数据存放的目录,默认是在 DORIS_HOME 下的 storage 下,默认已经创建,可以更改为你的数据存储路径
# storage_root_path = ${DORIS_HOME}/storage

启动 BE

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

# 将 BE 启动成后台运行模式,这样确保退出终端后,进程依旧运行。
server1:apache-doris/be doris$ ./bin/start_be.sh --daemon

连接 Apache Doris FE

通过 MySQL 客户端来连接 Apache Doris FE,下载免安装的 MySQL 客户端

解压刚才下载的 MySQL 客户端,在 bin/ 目录下可以找到 mysql 命令行工具。然后执行下面的命令连接 Apache Doris。

mysql -uroot -P9030 -h127.0.0.1

注意

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

将 BE 节点添加到集群

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

 ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";

注意

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

修改 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 用户都属于 Apache Doris 安装完默认存在的 2 个账户。其中 Root 用户拥有整个集群的超级权限,可以对集群完成各种管理操作,比如添加节点,去除节点。Admin 用户没有管理权限,是集群中的 Superuser,拥有除集群管理相关以外的所有权限。建议只有在需要对集群进行运维管理超级权限时才使用 Root 权限。

建库建表

连接 Apache Doris

使用 Admin 账户连接 Apache Doris FE。

mysql -uadmin -P9030 -h127.0.0.1

提示

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

创建数据库和数据表

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');

导入数据

将以下示例数据,保存在本地的 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 表示导入成功

查询数据

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

mysql> select * from mytable;                                                                                                                                                                                                              
+------+------+------+------+                                                             | k1   | k2   | k3   | k4   |                                                             +------+------+------+------+                                                             |    1 | 0.14 | a1   |   20 |                                                             |    2 | 1.04 | b2   |   21 |                                                             |    3 | 3.14 | c3   |   22 |                                                             |    4 | 4.35 | d4   |   23 |                                                             +------+------+------+------+                                                                                                                                                       4 rows in set (0.01 sec)       

停止 Apache Doris

停止 FE

在 apache-doris/fe 下,运行下面命令停止 FE。

server1:apache-doris/fe doris$ ./bin/stop_fe.sh

停止 BE

在 apache-doris/be 下,运行下面命令停止 BE。

server1:apache-doris/be doris$ ./bin/stop_be.sh

links:

快速体验 - Apache Doris

标签:数据表,Doris,Apache,HOME,apache,doris,FE
From: https://blog.csdn.net/a772304419/article/details/142490689

相关文章

  • Doris MySQL SQL语法兼容性说明
    MySQL兼容性Doris是高度兼容MySQL语法,支持标准SQL。但是Doris与MySQL还是有很多不同的地方,下面给出了他们的差异点介绍。数据类型数字类型类型MySQLDorisBoolean-支持-范围:0代表false,1代表true-支持-关键字:Boolean-范围:0代表false,1代表trueBit......
  • hive报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.Ma
    问题:查看hive日志进入日志文件下查看hiveserver2.log我的hive日志在如下文件夹下:cd/var/log/my_hive_log如果日志中显示如下错误:Maximumwassetto100partitionspernode,numberofdynamicpartitionsonthisnode:101这个错误信息表明在某个节点上动态生成......
  • Apache Cordova和PhoneGap
    ApacheCordova和PhoneGap是两个在移动应用开发领域备受关注的开源框架,它们有着紧密的联系和显著的区别。本文将从起源与发展、技术特点、功能与应用、社区与文档资源、性能与限制以及未来发展趋势等多个方面,对ApacheCordova和PhoneGap进行详细探讨。一、起源与发展Apach......
  • 【专题】2024AI智慧生活白皮书:AI智能科技重塑居家体验报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=37748AI已然成为家电家居市场的创新核心动力,可在个性化识别、预测维护等多方面提升产品价值。家享生活行业智能化展现多元场景,清洁智能崛起超厨房智能居第二,全屋智能潜力巨大。“套装/集成智能”等品类增长快,智能新客多由老客升级,消费有时序性,......
  • SpringBoot 整合 apache fileupload 轻松实现文件上传与下载(通用版)
    我们以Thymeleaf页面模板引擎为例,简单介绍利用apachefileupload工具实现文件上传的功能。2.1、添加相关依赖包首先创建一个基础的SpringBoot项目,并引入相关的依赖包。2.2、添加相关配置参数2.3、文件上传示例对应文件上传的Controller类,示例如下:importorg.apache.commons.fi......
  • SpringBoot 整合 apache fileupload 轻松实现文件上传与下载(通用版)
    我们以Thymeleaf页面模板引擎为例,简单介绍利用apachefileupload工具实现文件上传的功能。2.1、添加相关依赖包首先创建一个基础的SpringBoot项目,并引入相关的依赖包。2.2、添加相关配置参数2.3、文件上传示例对应文件上传的Controller类,示例如下:importorg.apache.commons.fi......
  • 【专题】2024新能源企业“出海”系列之驶向中东、东南亚报告合集PDF分享(附原数据表)
    在“双碳”目标引领下,中国新能源产业近年迅猛发展,新能源企业凭借技术革新、政策支持与市场驱动实现快速增长,在产业链完备、技术领先、生产效能及成本控制等方面优势显著。面对国内外环境不确定性增强的常态化态势,中国新能源企业积极开拓海外市场,开启“出海”征程。中东地区凭借独特......
  • 帝国CMS安装时出现如下提示 “建立数据表: phome_ecms_article 完毕......
    当你在安装帝国CMS时遇到如下提示:建立数据表:phome_ecms_article完毕......YouhaveanerrorinyourSQLsyntax.CheckthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'DEFAULTCHARSET=gbk'atline1这通常是因为......
  • Andorid+Java使用Apache POI库实现doc、docx、xls、xlsx的读取和写入
    1、前言 最近要用AndroidStudio和Java实现多种文件的导入和读取,包括常见的文本文件txt、doc、docx、xls和xlsx。其中txt用输入输出流操作即可。经过搜索查找,确定了使用ApachePOI库进行其余文件类型的读写。在此记录从开始在apache官网上下载导入包后尝试读取doc便报错,到打......
  • doris 字符串字段list分区
    分区列支持 BOOLEAN,TINYINT,SMALLINT,INT,BIGINT,LARGEINT,DATE,DATETIME,CHAR,VARCHAR 数据类型,分区值为枚举值。只有当数据为目标分区枚举值其中之一时,才可以命中分区。CREATETABLE`table1`(`BUKRS`varchar(12)NULL,`GJAHR`varchar(12)NOTNULL,`......