城市文化建设的网站,网页制作与发布的流程,重庆seo博客,腾讯云服务器租用文章目录1. 前言2. 安装3. 启动4. 使用1. 前言 Apache Doris 是一款现代 MPP (Massively Parallel Processing大规模并行处理) 的分布式 SQL 分析数据库#xff0c;所谓分析数据库就是将其数据集分布在许多机器或节点上#xff0c;以处理大量数据#xff0c;采用 Apache 2.0…
文章目录1. 前言2. 安装3. 启动4. 使用1. 前言 Apache Doris 是一款现代 MPP (Massively Parallel Processing大规模并行处理) 的分布式 SQL 分析数据库所谓分析数据库就是将其数据集分布在许多机器或节点上以处理大量数据采用 Apache 2.0 认证授权。它的前身是原百度 Palo由百度在2017年开源2018年进入 Apache 孵化器。Apache Doris 它可以提供亚秒级查询和高效的实时数据分析。凭借其分布式架构将支持高达 10PB 级别的数据集并且易于操作。它可以满足各种数据分析场景比如历史数据报告、实时数据分析、交互式数据分析、探索性数据分析等。 Doris 主要集成了 Google Mesa 和 Apache Impala 的技术基于列式存储引擎可以通过 MySQL 客户端进行通信。Doris 的定位是面向在线报表和分析的数据仓库系统可以对标于商业的 MPP 数据仓库系统比如 Greenplum、Vertica、Teradata 等。
2. 安装 安装前需要有 JDK 环境Doris 安装包下载路径apache-doris-1.0.0-incubating-bin.tar.gz
[hadoopnode01 ~]$ tar -zxvf apache-doris-1.0.0-incubating-bin.tar.gz
[hadoopnode01 ~]$ mv apache-doris-1.0.0-incubating-bin doris-1.0.0
[hadoopnode01 ~]$ cd doris-1.0.0
[hadoopnode01 doris-1.0.0]$ vim fe/conf/fe.conf
# 添加 priority_networks 参数
priority_networks 192.168.91.145/24
[hadoopnode01 doris-1.0.0]$ vim be/conf/be.conf
# 添加 priority_networks 参数
priority_networks 192.168.91.145/243. 启动
[hadoopnode01 ~]$ ./doris-1.0.0/fe/bin/start_fe.sh --daemon (--daemon在后台启动)
[hadoopnode01 ~]$ ./doris-1.0.0/be/bin/start_be.sh --daemon报错 解决在 be.conf 文件中修改 webserver_port 的端口号为
# 原端口号为8040
webserver_port 8041如果是 BE 的第一次启动或者该 BE 尚未加入任何集群则 BE 日志会定期滚动 waiting to receive first heartbeat from frontend 字样。表示 BE 还未通过 FE 的心跳收到 Master 的地址正在被动等待。这种错误日志在 FE 中 ADD BACKEND 并发送心跳后就会消失。如果在接到心跳后又重复出现 master client, get client from cache failed.host: , port: 0, code: 7 字样说明 FE 成功连接了 BE但 BE 无法主动连接 FE。可能需要检查 BE 到 FE 的 rpc_port 的连通性。
mysql -uroot -P9030 -h192.168.91.145
mysql ALTER SYSTEM ADD BACKEND 192.168.91.145:9050;
# 如不小心填错了可用这个删除alter system decommission backend 192.168.91.145:9050;4. 使用
# 执行下面的命令查看 FE 运行状态
mysql SHOW PROC /frontends\G
*************************** 1. row ***************************Name: 192.168.91.145_9010_1666082925048IP: 192.168.91.145HostName: node01EditLogPort: 9010HttpPort: 8030QueryPort: 9030RpcPort: 9020Role: FOLLOWERIsMaster: trueClusterId: 757519444Join: trueAlive: true
ReplayedJournalId: 205LastHeartbeat: 2022-10-18 01:59:53IsHelper: trueErrMsg: Version: 1.0.0-rc03-UnknownCurrentConnected: Yes# 执行下面的命令查看 BE 运行状态
mysql SHOW PROC /backends\G
*************************** 1. row ***************************BackendId: 10003Cluster: default_clusterIP: 192.168.91.145HostName: node01HeartbeatPort: 9050BePort: 9060HttpPort: 8041BrpcPort: 8060LastStartTime: 2022-10-18 01:53:05LastHeartbeat: 2022-10-18 01:59:58Alive: trueSystemDecommissioned: false
ClusterDecommissioned: falseTabletNum: 0DataUsedCapacity: 0.000 AvailCapacity: 27.579 GBTotalCapacity: 36.687 GBUsedPct: 24.83 %MaxDiskUsedPct: 24.83 %Tag: {location : default}ErrMsg: Version: 1.0.0-rc03-UnknownStatus: {lastSuccessReportTabletsTime:2022-10-18 01:59:31,lastStreamLoadTime:-1,isQueryDisabled:false,isLoadDisabled:false}# 创建表
create database demo;
use demo;
CREATE TABLE IF NOT EXISTS demo.expamle_tbl
(user_id LARGEINT NOT NULL COMMENT 用户id,date DATE NOT NULL COMMENT 数据灌入日期时间,city VARCHAR(20) COMMENT 用户所在城市,age SMALLINT COMMENT 用户年龄,sex TINYINT COMMENT 用户性别,last_visit_date DATETIME REPLACE DEFAULT 1970-01-01 00:00:00 COMMENT 用户最后一次访问时间,cost BIGINT SUM DEFAULT 0 COMMENT 用户总消费,max_dwell_time INT MAX DEFAULT 0 COMMENT 用户最大停留时间,min_dwell_time INT MIN DEFAULT 99999 COMMENT 用户最小停留时间
)
AGGREGATE KEY(user_id, date, city, age, sex)
DISTRIBUTED BY HASH(user_id) BUCKETS 1
PROPERTIES (replication_allocation tag.location.default: 1
);# 导入数据
[hadoopnode03 ~]$ vim test.csv
10000,2017-10-01,北京,20,0,2017-10-01 06:00:00,20,10,10
10000,2017-10-01,北京,20,0,2017-10-01 07:00:00,15,2,2
10001,2017-10-01,北京,30,1,2017-10-01 17:05:45,2,22,22
10002,2017-10-02,上海,20,1,2017-10-02 12:59:12,200,5,5
10003,2017-10-02,广州,32,0,2017-10-02 11:20:00,30,11,11
10004,2017-10-01,深圳,35,0,2017-10-01 10:00:15,100,3,3
10004,2017-10-03,深圳,35,0,2017-10-03 10:20:22,11,6,6curl --location-trusted -u root: -T test.csv -H column_separator:, http://127.0.0.1:8030/api/demo/expamle_tbl/_stream_load
# -T test.csv : 这里是我们刚才保存的数据文件如果路径不一样请指定完整路径
# -u root : 这里是用户名密码我们使用默认用户root密码是空
# 127.0.0.1:8030 : 分别是 fe 的 ip 和 http_port# 执行成功之后我们可以看到下面的返回信息
{TxnId: 1,Label: 1e457682-d8f6-46c5-a996-f06ebaa70cd9,TwoPhaseCommit: false,Status: Success,Message: OK,NumberTotalRows: 7,NumberLoadedRows: 7,NumberFilteredRows: 0,NumberUnselectedRows: 0,LoadBytes: 399,LoadTimeMs: 663,BeginTxnTimeMs: 59,StreamLoadPutTimeMs: 212,ReadDataTimeMs: 0,WriteDataTimeMs: 134,CommitAndPublishTimeMs: 249
}
# NumberLoadedRows: 表示已经导入的数据记录数
# NumberTotalRows: 表示要导入的总数据量
# Status :Success 表示导入成功# 其他建表语句示例
CREATE TABLE test_log
(timestamp DATETIME NOT NULL COMMENT 日志时间,type INT NOT NULL COMMENT 日志类型,error_code INT COMMENT 错误码,op_id BIGINT COMMENT 负责人id
)
DUPLICATE KEY(timestamp, type)
DISTRIBUTED BY HASH(timestamp) BUCKETS 10
PROPERTIES
(replication_num 1
);参考 https://doris.apache.org/zh-CN/docs/get-starting/ apache doris在蜀海供应链数仓建设中的实践 大数据之实时数据分析之Apache Doris数据库 大数据Hadoop之——DorisDB介绍与环境部署StarRocks 铸剑14年Apache Doris终毕业百度PALO助力顶级项目持续精进 Apache Doris 单节点可多节点Docker集群制作教程 DorisSQL与MySQL函数与语法对照差异篇