自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CoffeJoy

日拱一卒,功不唐捐。

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

原创 Kafka(三) —— 集群监控

任何应用功能再强大、性能再优越,如果没有与之匹配的监控,那么一切都是虚无缥缈的。监控不仅可以为应用提供运行时的数据作为依据参考,还可以迅速定位问题,提供预防及告警等功能,很大程度上增强了整体服务的鲁棒性。一、Kafka监控指标与获取Kafka监控的4个维度:集群信息broker信息topic信息consumer group信息使用JConsole访问JMX(1)终端输入jc...

2019-11-26 11:10:08 721

原创 Kafka(二) —— 设计原理

broker端设计架构消息设计/** * 消息类 * * @author Michael Fang * @since 2019-11-14 */public class Message implements Serializable{ // 2字节 private short magic; // 2字节 private short codecKla...

2019-11-19 10:01:32 205

原创 Kafka(一) —— 基本概念及使用

一、安装&启动安装Kafka(使用内置Zookeeper)在Kafka官网下载安装包kafka_2.11-1.0.0.tgz#### 解压tar zxvf kafka_2.11-1.0.0.tgz#### 启动内置的zookeeper.bin/zookeeper-server-start.sh ../config/zookeeper.properties#### 启动ka...

2019-11-19 09:59:52 249

原创 大数据处理(七)—— Lambda架构

批处理层实时处理层服务层参考视频Lambda架构

2019-05-02 02:50:16 377

原创 算法练习 —— LeetCode 1-10题

一、两数之和题目描述给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路有目标数,又限制是两个数之和,所以知道若一个数为nums[i],...

2019-05-01 02:17:26 213

原创 算法学习 —— 动态规划练习(二)

一、不同路径(LeetCode-62)1.1 题目介绍不同路径1.2 解题思路计数型动态规划

2019-04-29 12:31:57 233

原创 算法学习 —— 动态规划练习(一)

一、练习一1.1 题目介绍121. 买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 ...

2019-04-27 15:41:13 267

原创 Spark(二)——标签计算、用户画像应用

数据86913510 {"reviewPics":[],"extInfoList":null,"expenseList":null,"reviewIndexes":[1,2],"scoreList":[{"score":5,"title":"环境","desc":""},{"score":5,"title":"服务","desc":""},{"score":5,"title":"口味","des...

2019-04-27 02:11:59 1265

原创 Spark(一)—— 大数据处理入门

一、Spark介绍组成Spark组成(BDAS):全称伯克利数据分析栈,通过大规模集成算法、机器、人之间展现大数据应用的一个平台。也是处理大数据、云计算、通信的技术解决方案。它的主要组件有:SparkCore将分布式数据抽象为弹性分布式数据集(RDD),实现了应用任务调度、RPC、序列化和压缩,并为运行在其上的上层组件提供API。SparkSQLSpark Sql 是S...

2019-04-27 01:56:44 476

原创 线上大量CLOSE_WAIT原因排查

查看命令netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'什么是CLOSE_WAIT参考文档线上大量CLOSE_WAIT原因排查

2019-04-25 11:01:36 695

原创 JVM复习 —— 内存区域

JVM 内存结构Java 虚拟机的内存空间分为 5 个部分:程序计数器Java 虚拟机栈本地方法栈堆方法区程序计数器(PC)为什么需要程序计数器因为Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的。任意时刻,一个处理器只执行一条指令,为了进程切换后恢复到正确的执行位置,所以才有了程序计数器作用记录当前线程的执行字节码的位置,线程私有,也就是每个...

2019-04-24 04:23:29 171

原创 算法学习——动态规划讲解

概念通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。参考文档算法数据结构面试通关(经验全集)动态规划...

2019-04-24 02:56:08 252

原创 Java核心复习 —— ArrayList源码阅读

dir

2019-04-23 12:56:24 189

原创 Java核心复习——序列化

dir

2019-04-22 07:48:48 139

原创 Java核心复习—— ThreadLocal源码分析

dir

2019-04-22 07:30:08 180

原创 BitMap与RoaringBitmap、JavaEWAH

一、BitMap介绍BitMap使用bit位,来标记元素对应的Value。该算法能够节省存储空间。假设一个场景,要存0-7以内的数字[3,5,6,1,2],尽可能的节省空间。一种思路就是单纯使用数组存储,但如果数据量放大百万倍甚至千万倍呢,数组的所占用的内存会非常大。另一种思路是使用BitMap。表示[3,5,7,1,2],我们可以用8bit的空间来存储,每个数字都在对应的位置中以1的方式...

2019-04-21 01:02:18 2633 2

原创 Java核心复习——线程池ThreadPoolExecutor源码分析

使用线程池的好处创建线程和销毁线程会带来资源和时间上的消耗,而且线程池可以对线程进行管理。所以好处如下降低资源的消耗提高响应的速度提高线程的可管理性线程池的实现原理参考文档《Java并发编程的艺术》...

2019-04-18 09:18:05 467

原创 Redis的Set与Zset

set与zset的区别求交、并、差集操作分页参考文档Redis官方文档Redis官方命令文档Redis历史发布版本

2019-04-18 07:49:12 1530

原创 Java核心复习——CompletableFuture

CompletableFuture

2019-04-17 12:49:42 186

原创 Java核心复习——HashMap源码阅读

HashMap 简介HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突)。JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)时,将链表转化为红黑树,以减少搜索时间。Has...

2019-04-17 09:28:04 193

原创 IP代理池设计与解决方案

背景爬虫服务请求量大,为了应对反爬措施,增加爬虫的爬取效率和代理IP使用率,需要设计一个IP代理池,满足以下需求:定时任务获取第三方代理及时剔除IP代理池中失效的IP业务隔离IP若IP未失效,但对某个业务来说,IP被封,需要针对业务,隔离此IP均衡使用IP避免IP使用频率不均问题需求1:及时剔除IP代理池中失效的IP超过有效时间,自动失效每个IP都有固定的有效时...

2019-04-17 07:24:49 686

原创 分布式定时任务解决方案

背景服务有定时任务,当服务部署到多个节点时,每个节点在同一个时间点都会执行相同的定时任务,需要做的是,让同一个时间点,每一个定时任务只在一个节点上执行。解决方案思路单独设置任务调度服务使用Redis实现使用Elastic-Job框架实现使用LTS框架实现方案一:单独设置任务调度服务任务调度服务部署在单结点,定时任务以Http请求的方式去向网关调用任务请求,网关将请求分发到集群中...

2019-04-17 06:57:43 1102 1

原创 Lucene实战 ——(二)构建索引

索引操作仅仅是整个搜索程序的一个简单的步骤。重要的是搜索程序给用户的搜索体验。几乎对所有搜索程序来说,搜索功能都比索引操作细节重要得多。...

2019-04-11 02:31:24 160

原创 Lucene实战 ——(一)初识Lucene

Lucene介绍Lucene的定位是,核心索引和搜索的模块,并非完整的搜索程序。搜索程序的组件其中阴影部分的可以由Lucene完成。索引组件为何需要索引操作?假设有一个3GB大小的文本,需要找出“程序”两个字,一种最简单的方式是顺序扫描,但这种扫描明显效率很低。所以就要选中一种高效的数据结构来存储,使得查询速度达到最快,这个过程就叫做索引操作,它的输出就叫索引。索引的流程搜索...

2019-04-09 23:55:12 300

原创 ElasticSearch ——(十一)索引API —— 索引管理

创建索引删除索引获取索引

2019-04-07 12:29:04 281

原创 ElasticSearch ——(十)聚合

The aggregations framework helps provide aggregated data based on a search query. It is based on simple building blocks called aggregations, that can be composed in order to build complex summaries o...

2019-04-07 12:27:07 315

原创 ElasticSearch ——(九)搜索API

Routing路由When executing a search, it will be broadcast to all the index/indices shards (round robin between replicas). Which shards will be searched on can be controlled by providing the routing par...

2019-04-07 12:26:09 205

原创 ElasticSearch ——(八)API文档 多文档操作

Multi Get APIBulk APIDelete By Query APIUpdate By Query APIReindex API

2019-04-07 12:24:37 302

原创 ElasticSearch ——(七)API文档 单文档操作

Index APIGet APIDelete APIUpdate APIIndex APIindex名为twitter,type名为_doc,文档ID为1PUT twitter/_doc/1{ "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out El...

2019-04-05 17:32:44 755

原创 ElasticSearch ——(六)API约定

The Elasticsearch REST APIs are exposed using JSON over HTTP.ES的REST API 是使用基于Http的JSON格式请求的。The conventions listed in this chapter can be applied throughout the REST API, unless otherwise specif...

2019-04-05 17:10:22 211

原创 ElasticSearch ——(五)升级 Upgrade Elasticsearch

Elasticsearch can usually be upgraded using a Rolling upgrade process so upgrading does not interrupt service. However, you might need to Reindex to upgrade indices created in older versions. Upgrade...

2019-04-04 09:34:36 1266

原创 ElasticSearch ——(四)准备 Set up Elasticsearch

准备ESThis section includes information on how to setup Elasticsearch and get it running, including:DownloadingInstallingStartingConfiguring本节包含如何安装、启动ES。包括:下载安装启动配置Supported platforms支持的...

2019-04-04 03:29:21 170

原创 ElasticSearch ——(三)基本操作 Getting Started

ElasticSearch增删改查PUT /lib/{ "settings": { "index":{ "number_of_shards":3, "number_of_replicas":0 } }}GET _search{ "query": { "match_all": {} }}PUT /lib/{...

2019-04-04 03:14:00 242

原创 ElasticSearch ——(二)基本操作 Getting Started

ElasticSearch增删改查PUT /lib/{ "settings": { "index":{ "number_of_shards":3, "number_of_replicas":0 } }}GET _search{ "query": { "match_all": {} }}PUT /lib/{...

2019-04-03 09:31:47 166

原创 ElasticSearch ——(一)介绍与基本概念

ElasticSearch增删改查PUT /lib/{ "settings": { "index":{ "number_of_shards":3, "number_of_replicas":0 } }}GET _search{ "query": { "match_all": {} }}PUT /lib/{...

2019-04-03 09:13:48 227

原创 设计模式 —— 代理模式

一、定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二、特点:真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作...

2019-04-02 10:00:08 113

原创 设计模式 —— 模版模式

一、定义:一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。二、特点:抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。具体类(ConcreteClass):实现抽象类中的抽象方法,已完成完整的算法。三、情景:咖啡冲泡流程:1、把水煮沸 2、用沸水冲泡咖啡 3、把咖啡倒进杯子 4、加糖...

2019-04-02 09:57:26 110

原创 设计模式 ——工厂模式

定义通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。特点:工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑,根据逻辑不同,产生具体的工厂产品。如例子中的Driver类。抽象产品角色:它一般是具体产品继承的父类或者实现的接口。由接口或者抽象类来实现。如例中的Car接口。具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现...

2019-04-02 09:51:04 103

原创 设计模式 —— 单例模式

单例模式属于对象创建性质的模式,用于产生一个对象的具体实例,并且可以确保系统中一个类只能产生一个实例。饥饿式单例public class Singleton { private static Singleton singleton = new Singleton(); private Singleton(){ System.out.println("Singleton is crea...

2019-04-02 09:49:16 79

原创 设计模式 —— 装饰模式

一、定义:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。二、特点:装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。装饰对象包含一个真实对象的引用(reference)装饰对象接受所有来自客户端的请求。它把这些请求转发给真实的对象。装饰对象可以在转发这些请求以前或以后增加...

2019-04-02 09:21:23 128

flume-hadoop-fonxian1024.zip

flume将日志存入HDFS时需要用到的jar包 flume版本1.7.0 hadoop版本2.7.4

2019-12-29

空空如也

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

TA关注的人

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