自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我是一个小学生

我在技术领域努力了!我不后悔!

  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

转载 传统的行存储和(HBase)列存储的区别

1 为什么要按列存储列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表(翻译不好,直接抄原文了):Ø  Row-based storage stores atable in a sequence of rows.Ø  Column-based storage stor...

2018-12-13 15:46:42 3061

转载 CAP原理与最终一致性 强一致性 弱一致性

CAP原理中,有三个要素:一致性(Consistency) 可用性(Availability) 分区容忍性(Partition tolerance)CAP原理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式架构设计时,必须做出取舍。而对于分布式数据系统,分区容忍性是基本要求,否则就失去了价值。因此设计分布式数据系统,就是在一致性和可用性之间取一个平衡。对于大多数w...

2018-12-13 15:40:33 413

转载 什么是事务的ACID

1)原子性(Atomic):事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败;2)一致性(Consistent):事务结束后系统状态是一致的;3)隔离性(Isolated):并发执行的事务彼此无法看到对方的中间状态;4)持久性(Durable):事务完成后所做的改动都会被持久化,即使发生灾难性的失败。通过日志和同步备份可以在故障发生后重建数据。  ...

2018-12-13 15:37:23 398

转载 分布式VS集群-------------大白话

一、大白话解说,用生活中的例子来说明:小饭店原来只有一个厨师,切菜、洗菜、备料、炒菜、全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜(两个厨师都能切菜、洗菜、备料、炒菜、),两个厨师的关系是集群。为了让厨师专心炒菜,把菜做到极致,再请了个配菜师负责切菜,备菜,备料 ...  厨师和配菜师的关系是分布式。一个配菜师也忙不过来了,又请了个配菜师,两个配菜...

2018-12-13 14:30:59 425

转载 由多线程内存溢出产生的实战分析

一日凌晨,手机疯狂报警,短信以摧枯拉朽之势瞬间以百条的速度到达,我在睡梦中被惊醒,看到短信的部分内容如下:Caused by: java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) at java.lang.Thread.s

2017-08-13 16:57:17 693

转载 Java单元测试工具:JUnit4(四)——JUnit测试套件使用及参数化设置

(四)JUnit测试套件使用及参数化设置        这篇笔记记录JUnit测试套件的使用,即批量运行测试类;以及JUnit中的参数化设置。        @RunWith  当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器(runner)来运行测试,而不是JUnit默认的运行器。1.JUnit测试套件     

2017-07-03 16:15:07 960

转载 Java单元测试工具:JUnit4(三)——JUnit详解之运行流程及常用注解

(三)运行流程及常用注解        这篇笔记记录JUnit测试类运行时,类中方法的运行顺序;以及JUnit中常用的注解。1.JUnit的运行流程1.1 新建测试类        右键被测试类,新建一个测试类。弹出框中,首先改变测试类所在的代码目录,然后勾选4个方法:1.2 修改测试类代码如下:[java] view plain copy

2017-07-03 16:13:51 339

转载 Java单元测试工具:JUnit4(二)——JUnit使用详解

(二)JUnit使用注意点及测试失败的两种情况        看了慕课网的JUnit视频教程:http://www.imooc.com/learn/356,总结笔记。        这篇笔记记录JUnit使用的一些注意点,或者说约定俗成的地方;以及介绍了导致测试失败的两种情况。1.JUnit使用的最佳实践        ①测试方法上必须使用@Test进行修饰        ②测

2017-07-03 16:13:01 387

转载 Java单元测试工具:JUnit4(一)——概述及简单例子

(一)JUnit概述及一个简单例子        看了慕课网的JUnit视频教程:http://www.imooc.com/learn/356,总结笔记。        这篇笔记记录JUnit的概述,以及一个快速入门的例子。1.概述1.1 什么是JUnit        ①JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的

2017-07-03 16:11:32 364

转载 基于Spark ALS在线推荐系统

所用技术:Bootstrap、flat-ui 、 Servlet、Spark1.4.1、Hadoop2.6.0、JDK说明:本系统不涉及ssh相关内容,只有简单的Servlet和JSP、HTML页面,系统架构相对简单。系统部署:1. 拷贝spark-assembly-1.4.1-hadoop2.6.0.jar到WebContent/WEB-INF/l

2017-06-19 22:38:20 746

转载 白话搜索引擎选型调研文档那个好?(三)

Elasticsearch简介*Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。但是Luce

2017-02-27 10:38:36 337

原创 白话Lucene和solr的区别是什么?(二)

直接来一段英文看Many people new to Lucene and Solr will ask the obvious question: Should I use Lucene or Solr?The answer is simple: if you're asking yourself this question, in 99% of situations, wha

2017-02-27 10:32:14 1782

原创 白话lucene是什么?(一)

是一个开放源代码的全文检索引擎工具包。但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。文字修饰的优雅而美丽没用:程序员能听懂的白话解释:lucene是用java语言编写

2017-02-27 10:05:38 294

转载 spark生态圈整体技术架构图

2017-02-27 09:36:56 1260

转载 数据库的拆分

数据库Sharding的基本思想和切分策略本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 一、基本思想      Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不

2017-02-17 16:46:46 1224

转载 一种可以避免数据迁移的分库分表scale-out扩容方式

目前绝大多数应用采取的两种分库分表规则mod方式dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月份的数据在一个库表)这两种方式有个本质的特点,就是离散性加周期性。例如以一个表的主键对3取余数的方式分库或分表: 那么随着数据量的增大,每个表或库的数据量都是各自增长。当一个表或库的数据量增长到了一个极限,要加库或加表的时候,介于这种分库分表算法的离散

2017-02-17 16:42:43 497

转载 每秒处理10万订单乐视集团支付架构

随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定的完成支付尤为重要。所以在15年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。一、库分表在Redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复

2017-02-17 16:40:14 337

原创 spark2.1.0发布了

2016年12月28日发布此版本更改默认scala版本是Scala 2.11官网看到Spark runs on Java 7+, Python 2.6+/3.4+ and R 3.1+. For the Scala API, Spark 2.1.0uses Scala 2.11. You will need to use a compatible Scala version(2.1

2017-02-17 16:37:49 511

转载 Flume+Kafka+Storm+Redis实时分析系统基本架构

今天作者要在这里通过一个简单的电商网站订单实时分析系统和大家一起梳理一下大数据环境下的实时分析系统的架构模型。当然这个架构模型只是实时分析技术的一 个简单的入门级架构,实际生产环境中的大数据实时分析技术还涉及到很多细节的处理, 比如使用Storm的ACK机制保证数据都能被正确处理, 集群的高可用架构, 消费数据时如何处理重复数据或者丢失数据等问题,根据不同的业务场景,对数据的可靠性要求以及系统

2017-02-09 14:08:55 574

原创 spark2.0.0发布

2016年07月26日  spark2.0.0发布官网上说:我们是很高兴的宣布这spark2.0.0是可以使用,了解发行此版本的说明和了解新的功能,并且你也是可以下载使用这个版本!我们读官网上的说明了解到:它是2.x版本线上的第一个版本。主要的更新是API可用性   SQL2003的支持   性能提升        structured streaming   R中支持UD

2016-07-28 10:54:08 650

转载 Spark在美团的实践

前言美团是数据驱动的互联网服务,用户每天在美团上的点击、浏览、下单支付行为都会产生海量的日志,这些日志数据将被汇总处理、分析、挖掘与学习,为美团的各种推荐、搜索系统甚至公司战略目标制定提供数据支持。大数据处理渗透到了美团各业务线的各种应用场景,选择合适、高效的数据处理引擎能够大大提高数据生产的效率,进而间接或直接提升相关团队的工作效率。美团最初的数据处理以Hive SQL为主,底层计算引擎

2016-07-03 10:27:13 2409

原创 ETL与数据仓库的区别(二)

ETL常与数据仓库相关.那么就需要知道数据仓库是什么数据仓库具体概念可以参考百度百科/英文原文.此处不做理解我所理解的数据仓库字面拆分:数据                    仓库用来装数据的一个大的集合,其中数据的格式是什么样子的,不用管,只要有“一个东东”来装这个数据即可具体的数据仓库是一个理论上面概念,具体的落实到实地,那么我们就是需要各种软件或工具来实现

2016-05-30 12:06:51 3603 1

原创 ETL是什么(一)

首先我们必须知道ETL是什么?ETL是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL是一个完整的过程,它不是一个具体的技术,也不是一个具体的实现方式,就是一个处理的过程.

2016-05-30 12:00:40 547

原创 flume版本的选择

jdk1.7.48 +flume 1.6.0即可

2016-05-21 21:21:00 2567

转载 flume学习(十一):如何使用Spooling Directory Source

问题导读1.如何理解将FTP上的信令数据汇聚到HDFS上去存储?2.使用Spooling Directory Source的时候同时读写一个文件会怎样?最近在弄一个信令数据汇聚的事情,主要目的是把FTP上的信令数据汇聚到HDFS上去存储。 逻辑是这样的:把FTP服务器上的文件下载到一台主机上,然后SCP到另外一台主机上的Spooling Dire

2016-05-21 21:10:45 594

转载 flume学习(十):使用Morphline Interceptor

问题导读1.Morphline是干嘛用的?2.如何将message属性添加到event的headers当中?Morphline是干嘛用的?简单点说就是一个ETL工具,详细介绍:http://kitesdk.org/docs/current/ ... ReferenceGuide.html这里有一个注意点,是和cloudera search版本有关

2016-05-21 21:09:50 599

转载 flume学习(九):自定义拦截器

问题导读1.如何添加拦截器RegexExtractorExtInterceptor?2.改动的内容中是如何增加两个配置参数?还是针对学习八中的那个需求,我们现在换一种实现方式,采用拦截器来实现。先回想一下,spooldir source可以将文件名作为header中的key:basename写入到event的header当中去。试想一下,如果

2016-05-21 21:08:55 1031

转载 flume学习(七)、(八):如何使用event header中的key值以及自定义source

问题导读1.如何使用event header中的key值?2.如何部署扩展自定义的spooling directory source?前面我们已经说到我们在header中添加了一个key为:flume.client.log4j.logger.source  ,然后有两个应用程序,一个设置为app1,一个设置为app2。现在有这么一个需求,要将ap

2016-05-21 21:07:48 1661

转载 flume学习(六):使用hive来分析flume收集的日志数据

问题导读1.遇到无法转换成JSON对象的字符串时应如何处理?2.遇到非JSON格式输入的时候应如何处理?前面已经讲过如何将log4j的日志输出到指定的hdfs目录,我们前面的指定目录为/flume/events。如果想用hive来分析采集来的日志,我们可以将/flume/events下面的日志数据都load到hive中的表当中去。如果了解hi

2016-05-21 21:06:12 382

转载 flume学习(五):flume将log4j日志数据写入到hdfs

问题导读1.将log4j的日志输出到agent的日志文件当中,应如何配置文件?2.把log4j的日志直接采集输出到hdfs中去,如何修改flume.conf中sink的配置?在第一篇文章中我们是将log4j的日志输出到了agent的日志文件当中。配置文件如下:tier1.sources=source1tier1.chann

2016-05-21 21:04:47 388

转载 flume学习(四):Flume Channel Selectors使用

问题导读1、怎样将不同项目的的日志输出到不同的channel?2、如何理解一个sink为hdfs,一个sink为logger的拓扑结构?3、怎样在Log4jExtAppender.java类里扩展一个参数?前几篇文章只有一个项目的日志,现在我们考虑多个项目的日志的收集,我拷贝了一份flumedemo项目,重命名为flumedemo2,添加了一个WriteLog2

2016-05-21 21:02:56 951

转载 flume学习(三):Flume Interceptors的使用

问题导读1、如何理解flume拦截器?2、如何使用regex_filter和 timestamp这两个拦截器来实现一个较强的功能?3、怎样为source1添加了两个拦截器?对于flume拦截器,我的理解是:在app(应用程序日志)和 source 之间的,对app日志进行拦截处理的。也即在日志进入到source之前,对日志进行一些包装、清新过滤等等动作。

2016-05-21 21:01:40 353

转载 flume学习(二):如何找到cm安装的flume的配置文件

问题导读1、如何将log4j的日志输出到agent的日志文件当中?2、怎么将sink的type由logger变为hdfs?3、报错?你给目录授权了吗?通过CM安装好flume-ng之后,可以在管理界面上修改flume.conf配置,但是 /etc/flume-ng/conf目录下的flume.conf文件却空空如也。由于对CM的运行原理不了解,搞不明白我修改的配

2016-05-21 21:00:07 642

转载 flume学习(一):log4j直接输出日志到flume

问题导读1、如何让log4j直接输出日志到flume?2、如何写一个简单的测试类来测试呢?3、如何看到log4j的日志是否输出到了flume中?log4j.properties配置:log4j.rootLogger=INFOlog4j.category.com.besttone=INFO,flumelog4j.append

2016-05-21 20:58:34 439

原创 flume的级别的架构使用--实际场景应用--可以用于分布式的服务形式的日志采集

首先这个是我的原创文章,也参考了网络上的各位大神的文章加上自己的总结,欢迎各位大神指出错误!我们共同进步!flume级别的架构使用(常用模式)直接上干货,文字性的描述有1.介绍:log是各个分布式服务的日志,可用从web的service产生的logSource组件(每一个的)都是采集不同的service的服务的logchannel组件(每一个的)都是接收不同sour

2016-05-21 13:07:13 1671

转载 在使用Spark Streaming向HDFS中保存数据时,文件内容会被覆盖掉的解决方案

我的Spark Streaming代码如下所示:全选复制放进笔记val lines=FlumeUtils.createStream(ssc,"hdp2.domain",22222,StorageLevel.MEMORY_AND_DISK_SER_2)val words = lines.filter(examtep(_))words.foreachRDD(exam(_))//some

2016-05-18 00:42:59 7073

原创 kafka丢数据和数据重复

首先这个是我的原创文章,也参考了网络上的各位大神的文章加上自己的总结,欢迎各位大神指出错误!我们共同进步!1.kafka的数据交换是在哪里完成?kafka设计的初衷是尽一切努力在内存中完成数据交换,无论是对外的系统,或是内部存底层的操作系统的交互.如果Producer和Consumer之间生产和消费进度上配合得当,完全可以实现数据交换零I/O,但是这个几乎不可能2.kafka缓

2016-05-12 21:21:27 17736 2

转载 zookeeper的实用场景二

1.先上原理图2.说明两个mysql采用主主同步的方式进行部署。在安装mysql的服务器上安装客户端(目前是这么做,以后想在zookeeper扩展集成),客户端实时监控mysql应用的可用性,可用时想zookeepercreateNode,当网络不可用或者mysql应用不可用时,建立的znode消失。在客户端,通过改造proxool数据库连接池的方式,在建立

2016-02-04 12:01:11 317

转载 zookeeper的实用场景—

数据发布/订阅就是发布者把数据发送到zookeeper的一个或者一系列的节点上,供订阅者进行订阅。从而达到动态获取数据的目的,能够实现配置信息的集中式管理和数据的动态更新。一般的类似于发布/订阅的模式有推和拉的两种方式,而在zookeeper中,是把这两种方式进行结合了。客户端详服务端注册自己需要关注的节点,一旦该节点的数据发生变更,那么服务端就会向相应的客户端发送watcher事件的

2016-02-04 11:44:54 259

zookeeper的ppt

这个是zookeeper的技术的文档可以从这里下载的ppt

2016-02-04

空空如也

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

TA关注的人

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