doris生产使用记录

人工智能50

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展示便于查看集群使用情况:

效果如下:

doris生产使用记录

doris生产使用记录

doris生产使用记录

doris生产使用记录

数据发送方式:

推荐使用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发送数据如何处理数据不丢,多线程批量发送数据时如何顺序插入数据等问题

Original: https://blog.csdn.net/weixin_39768263/article/details/122946873
Author: Smile波
Title: doris生产使用记录

相关文章
CGBTN2108-DAY10总结复习 人工智能

CGBTN2108-DAY10总结复习

DAY10 复习 1.标准类的制作 1. 成员变量-属性 使用private进行封装,封装后提供对应的getXxx()与setXxx() 2. 构造方法 提供一个本类的无参构造 提供一个全参构造:创建...
kaldi 发音字典生成 人工智能

kaldi 发音字典生成

kaldi 发音字典可以通过3种工具来生成,分别是:g2p-seq2seq Phonetisaurus 和 Sequitur,据说g2p-seq2seq的准确性更好些,今天我们就来介绍以下g2p-se...
习题解答chapter09 人工智能

习题解答chapter09

1. Java中流的分类有哪些? 从流动的方向上看:一般为输入流(InputStream)和输出流(OutputStream)两类。从读取类型上看,一般分为字节流和字符流。字节流是由InputStre...
HTML5封装成桌面应用 人工智能

HTML5封装成桌面应用

HTML5封装成桌面应用 1、准备工作: 2、封装 3、打包 1、准备工作: web项目地址 nw.js 下载网址 reshacker 下载地址 Inno Setup(度娘自行下载安装,有中文版) 2...
自然语言处理(NLP) 人工智能

自然语言处理(NLP)

自然语言处理(NLP) 主要研究人与计算机之间,使用自然语言进行有效通信的各种理论和方法。 自然语言处理的主要技术范畴 1、语义文本相似度分析 语义文本相似度分析是对两段文本的意义和本质之间的相似度进...
汇编语言 人工智能

汇编语言

汇编语言一发入魂 – 杨河老李 (kviccn.github.io) posted @ 2022-05-10 21:14 Bigben 阅读( 31 ) 评论( ) 编辑 Original: http...
DeepFM详细流程解析及建模演示 人工智能

DeepFM详细流程解析及建模演示

· 流程解析 关于DeepFM理论的说明,很多博客或论文已有说明,这里就不再赘述。下面主要是说一下模型如何使用以及 在整个过程中,算法对数据做了些什么事。 首先还是这张图: 一眼看过去,超级复杂是不是...