6 英雄郑旺

尚未进行身份认证

在千橡网景 基础架构部门 从事 redis集群 zookeeper集群 短信平台 贴纸开放平台 web后端研发

等级
TA的排名 2w+

(1)flume-1.7.0 安装、配置、启动

flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力。flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中

2017-12-29 16:46:10

elasticsearch2.1.0 curl 相关操作命令(二)

escurl命令相关操作

2017-12-19 18:47:17

elasticsearch2.1.0 curl 相关操作命令(一)

escurl命令

2017-12-19 18:41:22

elasticsearch2.1.0文档的相关操作

es文档的相关操作

2017-12-19 18:37:29

elasticsearch2.1.0索引的相关操作

es的索引操作

2017-12-19 18:35:49

elasticsearch-2.1.0 java客户端创建

es客户端分为两中模式:节点客户端(Nodeclient)节点客户端作为一个非数据节点加入到本地集群中。换句话说,它本身不保存任何数据,但是它持有数据分片的路由表,它知道数据在集群中的哪个节点中,并且可以把请求转发到正确的节点,这种客户端模式下,需要维持一些与集群本身通信的连接,但是使用这种模式数据的查询和索引是最快的。传输客户端(Transportclient)轻量级的传输客户端可以将请求发送到远程集群。它本身不加入集群,但是它可以将请求转发到集群中的一个节点上,使用这种模式存在“双跳”的现

2017-12-12 17:19:38

elasticsearch-2.1.0集群搭建 及其出现的一些问题

Elasticsearch是一个实时的分布式搜索分析引擎,建立在一个全文搜索引擎库ApacheLucene基础之上它能让你以一个之前从未有过的速度和规模,去探索你的数据。它被用作全文检索、结构化搜索、分析以及这三个功能的组合。我们从elasticsearch-0.17版本就开始使用,使用过程中遇到了很多问题同时也积累了一些使用的经验。

2017-12-12 16:19:59

kafka 从分区任意位置、分区开头、分区末尾开始消费数据

redis和kafka都可以作为消息队列使用,都可以完成发布订阅功能,但是kafka相较于redis可以实现订阅消息的存储,可以实现订阅消息的任意位置消费,更重要的时kafka订阅消息是可以存储到磁盘上的,而redis订阅消息是无法存储磁盘的。在这里我给出了kafka生产数据和消费数据的一些代码示例,演示了kafka从分区的不同位置开始消费数据的方式。

2017-12-11 16:38:03

elasticsearch-2.1.0 及其插件head的安装

Elasticsearch是一个实时的分布式搜索分析引擎,它能让你以一个之前从未有过的速度和规模,去探索你的数据。它被用作全文检索、结构化搜索、分析以及这三个功能的组合。当然如果你想具体的了解elasticsearch的详细信息你可以去elasticsearch官网查看。我这里记录一下elasticsearch-2.1.0及其插件head的安装。elasticsearch不同版本对jdk有不同的要求我这里给你一些版本的参考链接:

2017-12-04 14:44:08

网络编程之Selector & SelectionKey详解(二)

这篇博文我希望能总结出一个实用的简单客户端服务器通信示例,我在前面几篇博文中说过,socket通信中存在数据无边界的问题,这样造成不知道read数据是否完成;在前面几篇博文中我们看到在对客户端SocketChannel进行注册感兴趣的事件时,并没有注册SelectionKey.OP_WRITE写事件,是因为写事件注册之后客户端通道大多数情况下都会立即满足可以写数据的条件,即使这个时候服务器逻辑还没有生成要写回去的数据,所以对于客户端SocketChannel的写事件,我们一般不是在注册通道时注册,而是在服务

2017-11-18 12:58:19

网络编程之Selector & SelectionKey详解(一)

每个选择器selector中会包含三种键的集合,也可以认为是三种状态通道的集合,比较通道和选择键是一一对应的:(1)注册键的集合,通过register函数进行注册的通道这个集合可以通过Keys()方法返回(2)已选择键的集合,这个是注册键集合的子集,可以通过selectedKeys()方法返回,该集合中的通道都是准备好执行相应操作的通道(3)已取消键的集合,这个集合包含了cancel()方法被调用过的键(这个键已经被无效化),但它们还没有被注销。这个集合是选择器对象的私有成员,因而无法直接访问

2017-11-18 12:20:02

网络编程之SocketChannel & ServerSocketChannel & Selector

在前面的文章中我们讲过Socket的读是阻塞模式,并且读写都是一个字节或者几个字节,为了提高响应性能往往需要在服务端为每一个请求分配一个线程。后来为了解决传统Socket的这种阻塞低效方式,在jdk1.4之后引入了NewI/o(NIO)。

2017-11-09 17:53:49

网络编程之Socket&ServerSocket(一)

Socket和ServerSocket是网络编程非常重要的两个类,前者用于建立客户端套接字,并读写服务器;后者用于创建服务端套接字,监听某个端口并处理到达的客户端请求。按照TCP/IP的四层参考模型从上到下依次是应用层、传输层、网络层、物理层,而Socket是工作与应用层和传输层之间,它抽象了应用层以下的通信复杂细节,从设计模式的角度将Socket就是一个门面模式。Socket网络编程中对于

2017-11-08 13:50:29

commons-pool对象池实现原理及使用(二)

纸上得来终觉浅,绝知此事要躬行,我们用Commons-pool-1.6来写一个我们自己的对象池。类MyObject为池对象类MyPoolableObjectFactory为池对象工厂类MyObjectPool封装的一个对象池/****@authoryujie.wang*测试类*/publicclassMyObject{ privateStri

2017-10-26 14:47:20

commons-pool对象池实现原理及使用(一)

我们知道频繁的创建对象是一个相对较重的过程,jvm要加载类,初始化对象,为对象分配内存涉及到多个系统调用,这样对一个高负载的系统来说是比较消耗资源的。这时我们可以将所需对象进行池化,apache开源的的commons-pool是一个比较典型的实现对象池化组件,笔者所在的公司在多个框架中都使用过这个组件,还有很多业界知名的中间件如Redis客户端Jedis等都使用到了这个池化组件。我们虽然不必重复造轮子,但是我们也得了解这个轮子是怎么造的。

2017-10-25 09:36:02

详解java动态代理机制以及使用场景(一)

说起java动态代理,在我刚开始学java时对这项技术也是十分困惑,明明可以直接调通的对象方法为什么还要使用动态代理?随着学习的不断深入和工作经验的积累,慢慢的体会并理解了java动态代理机制。昨天再给公司新同事做技术培训时有同学就对动态代理产生了疑问,我这里梳理一遍一并记录一下,方便大家查看对自己也是加深记忆。

2017-10-19 10:29:10

漫谈jvm垃圾收集(3)

在这篇博客漫谈jvm垃圾收集(2)中我们说了目前商业虚拟机进行垃圾收集的通用算法和收集器。这里我们继续深入讨论一些关于垃圾收集的一些细节。我们前面说了现在大多数虚拟机都是采用分代收集策略,jvm依据不同对象的生存周期不同,将堆分为新生代和老年代,其中新生代又分为Eden、S0、S1区,其中S0、S1称为Surivivor区,一般Eden和Surivivor比例为8:1,可以使用-XX:SurvivorRatio=8进行比例的设置。

2017-10-10 08:47:33

漫谈jvm垃圾收集(1)

java程序员相比c++程序员最安逸的一个地方,就是不用负责对象内存的申请和释放,这部分功能都是由jvm自己负责,同时对java应用程序员来说这个过程是透明的。尽管这个过程大部分情况下不需要我们程序员去干预,但是了解这个过程并且合理的配置jvm垃圾回收策略的相关参数,能让我们在编程时更加游刃有余。

2017-10-09 09:50:17

thrift(1)------基于thrift通信组件的简单RPC服务

2007年facebook提交Apache基金会将Thrift是一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传输通信以及系统之间语言环境不同需要跨平台的特性

2017-10-06 22:08:26

java序列化与反序列化(5)------反序列化时对象的创建方式

我在前四篇文章都讲了和序列化相关的东西,在第四篇文章中讲了通过实现Serializable,Cloneable这两个接口来实现深拷贝,但是一直有一个问题值得再讨论一下那就是:反序列化时对象是怎么创建的?在第四篇文章中我们看到,不管通过实现Cloneable接口还是Serializable来进行深拷贝创建新对象时,都没有调用任何的构造函数进行创建对象,这看起来好像是jvm直接操作内存创建了对象。我们知道java中创建对象的方式有如下三种:通过new关键字创建对象,这个过程一定是需要调用构造函数的反射C

2017-10-06 16:42:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!