自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大树叶 技术专栏

骨灰攻城狮 架构师

  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

转载 Druid.io系列2:概念与架构

在介绍Druid架构之前,我们先结合有关OLAP的基本原理来理解Druid中的一些基本概念。1 数据 以图3.1为例,结合我们在第一章中介绍的OLAP基本概念,按列的类型上述数据可以分成以下三类:时间序列(Timestamp),Druid既是内存数据库,又是时间序列数据库,Druid中所有查询以及索引过程都和时间维度息息相关。Druid底层使用绝对毫秒数保存时间戳,默认使用ISO-8601格式展示...

2018-04-30 23:59:07 289

原创 Druid.io系列6:问题总结

我们在生产环境中使用Druid也遇到了很多问题,通过阅读官网文档、源码以及社区提问解决或部分解决了很多问题,现将遇到的问题、解决方案以及调优经验总结如下:问题一:Hadoop batch ingestion失败,日志错误为“No buckets?…“解决方案:这个问题当初困扰了我们大概一周的时间,对于大部分刚接触Druid人来说基本都会遇到时区问题。其实问题很简单,主要在于集群工作时区与导入数据时...

2018-04-30 23:56:19 1846

转载 Druid.io系列5:查询过程

Druid使用JSON over HTTP 作为底层的查询语言,不过强大的社区也为我们提供了多种查询方式,比如Python接口pydruid、R接口RDruid、JavaScript接口plywood、类SQL接口plyql、PHP接口druid-php等。Druid查询目前只支持单表操作,基本涵盖了ANSISQL中常用的查询语句,包括:聚合类(Aggregation)查询 时间序列查询 TopN...

2018-04-30 23:54:15 858

原创 Druid.io系列3:Druid集群节点

1 Historical NodeHistorical Node的职责单一,就是负责加载Druid中非实时窗口内且满足加载规则的所有历史数据的Segment。每一个Historical Node只与Zookeeper保持同步,不与其他类型节点或者其他Historical Node进行通信。根据上节知晓,Coordinator Nodes会定期(默认为1分钟)去同步元信息库,感知新生成的Segmen...

2018-04-30 23:50:59 795

原创 Druid.io系列4:索引过程分析

Druid底层不保存原始数据,而是借鉴了Apache Lucene、Apache Solr以及ElasticSearch等检索引擎的基本做法,对数据按列建立索引,最终转化为Segment,用于存储、查询与分析。首先,无论是实时数据还是批量数据在进入Druid前都需要经过Indexing Service这个过程。在Indexing Service阶段,Druid主要做三件事:第一,将每条记录转换为列...

2018-04-30 23:49:05 397

转载 大数据 Druid 几种数据输入方式的探讨

从Kafka,RabbitMQ,Storm 中摄入实时数据流时到Druid的时候,可以使用Realtime Node,Index Server,Tranquility进行数据摄入。本文主要探索这几种数据摄入方式的区别。Realtime NodeRealtime Node 可以直接配置Firehose从Kafka,RabbitMQ等消息队列中获取数据,数据一旦被摄入,很快就可以被查询到, 同时Rea...

2018-04-30 23:47:35 1522 1

原创 DRUID: kafka-indexing-service如何使用

原文在这里:https://blog.csdn.net/sidongxue2/article/details/73244262

2018-04-28 21:04:50 567

原创 物联网架构成长之路

这位仁兄的博客:物联网架构成长之路,不错,特此推荐http://www.cnblogs.com/wunaozai/p/8067577.html

2018-04-27 01:46:00 1064

原创 Redis 可以用来做数据库吗

https://www.zhihu.com/question/19660689很久以前的问题了,Redis 又发展了两三年,数据结构更丰富了,使用场景增多,Redis 3.0支持集群(cluster)模式。 是否可以用来作为数据库,还是看业务,架构是技术对业务妥协的结果!  Redis在新浪微博有很多应用,主要是用来存关注关系。新浪微博大多数的数据还是落地到mysql的,按照那边DB组同学说法,m...

2018-04-26 23:37:57 12256

转载 Redis地理空间(geospatial)介绍和简单使用

在Redis最新的3.2版本中加入了地理空间(geospatial)以及索引半径查询的功能,这在需要地理位置的应用上或许可以一展身手,先来看下官网对geospatial的介绍Adds the specified geospatial items (latitude, longitude, name) to the specified key. Data is stored into the key...

2018-04-26 23:26:15 2319

转载 mosquito源码分析和优化

源码分析Mosquito的优化——epoll优化(七)Mosquito的优化——订阅树优化(八)Mosquito的优化——其他优化(九)其它问题

2018-04-26 00:43:11 1919

转载 mosquitto的TLS功能: (使用paho.mqtt.golang和JAVA版实现客户端)

1、SSL/TLS简介  SSL(SecureSocket Layer)安全套接层,是网景公司提出的用于保证Server与client之间安全通信的一种协议,该协议位于TCP/IP协议与各应用层协议之间,即SSL独立于各应用层协议,因此各应用层协议可以透明地调用SSL来保证自身传输的安全性。目前,SSL被大量应用于http的安全通信中,MQTT协议与http协议同样属于应用层协议,因此也可以像ht...

2018-04-25 23:53:50 3682

转载 基于:Eclipse paho 的MQTT Java客户端实现数据的发送和接收

MQTT(MQ Telemetry Transport)是IBM开发的一种网络应用层的协议使用场景:1、不可靠、网络带宽小的网络2、运行的设备CPU、内存非常有限特点:1、基于发布/订阅模型的协议2、他是二进制协议,二进制的特点就是紧凑、占用空间小。他的协议头只有2个字节3、提供了三种消息可能性保障:最多一次 0、最少一次 1、只有一次 2maven依赖[html] view plain copy...

2018-04-25 23:48:26 3391 3

原创 驱动海量大数据实时多维分析,优酷为什么会选择Druid?

http://www.raincent.com/content-85-7091-3.html

2018-04-25 01:42:14 683

原创 开源分布式计算系统框架(Storm,Spark,MapReduce)

开源分布式计算系统框架(Storm,Spark,MapReduce)       目前流行的分布式计算框架主要有 Hadoop MapReduce, Spark Streaming, Storm; 这三个框架各有优势,现在都属于 Apache 基金会下的顶级项目,下文将对三个框架的特点与适用场景进行分析,以便开发者能快速选择适合自己的框架进行开发。       Hadoop MapReduce 是...

2018-04-25 01:23:44 1456

原创 HashMap在Java1.7与1.8中的区别

DK1.7中使用一个Entry数组来存储数据,用key的hashcode取模来决定key会被放到数组里的位置,如果hashcode相同,或者hashcode取模后的结果相同(hash collision),那么这些key会被定位到Entry数组的同一个格子里,这些key会形成一个链表( 单链表)。在hashcode特别差的情况下,比方说所有key的hashcode都相同,这个链表可能会很长,那么p...

2018-04-25 00:50:31 762

原创 JVM内存模型、指令重排、内存屏障概念解析

 在高并发模型中,无是面对物理机SMP系统模型,还是面对像JVM的虚拟机多线程并发内存模型,指令重排(编译器、运行时)和内存屏障都是非常重要的概念,因此,搞清楚这些概念和原理很重要。否则,你很难搞清楚哪些操作是在并发先绝对安全的?哪些是相对安全的?哪些并发同步手段性能最低?valotile的二层语义分别是什么?等等。     原文地址:http://tech.meituan.com/java-me...

2018-04-23 16:39:45 319

原创 EMQ 百万级开源MQTT消息服务器

EMQ 2.0 消息服务器简介http://emqtt.com/productsEMQ (Erlang/Enterprise/Elastic MQTT Broker)是基于Erlang/OTP平台开发的开源物联网MQTT消息服务器。Erlang/OTP是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed)的语言平台。MQTT是轻量的(Lig...

2018-04-21 16:36:04 1631

原创 log4j2.xml配置和logback.xml配置说明,例子等

log4j2功能较为强大,运行效率也较高,下面就是这个配置文件:<Configuration status="WARN" monitorInterval="30"> <Properties> <Property name="instance">$${sys:instance}</Property> <Pr

2018-04-19 23:22:13 3314

原创 CentOS7.1.x+Druid 0.12 集群配置

先决条件:安装版本列表 本次安装满足下面的条件:CentOS v7.3.x Druid v0.12.x Hadoop v2.9.0 (HDFS) MySql v5.6 Java 8.x其中,Mysql 和 Hadoop在别的文章中有讲述,本次安装不在涉及。在本次安装前,Mysql 和Hadoop 必须已安装完毕。一、默认端口建议用如下的命令停掉CentOS上...

2018-04-19 14:48:33 2051 1

原创 如何修改Hadoop的默认日志级别,还真是麻烦

鄙人使用的Hadoop版本为2.6.4。Hadoop的默认日志级别为INFO,对于百台以上的集群,如果文件操作频繁的话,NameNode会狂打日志,对性能会有一定的影响。我们可以通过http://<namenode:50070>/logLevel在线修改NameNode的日志级别。但是,如果NameNode重启的话,又得重新设置,好麻烦。怎么设置默认的日志级别为WARN呢?Hadoop...

2018-04-17 22:34:21 3300

原创 在aws ec2上使用root用户登录

在aws ec2上使用root用户登录aws ec2默认是使用ec2-user账号登陆的,对很多文件夹是没有权限的。如何使用root账号执行命令就是一个问题了。解决办法如下:1.根据官网提供的方法登录连接到EC2服务器(官网推荐windows用户使用PUTTY连接)主机:是服务器的Public DNS端口:222.创建root的密码,输入如下命令:sudo passwd root3.然后会提示你...

2018-04-17 19:57:24 2498

原创 AWS ESB 磁盘 动态扩容 (我测试过该步骤)

Say we want to increase boot drive of Ubuntu from 8G up to 16G "on-the-fly".step-1) login into AWS web console -> EBS -> right mouse click on the one you wish to resize -> "Modify Volume" -&g...

2018-04-17 00:53:36 2199

原创 [推荐]Hadoop HA高可用集群搭建(2.7.2)

1.集群规划:主机名IP安装的软件 执行的进程drguo1 192.168.80.149jdk、hadoop NameNode、DFSZKFailoverController(zkfc)、ResourceManagerdrguo2192...

2018-04-16 19:10:51 232

原创 CentOS7.3.x + Hadoop 2.9.0 集群搭建实战

 前言: 系统安装要求   1: CentOS7  2:  Hadoop 2.9.0    3:  JDK1.8  说明:Hadoop从版本2开始加入了Yarn这个资源管理器,Yarn并不需要单独安装。只要在机器上安装了JDK就可以直接安装Hadoop,单纯安装Hadoop并不依赖Zookeeper之类的其他东西。官方cluster setup步骤见下链接:https://hadoop.apach...

2018-04-16 14:59:21 1011

转载 spring boot 使用application.properties 进行外部配置

application.properties大家都不陌生,我们在开发的时候,经常使用它来配置一些可以手动修改而且不用编译的变量,这样的作用在于,打成war包或者jar用于生产环境时,我们可以手动修改环境变量而不用再重新编译。spring boo默认已经配置了很多环境变量,例如,tomcat的默认端口是8080,项目的contextpath是“/”等等,可以在这里看spring boot默认的配置信...

2018-04-11 23:10:32 833

原创 nginx搭建文件服务器获取上传进度

参考文档:https://blog.csdn.net/yongche_shi/article/details/53489732主要讲讲获取上传进度的实现。 参考地址:https://github.com/masterzen/nginx-upload-progress-module  按照其中的说明配置nginx,将其中的例子存成test.html文件。放到nginx 的html目录下。 浏览器运行...

2018-04-10 11:50:58 2320 1

原创 inginx搭建文件上传下载服务器

发现了这篇blog,准备使用nginx来实现文件上传和下载的功能。下面把实现步骤记录下来,中间有很多坑。参考文档:https://www.cnblogs.com/lidabo/p/4171515.html (good example)http://www.grid.net.ru/nginx/upload.en.htmlhttps://github.com/hongzhidao/nginx-uplo...

2018-04-09 18:58:02 8165

原创 Nginx 如何 开启gzip 来提高页面加载速度

环境:CentOS7.x 1、打开Nginx配置文件vi /etc/nginx/nginx.conf或者 vi /etc/nginx/conf.d/gzip.conf两种方法取一种即可。如果原来的系统已有/etc/nginx/conf.d/gzip.conf,则必须修改该文件,加入下面的信息。2、往nginx.conf或者gzip.conf文件中加入如下信息,但是不能两个都加,会报错的!gzip ...

2018-04-08 11:33:00 23245 3

原创 基于 CentOS 7.3.x + hadoop v2.9.0 集群的 Hive 2.3.2 的安装与使用

前言安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可:需要在namenode上安装,可以不在datanode节点的机器上安装。还需要说明的是,虽然修改配置文件并不需要把hadoop运行起来,但是本文中用到了hadoop的hdfs命令,在执行这些命令时你必须确保hadoop是正在运行着的,而且启动hive的前提也需要had...

2018-04-08 11:21:40 1266

原创 用BFS解决迷宫最短路径问题

迷宫问题中,有很大一部分可以用BFS来解。解决这类问题可以很大地提升能力与技巧,这篇文章是基于一个简单实例展开来讲的例题: 第一行两个整数n, m,为迷宫的长宽。 接下来n行,每行m个数为0或1中的一个。0表示这个格子可以通过,1表示不可以。假设你现在已经在迷宫坐标(1,1)的地方,即左上角,迷宫的出口在(n,m)。每次移动时只能向上下左右4个方向移动到另外一个可以通过的格子里,每次移动算一步。数...

2018-04-08 00:10:20 2694

原创 邻接矩阵的定义和例子

根据图的定义可知,图的逻辑结构分为两部分:V和E的集合。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,称这个二维数组为邻接矩阵。邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵。在图的邻接矩阵表示法中:① 用邻接矩阵表示顶点间的相邻关系② 用一个顺序表来存储顶点信息图的矩阵设G=(V,E)是具有n个顶点的图,则G的邻接矩阵是具有如下性质的n阶方阵:【例】下图中...

2018-04-07 21:41:52 16077

原创 LeetCode 542. 01 Matrix

LeetCode 542. 01 Matrixhttps://leetcode.com/problems/01-matrix/solution/Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell.The distance between two adjacent cells is ...

2018-04-07 13:41:01 246

转载 经典算法题:数字三角形寻找最大路径

题目:数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一直走到底层,要求找出一条路径,该路径上的数字和最大,输出这个最大值。(1)样例输入:第一行是数塔层数N(1<=N<=100)。第二行起,从一个数字按数塔图形依次递增,共有N层。51311 812 7 26 6 14 15 812 7 13 24 11思路:递归解决用二维数组 d[ l ][ r ] 存数字三角形 if ...

2018-04-07 02:47:45 2982

原创 面试:BFS解迷宫问题,并打印最短路径

package algorithm;/* 本例子是:求出迷宫的最短路径 * 如果是找一点出路而不管远近,则可以用队列来处理,类似二叉树的宽度遍历。 * 在迷宫问题上,类似在一颗4叉树中,利用遍历去找一条从根到某个节点的路径一样。 * 方法为: * 处理下面的节点, * 1:从队列中取出最前面的节点,记为K,直到队列里面没有节点为止。 * 2:对它的北节点,南节点,西节点,东节点,记为...

2018-04-06 21:20:40 1296

转载 一个数组循环右移K位, java版本

 腾讯面试:如何把一个数组循环右移K位   如:12345678 右移2位  78123456      思路如下:         1:首先逆序123456,那么数组变为65432178         2:再逆序78,那么数组变为65432187         3:最后逆序整个数组:65432187 ,那么数组变为78123456     那么如何逆序呢?         定义两个变量,be...

2018-04-06 18:58:27 750

转载 亚马逊面试 [leetcode] 329. Longest Increasing Path in a Matrix

2017-06-19 亚马逊面试过程:第一轮,给一个情景让你设计一个接口,然后对接口里面用到的类要自己实现iterator里的应用;第二轮leetcode329;第三轮自己设计一个音乐播放器,主要看你怎么写shuffle的算法;第四轮hiring manager会问一些你以前project的问题在这四轮中一直穿插着一些amazon leadership principle的问题问你。leetcod...

2018-04-06 18:55:25 607

转载 推荐 tranquity 重大问题及其解决方案

https://fangyeqing.github.io/categories/druid-io/https://fangyeqing.github.io/2017/03/14/druid.io实践5---druid.io问题记录/https://github.com/druid-io/tranquility/blob/master/docs/configuration.md注意看实践5,这是重点...

2018-04-04 20:55:31 1482 1

原创 druid如何用利用tranquity server 向druid发送实时数据

1. 前提条件   分布式druid系统安装已经完毕,安装过程见 https://blog.csdn.net/bigtree_3721/article/details/79583008参考doc: https://github.com/druid-io/tranquility/blob/master/docs/server.md2. 下载tranquility server官方下载地址:http:...

2018-04-02 19:39:32 1453 2

转载 推荐:新浪微博,腾讯微博 mysql数据库主表设计

用户信息表(t_user_info)字段名称字节数类型描述User_id4uint32用户编号(主键)User_name20Char[20]名称Msg_count4uint32发布消息数量,可以作为t_msg_info水平切分新表的auto_incrementFans_count4uint32粉丝数量Follow_count4Uint32关注对象数量备注:以User_id取模分表 用户之间关系表(...

2018-04-01 17:08:37 3644 1

程序员代码面试指南2-代码

《程序员代码面试指南第二版2》左程云 配套的所有的算法源代码

2019-07-07

dom4j jar包

dom4j v2.0 jar包。开发XML的必备利器

2016-02-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除