欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

doris生产使用记录

时间:2023-05-03

Apache doris介绍:

Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。

Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工作更加简单高效!

一,镜像编译

生产环境使用了百度的PALO-0.14.12.4版本,百度发行版本在百度内部进行过测试和上线,相比较开源社区的doris更稳定一些,推荐使用palo

下载地址:

http://palo.baidu.com/docs/%E4%B8%8B%E8%BD%BD%E4%B8%93%E5%8C%BA/%E9%A2%84%E7%BC%96%E8%AF%91%E7%89%88%E6%9C%AC%E4%B8%8B%E8%BD%BD/

0.14.12.4版本可使用此镜像编译docker.io/apachedoris/doris-dev:build-env-1.2

下载好编译镜像运行镜像,在镜像里下载palo源码后执行sh build.sh命令等待一段时间即可编译出fe和be文件

详细步骤可参考:

编译 | Apache Doris

有了fe和be文件后续可以根据运行的平台自行打包出fe和be镜像,需要MySQL客户端也可在镜像内自行安装,jdk版本需要使用jdk11

二,如何使用

Doris 采用 MySQL 协议进行通信,用户可通过 MySQL client 或者 MySQL JDBC连接到 Doris 集群

1,从fe节点执行进入客户端

mysql -h 127.0.0.1 -P 2312 -uroot -p

可自行修改mysql客户端密码

SET PASSWORD FOR 'root' = PASSWORd('自定义密码');

doris集群添加BE节点

ALTER SYSTEM ADD BACKEND "XX.XXX.XX.XX:XXXX";
ALTER SYSTEM ADD BACKEND "XX.XXX.XX.XX:XXXX";
ALTER SYSTEM ADD BACKEND "XX.XXX.XX.XX:XXXX";

doris集群添加FE节点

ALTER SYSTEM ADD FOLLOWER "XX.XXX.XX.XX:XXXX";
ALTER SYSTEM ADD FOLLOWER "XX.XXX.XX.XX:XXXX";

后续可根据业务需求自行建库建表

部署完成节点创建好之后可通过doris自带的监控暴露一下metrics端口

通过promethues抓取数据放到grafana展示便于查看集群使用情况:

效果如下:

数据发送方式:

推荐使用stream load通过http方式连接fe节点(多个fe节点自行处理负载均衡问题)往doris发送数据

代码可参考:

https://github.com/apache/incubator-doris/blob/master/samples/stream_load/java/DorisStreamLoad.java

通过Java程序调用stream load导入数据,在一批次数据量较大时,可能会报错Broken Pipe

除了Broken Pipe外,还可能出现一些其他的奇怪的错误。

这个情况通常出现在开启httpv2后。因为httpv2是使用spring boot实现的http 服务,并且使用tomcat作为默认内置容器。但是jetty对307转发的处理似乎有些问题,所以后面将内置容器修改为了jetty。此外,在java程序中的 apache http client的版本需要使用4.5.13以后的版本。之前的版本,对转发的处理也存在一些问题。

所以这个问题可以有两种解决方式:

1.关闭 httpv2

在 fe.conf 中添加 enable_http_server_v2=false 后重启FE。但是这样无法再使用新版UI界面,并且之后的一些基于httpv2的新接口也无法使用(正常的导入查询不受影响)

2.升级

可以升级到百度的Palo发行版0.14.13及之后的版本,已修复这个问题

如遇到消息发送失败可通过http请求返回结果的报文查看具体原因

以上doris使用是一个轻量级的实时计算kafka-stream往doris发送数据的案例的一部分,后续会写篇博客详细说明下kafka-stream往doris发送数据如何处理数据不丢,多线程批量发送数据时如何顺序插入数据等问题

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。