自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不瘦十斤不换名字

记录一下吧

  • 博客(26)
  • 收藏
  • 关注

原创 JVM-性能调优

JVM调优主要是针对内存管理,包括各个代的大小分片和GC的选择。由于GC发生时会导致应用进程被挂起,所有,JVM调优的主要目的就是尽量减小GC对应用进程的影响,减少Full GC,避免Stop-The-World的放生。常用调优参数-Xms,-Xmx:配置堆内存大小。通常为了避免在运行时频繁的分配堆内存,会将这两个参数设置相同的值。-Xmn:配置新生代空间的大小。新生代Eden,From,To三个区

2016-11-19 19:42:36 442

原创 JVM-垃圾回收算法

跟踪收集器跟踪收集器采用集中式的管理方式,全局记录每个对象的引用状态,执行时,把一系列GC Root对象作为起点,向下搜索引用链,如果一个对象到GC Root之间没有任何引用链,那么这个对象就可以被回收。此类回收算法有三种:标记-清除、标记-复制和标记-整理。标记-清除标记清除是最基本的收集算法,其他算法都是以这种思想为基础。标记-清除算法分为两个节点:标记和清除。首选标记出需要回收的对象,然后对这

2016-11-19 16:54:38 246

原创 JVM-内存模型

JVM内存模型 方法区也称永久代,存放JVM加载的类的信息、静态变量和常量,是线程的共享区域。方法区的大小默认是16MB到64MB,可以通过-XX:PermSize和-XX:MaxPermSize来修改。运行时常量池是方法区的一部分,用于存储由编译器生成的各种字符常量,当类被加载时,类中的字符常量会被放入方法区的常量池中。虚拟机栈描述了Java方法的内存模型,当一个方法被调用时,就会创建一个“栈帧

2016-11-19 12:36:41 531

原创 Hadoop-MapReduce应用案例

数单词数据源China officially the People's Republic of China (PRC) is a unitary sovereign state in East Asia With a population of over 1 381 billion it is the world's most populous state [16] The state is

2016-11-16 13:00:56 1265

转载 Linux-nohup的用法

参考:http://blog.163.com/lgh_2002/blog/static/440175262013101395726471/ http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行my

2016-11-15 08:21:07 1211

原创 阿里云搭建集群环境

#修改主机名vim /etc/sysconfig/network#创建文件夹mkdir -p /usr/application/dev-envmkdir -p /usr/application/dev-fm#跨机器复制scp jdk-8u111-linux-x64.tar.gz root@node2:/usr/application/dev-envscp jdk-8u111-linux-x

2016-11-12 16:05:11 2967

原创 Redis-复制

通过持久化功能,可以保证即使redis服务重启也不会造成数据丢失,但是由于数据的存储在一台服务器上,如果磁盘出现故障,数据仍然会丢失。为了避免单点故障,我们可能会希望将数据复制到多个副本,即使有一台机器出现故障,其他服务器依然可以继续提供服务,这就要求当一台服务器上的数据更新时,可以自动将更新同步到其他服务器上,redis提供的复制功能可以自动完成这个动作。Redis支持一主多从的拓扑机构,如下图所

2016-11-10 16:24:55 291

原创 Redis-Redis的持久化(RDB/AOP)

由于Redis是基于内存的数据库,为了保证数据的可用性,Redis提供了两种数据持久化机制:RDB和AOP,下面对这两种持久化方式加以分析。RDB运行原理RDB模式可以在指定的时间间隔内生成内存中整个数据集的持久化快照。快照文件默认被存储在当前文件夹中,名称为dump.rdb,可以通过dir和dbfilename参数来修改默认值。1.redis调用fork函数复制当前进行的一个副本-子进程2.父进

2016-11-10 15:27:48 5715 1

原创 Redis-消息队列

消息队列,是在构建大型项目的时候 经常会用到的中间价系统,使用消息队列有很多好处,例如: 1. 实现各组件之间的松耦合。利用消息系统可以使各个组件之间面向数据,而不是面向具体的接口。 2. 易于扩展。对于消息系统而言,消费者和生产者都可以横向扩展。使用Redis实现任务队列提到队列,很自然的就会想到Redis的列表类型,可以利用列表类型的lpush和rpop命令来完成,生产者调用lpush向队列

2016-11-10 14:07:52 493

原创 Redis-排序

Sort命令可以对列表、集合和有序集合进行排序。命令sort list #对列表中的数据进行排序sort list alpha #按照字典顺序排序sort list desc #倒排序sort list limit index offset #截取返回的数据

2016-11-10 10:59:32 427

原创 Redis-Key的生存时间

在实际开发过程中,经常会遇到一些有实效性的数据,比如限时优惠、缓存、验证码等等,过了一段时间后就应该删除这些数据。如果用关系型数据库,那么就需要在表中增加一个字段存储实效时间,然后定时轮询该字段并判断删除。而在redis中,可以使用expire命令给key设置有效时间来实现这个需求。操作命令expire key seconds #设置key的有效时间 单位为秒ttl key

2016-11-09 21:49:29 10209 7

原创 Redis-事务

用一个例子来切入Redis的事务。用Redis来存储微博中的用户关系 在微博中,用户有“关注”和“被关注”两种关系,使用Redis来存储这样的数据的思路是对每个用户使用两个集合类型的键,分别为user:userid:fellows和user:userid:fellowing,用来存储关注该用户的用户集合和该用户关注的用户的集合,然后在关注的过程中执行以下操作:def fellow($current

2016-11-09 20:20:38 302

原创 Redis-Redis实战(有序集合)

有序集合是Redis提供的又一种数据类型。与集合相比,很明显它增加了排序功能,除了基本的 新增 删 改 差 判断是否存在等操作外,有序集合还提供了排序、获取TopN、按Range获取等操作。有序集合的底层实现与集合相同,利用散列表来实现,同时,有序集合通过给集合中的每一个元素管理一个分数来实现排序。有序集合的操作zadd key score1 member1 score2 member2.. #添加

2016-11-09 15:34:02 498

原创 Redis-Redis实战(集合类型)

集合类型是Redis提供了一种内置数据类型,集合与列表相反,集合中的元素没有顺序,并且每个元素都是唯一的。集合类型底层用散列表实现,性能非常好,同时,集合还支持数学意义上的操作:交集、并集、差集运算。集合类型的操作命令sadd key member1 member2... #添加元素srem key member1 member2... #移除元素smembers key

2016-11-09 14:31:19 674

原创 Redis-Redis实战(列表类型)

列表类型是Redis提供的又一个数据类型,它用来存储有序的字符串列表,常用的操作是向列表的两端添加元素和获取列表中的某个片段。Redis列表类型在底层是用双端队列实现,在列表两端操作元素的时间复杂度为O(1),获取越靠近两端的元素效率越高。常见的使用场景有:存储热点数据和实现队列。列表类型的操作命令lpush key value #向列表左端添加元素rpush key val

2016-11-09 11:28:58 244

原创 Redis-Redis实战(散列类型)

散列,是Redis提供的一种数据类型。散列类型适用于存储类型:对象:属性结构的数据,其中,类型:对象作为key,属性作为字段,值是该字段的值。例如: 需要说明的是,redis同其他所有nosql数据库一样,并不强制要求每一个对象上的属性都一样,每个对象都可以根据需求定义任务属性,在散列类型中,每个对象最多支持2^32-1个字段,这会带来很大的灵活性。散列类型的操作操作命令hset key fiel

2016-11-09 10:04:31 472

原创 Redis-Redis实战(字符串类型)

Redis是一个kv数据块,所以先来看一下对键的操作。Key的操作1.设置一个键并指定值127.0.0.1:6379> set bar 1OK2.查看所有的键127.0.0.1:6379> keys *1) "bar"3.判断一个key是否存在127.0.0.1:6379> exists bar(integer) 14.查看一个key的数据类型127.0.0.1:6379> type bar

2016-11-08 20:18:45 325

原创 Redis-Redis安装

在使用Redis之前,需要在我们的系统中安装Redis。下载Redis到redis的官方网站 下载对应系统的redis安装包 本例以最新的3.5.2版本为例,redis-3.2.5.tar.gz解压Redis安装包>tar -xvzf redis-3.2.5.tar.gz编译>cd src>make...... INSTALL redis-check-rdb CC redis

2016-11-08 19:29:50 271

原创 Redis-Redis简介

Redis是目前最流行的的基于内存的kv数据库之一,被各大互联网公司广泛使用,下面,就来探索一下Redis的世界。Redis的历史2008年意大利的软件公司Meriza推出一款基于MySql的网站实时统计系统,但由于MySQL性能表现不佳,其创始人Salvatore Sanfilippo决定自己开发一个更快的数据库,由Redis诞生。2010年VmWare开始资助Redis的开发,随着Redis发展

2016-11-08 18:29:51 508

原创 Flume-应用案例(四)

参考:http://www.jb51.net/article/53542.htmFlume支持扇出流从一个源到多个通道,有两种模式的扇出,分别是复用和复制。在复制的情况下,流的事件被发送到所有的配置通道,而在复用的情况下,事件被发送到可用通道的一个子集。扇出流需要制定删除源及扇出的规则。Replication Channel Selector两台机器:192.168.11.129 master, 1

2016-11-07 21:07:27 871

原创 Flume-应用案例(三)

JsonHandler用于处理标准json数据。编写JSONHandler source配置文件>echo >> json.conf>vim json.confa1.sources=r1a1.channels=c1a1.sinks=k1a1.sources.r1.type=org.apache.flume.source.http.HTTPSourcea1.sources.r1.port

2016-11-07 19:39:18 520

原创 Flume-应用案例(二)

###Spool### 监测目录下的新增文件,并将文件中的内容读取出来。编写spooldir source配置文件>echo spooldir.conf>vim spooledir.conf#defined name of source/channel/sinka1.sources=r1a1.channels=c1a1.sinks=k1#configure spooldir so

2016-11-07 16:26:58 250

原创 Flume-应用案例(一)

Flume内置的很大功能强大的Source、Channel和Sink的实现,并且这些实现可以自由组合,同时,Flume的拓扑结构也和灵活,可以根据不同的应用场景选择不同的架构,下面示例Flume常用的配置。AvroAvro是一种协议,在分布式系统中广泛用于节点之间的数据交互,Flume可以把一个具体的Avro数据端口作为数据源来收集数据。编写Avro Source配置文件avro.conf>vi

2016-11-07 15:02:35 413

原创 Flume-安装Flume

Flume最初是由Cloudera开发的,后来被纳入Apache软件基金会。下载Flume下载地址 选择对于版本的Flume压缩包下载到本地安装Flume解压>tar -xvzf apache-flume-1.7.0-bin.tar.gz配置Flume运行环境>cd flume1.7.0/conf>cp flume-env.sh.template flume-evn.sh>vim fl

2016-11-07 13:33:21 256

原创 Flume-Flume简介

Flume概述Flume是一个可靠的、高可用的海量日志收集、聚合、传输系统,支持在日志系统中定制各种数据发送方,用于数据采集,同时,Flume还可以对数据进行简单处理,并且写入各种数据接收方,例如Hadoop、HBase、JDBC等等。Flume的组成Flume中的数据流是由Event组成的,Event是 Flume中数据流的基本单位,它携带日志数据和头信息,事件是由数据发送发生成的,Source接

2016-11-07 12:53:34 679

原创 CSDN-markdown编辑器语法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-11-02 09:24:45 194

空空如也

空空如也

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

TA关注的人

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