- 浏览: 129076 次
- 性别:
- 来自: 深圳
-
最新评论
文章列表
众所周知,Memcached使用的是LRU(Least Recently Used最近最少使用)算法来回收缓存,将那些属于LRU的数据移出内存,从而腾出空间来加载另外的数据。那么Memcached的最近最少使用算法是怎么实现的呢?也许很多人都会回答:不就是在内存满了的情况下,把最近最少使用的Key替换掉,然后插入新的Key-Value键值对吗?其实不然,下面我们来深入的分析Memcached的LRU的内部实现,在分析LRU之前,让我们先了解一下Memcached的内部原理。
Memcached的内存分配
Memcached是采用Slab Allocator机制分配、管理内存,首先,我们必须理 ...
- 2015-08-25 21:58
- 浏览 2121
- 评论(0)
telnet连接到Memcached服务器以后,可以使用很多命令,比如:get,gets,set,touch,delete,add,replace,append,prepend,incr,decr,cas,flush_all,version,quit等等
还有就是该篇要讲的stats命令,该命令可以获取到memcached服务器的相关信息。
stats
[root@bicloud75 memcached-1.4.22]# telnet 127.0.0.1 12000
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character ...
- 2015-08-25 16:44
- 浏览 725
- 评论(0)
telnet连接到Memcached服务器以后,可以使用很多命令,比如:get,gets,set,touch,delete,add,replace,append,prepend,incr,decr,cas,flush_all,version,quit等等
Memcached存储命令的格式:
<command name> <key> <flags> <exptime> <bytes>
<data block>
参数说明如下:
<command name>
set/add/replace ...
- 2015-08-25 11:51
- 浏览 614
- 评论(0)
Window安装Memecached
windows下使用memcached,直接在网上下载memcached.exe即可。
Linux安装Memecached
1,首先下载Memached安装包:http://www.memcached.org/files/memcached-1.4.22.tar.gz
2,另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent。(如果系统已经安装了libevent,可以不用安装)
3,安装过程:
[root@bicloud75 home]# yum install libe ...
- 2015-08-25 11:49
- 浏览 349
- 评论(0)
今天同事问起我目前用Maven构建的多模块项目架构和以前用Eclipse创建的Web项目的问题,下面将讲一下使用maven搭建多模块的J2ee项目,以及采用这种方式搭建项目对日后项目的水平拆分和垂直拆分的好处,最后会给一个示例项目供 ...
- 2015-08-21 10:55
- 浏览 1092
- 评论(0)
Hadoop命令系列文章共5篇,链接地址如下:
Hadoop之文件系统Shell
Hadoop之命令指南
Hadoop之HDFS命令
Hadoop之MapReduce命令
Hadoop之YARN命令
希望对大家能有所帮助,不正确的地方希望留言讨论。
- 2015-08-19 23:59
- 浏览 413
- 评论(0)
概述
所有的HDFS命令都调用bin/hdfs脚本文件,如果运行hdfs脚本没有带任何参数的话,则打印所有命令的描述。
使用: hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop是一个参数解析框架,采用解析泛型选项以及运行类。
命令参数
描述
--config--loglevel
指定一个默认的配置文件目录,默认值是:${HADOOP_PREFIX}/conf.
重载Log级别。有效的日志级别包含:FATAL, ERROR, WARN, INFO, DE ...
- 2015-08-19 13:46
- 浏览 4157
- 评论(0)
一,安装Linux桌面:
yum -y groupinstall Desktop
yum -y groupinstall "X Window System"
yum -y groupinstall chinese-support
vi /etc/sysconfig/i18n
将en_US改成zh_CN
二,安装VNCServer服务包:
1,安装VNCServer服务端软件包。
#yum -y install vnc *vnc-server*
2,修改VNCServer主配置文件
#vim /etc/sysconfig/vncservers
复 ...
- 2015-08-18 09:23
- 浏览 746
- 评论(0)
最近在看flume部分功能的源码,关于FileLock的使用,其实在很多开源框架都有涉及,我所看过的有lucene,zookeeper,hadoop,es等开源框架都有用到,下面简单的介绍下FileLock。
1,FileLock是独占锁,控制不同程序(JVM)对同一文件的并发访问。2,可以对写文件(w)加锁,而且必须是可写文件,不然回报:java.nio.channels.NonWritableChannelException异常,这样可以保证只有同一个进程才能拿到锁对文件访问。其他进程无法访问改文件,或者删除该文件的目录。
3,由于是独占锁,所以可以保证进程间顺序访问该文件,避 ...
- 2015-08-17 21:49
- 浏览 1269
- 评论(0)
由于公司机房异常断电,导致测试环境的hadoop集群数据全部down掉。重启hadoop集群后,访问:http://xxx.xxx.xxx.xx:50070/dfshealth.html
提示:
NameNode is still loading. Redirecting to the Startup Progress page.如图:
这个不是错误。因为hadoop启动时,会进入安全模式进行自检,自检完毕就好了。下面来看看NameNode重启的状态变化:
NameNode启动,集群将处于安全模式。
查看集群的状态:[hduser@hadoop0 bin]$ hdfs dfsadm ...
- 2015-08-17 12:33
- 浏览 1317
- 评论(0)
MapReduce按照任务大小和设置的不同,提供了两种任务模式:
客户端通过org.apache.hadoop.mapreduce.protocol.ClientProtocol与服务端通信,ClientProtocol的继承关系:
老一些的版本还有一个JobTracker的实现类,即:classic。用于和MapReduce1.X兼 ...
- 2015-08-16 14:11
- 浏览 4243
- 评论(0)
Hadoop开篇,按惯例,先编译源码,导入到Eclipse,这样以后要了解那块,或者那块出问题了,直接找源码。
hadoop2.4.1编译需要protoc2.5.0的支持,所以还要下载protoc。我下载的是:protobuf-2.5.0.tar.bz2
对protoc进行编译安装前先要装几个依赖包:gcc,gcc-c++,make 如果已经安装的可以忽略
yum install gcc
yum install gcc-c++
yum install make
yum install cmake
yum install openssl-devel
yum install n ...
- 2015-08-15 10:53
- 浏览 767
- 评论(0)
Hadoop序列化文件SequenceFile可以用于解决大量小文件(所谓小文件:泛指小于black大小的文件)问题,SequenceFile是Hadoop API提供的一种二进制文件支持。这种二进制文件直接将<key,value>对序列化到文件中,一般对小文件可以使用这种文件合并,即将文件名作为key,文件内容作为value序列化到大文件中。
hadoop Archive也是一个高效地将小文件放入HDFS块中的文件存档文件格式,详情请看:hadoop Archive
但是SequenceFile文件不能追加写入,适用于一次性写入大量小文件的操作。
Seque ...
- 2015-08-14 19:50
- 浏览 862
- 评论(0)
整理了几个以前从网上记录sum.msic.Unsafe类的示例,供大家参考:
package com.fish.unsafe;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Ha ...
- 2015-08-14 09:08
- 浏览 418
- 评论(0)
相信看过java源码的同学,对 sum.msic.Unsafe 这个类并不陌生,特别是在java.util.concurrent包有很多的使用。
sum.msic.Unsafe源码:
http://www.docjar.com/html/api/sun/misc/Unsafe.java.html
javadoc:
http://www.docjar.com/docs/api/sun/misc/Unsafe.html
sum.msic.Unsafe是一个执行低级别(硬件级别的原子操作),不安全操作的方法结合,因为java无法访问到系统底层,所以我们可以看到sum.m ...
- 2015-08-14 09:05
- 浏览 611
- 评论(0)