摘要: 安装Boostyum install boost-devel安装淘宝的tairwget http://code.taobao.org/p/tair/file/19/tair-2.3-46.el5.x86_64.rpmrpm -ivh tair-2.3-46.el5.x86_64.rpm如果安装失败提示libboost_thread.so.2()(64bit) is needed by tair-2.3-46.el5.x86_64,可以解压缩然后复制tair到/usr/local下配置系统环境变量export TFS_ROOT='/usr/local/tfs' //tfs的安装目 阅读全文
posted @ 2012-10-22 20:28 eprsoft 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 引言在本系列的上篇文章中介绍了Hadoop的基本概念和架构,本文将通过一个实例演示MapReduce基本编程。在继续进行前希望能重温下前面的内容,至少理解这张图是怎么回事。实践创建maven工程并加入hadoop依赖我们选用maven来管理工程,用自己喜爱的m2eclipse插件在eclipse里创建或在命令行里创建一个工程。在pom.xml里加入hadoop依赖。<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> 阅读全文
posted @ 2012-10-22 16:59 eprsoft 阅读(206) 评论(0) 推荐(0) 编辑
摘要: A.为什么要在Linux使用Eclipse开发C/C++程序? Linux是一个以C/C++开发为主的平台,无论是Kernel或是Application,主要都使用C/C++开发。传统在Linux下开发程序,是在文字模式下,利用vi等文字编辑器撰写C/C++程序存盘后,在Command line下使用gcc编译,若要debug,则使用gdb。这种开发方式生产力并不高,若只是开发学习用的小程序则影响不大,但若要开发大型项目时,程序档案个数众多,需要用project或solution的方式管理;且debug时breakpoint的加入,单步执行,观察变量变化等,都需要更可视化的方式才能够增加生产力 阅读全文
posted @ 2012-10-22 16:42 eprsoft 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 引言HBase提供了Java Api的访问接口,掌握这个就跟Java应用使用RDBMS时需要JDBC一样重要,本文将继续前两篇文章中blog表的示例,介绍常用的Api。练习前的准备工作创建一个Maven工程,加入以下依赖:<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase</artifactId><version>0.90.2</version></dependency>如果你的Maven库里还没有hbase,还需要配置下 阅读全文
posted @ 2012-10-22 16:29 eprsoft 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 引言HBase提供了丰富的访问接口。• HBase Shell• Java clietn API• Jython、Groovy DSL、Scala• REST• Thrift(Ruby、Python、Perl、C++…)• MapReduce• Hive/Pig其中HBase Shell是常用的便捷方式,我们将结合本系列上一篇文章的理论分析来实践一把,依然采用blog表示例。首先你需要一个HBase的环境,如果需要自己搭建可以参考http://hbase.apache.org/book/quickstart.html 和http://hbase.apache.org/book/notsoqui 阅读全文
posted @ 2012-10-22 16:26 eprsoft 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 安装pcre库tar zxvf pcre-8.31.tar.gzcd pcre-8.31/./configuremakemake install安装GraphicsMagick./configure --prefix=/usr/local/gmagick --without-prel --enable-shared --disable-openmp makemake install安装nginxtar zxvf nginx-0.8.46.tar.gzcd nginx-0.8.46/./configure --prefix=/usr/local/nginx --with-ld-opt=" 阅读全文
posted @ 2012-10-22 13:09 eprsoft 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 简介MySQL集群是一种在无共享架构(SNA,Share Nothing Architecture)系统里应用内存数据库集群的技术。这种无共享的架构可以使得系统使用低廉的硬件获取高的可扩展性。MySQL集群是一种分布式设计,目标是要达到没有任何单点故障点。因此,任何组成部分都应该拥有自己的内存和磁盘。任何共享存储方案如网络共享,网络文件系统和SAN设备是不推荐或不支持的。通过这种冗余设计,MySQL声称数据的可用度可以达到99.999%。实际上,MySQL集群是把一个叫做NDB的内存集群存储引擎集成与标准的MySQL服务器集成。它包含一组计算机,每个都跑一个或者多个进程,这可能包括一个MySQ 阅读全文
posted @ 2012-10-22 10:58 eprsoft 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 系统环境CentOS-6.3php-5.3.17.tar.gz官方下载:http://www.php.net/get/php-5.3.17.tar.gz/from/this/mirror一、安装编译工具yum install gcc gcc++yum install gcc gcc-c++ gcc-g77二、编译安装PHP5.2.9所需的支持库yum install freetype-develyum install libxml2-develyum install openssl-develyum install libcurl-develjpegsrc.v7.tar.gztar zxvf 阅读全文
posted @ 2012-10-22 10:18 eprsoft 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 目前FastDFS支持类Unix系统,在Linux和FreeBSD下测试过,本文使用的是Ubuntu10.4,建议安装之前先简单了解一下FastDFS的原理,这对后继的配置部分会有很好的理解。一、准备工作-安装libeventFastDFS内部绑定了libevent作为http服务器,在V2.X版本必须安装libevent,本文安装的是V2.2版本,因此必须安装libevent。(官方也推荐使用http方式下载文件)如果已经安装了libevent,请确认安装路径是/usr,因为FastDFS在编译源程序时,需要到此目录下查找一些依赖文件,否则编译FastDFS会出错。如果不是,建议首先卸载li 阅读全文
posted @ 2012-10-22 09:38 eprsoft 阅读(271) 评论(0) 推荐(0) 编辑
摘要: svncheckouthttp://code.taobao.org/svn/tb-common-utils/trunk/tb-common-utilssvncheckouthttp://code.taobao.org/svn/tfs/tags/release-2.2.8yum install -y gcc-c++yum install -y libuuid-devel zlib-devel mysql-devel //一些基本库yum install -y e4fsprogs e4fsprogs-devel //ext4yum install -y readline-devel... 阅读全文
posted @ 2012-10-22 09:30 eprsoft 阅读(479) 评论(0) 推荐(0) 编辑
摘要: TFS原理架构与应用案例http://www.slideboom.com/presentations/601194/TFS%E5%8E%9F%E7%90%86%E6%9E%B6%E6%9E%84%E4%B8%8E%E5%BA%94%E7%94%A8%E6%A1%88%E4%BE%8Bhttp://www.infoq.com/cn/articles/tao-tfsTFS与其他分布式存储系统的对比分析http://blog.csdn.net/hyyangyang/article/details/7228837TFS用户指引http://wenku.baidu.com/view/2737180302 阅读全文
posted @ 2012-10-22 09:26 eprsoft 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 安装PHP时报错了:error:Cannotfindldap.h#yum install openldap#yum install openldap-clients #yum install openldap-devel #yum install openldap-servers 阅读全文
posted @ 2012-10-22 09:18 eprsoft 阅读(789) 评论(0) 推荐(0) 编辑
摘要: 本文主要根据http://www.rocknoon.com/ubuntu-lnmp-mysql/及张宴的《实战nginx:取代Apache的高性能web服务器》 and 下面在安装时configure后面的参数请手动将–改成- -首先下载所需要的软件wget http://nginx.org/download/nginx-1.0.10.tar.gz(ps:原来的版本是0.8.46,好几年前的一个版本,我在后面编译安装的时候出现了src/core/ngx_resolver.c: In function ‘ngx_resolver_process_ptr’:src/core/ngx_resolve 阅读全文
posted @ 2012-10-22 09:16 eprsoft 阅读(454) 评论(0) 推荐(0) 编辑
摘要: VMware虚拟机上配置nginx后,本机无法访问问题今天忙了一天,刚把nginx装在CentOS上,出现了好多问题,快大功告成了,用本机访问虚拟机的时候却出现了不能访问的问题,查了资料以后,原来是防火墙的问题。具体情况如下:防火墙可以ping通虚拟机,虚拟机也可以ping通防火墙。接着检查了服务器端的80端口是否可以访问的到:telnet192.168.131.13080,结果访问不到,原来果真防火墙的问题。做如下处理:#/sbin/iptables-IINPUT-ptcp--dport80-jACCEPT然后保存:#/etc/rc.d/init.d/iptablessave重启防火墙:#/ 阅读全文
posted @ 2012-10-22 09:12 eprsoft 阅读(242) 评论(0) 推荐(0) 编辑
摘要: exportLUAJIT_LIB=/usr/local/luajit/libexportLUAJIT_INC=/usr/local/luajit/include/luajit-2.0./configure--prefix=/application/nginx--with-ld-opt="-Wl,-rpath,$LUAJIT_LIB"--add-module=/usr/local/ngx_devel_kit--add-module/ngx_echo_module--with-debugmake-j2makeinstallhttp://ntcn.net/blog/?p=4766 阅读全文
posted @ 2012-10-22 09:10 eprsoft 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 判断参数的个数使用ZEND_NUM_ARGS()宏定义可以得到参数的个数。(宏定义一般都是大写字母)例如:if(ZEND_NUM_ARGS()!=2)WRONG_PARAM_COUNT;这里,WRONG_PARAM_COUNT同样是一个宏定义(zend_API.h):ZEND_APIvoidwrong_param_count(void);#defineWRONG_PARAM_COUNT{wrong_param_count();return;}如果参数个数错误,WRONG_PARAM_COUNT会打印出相应的错误信息。得到参数这个参数解析函数的声明大致如下:intzend_parse_param 阅读全文
posted @ 2012-10-22 09:09 eprsoft 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统。众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的成熟,越来越多的系统开始转型为LNMP(Linux+Nginx+MySQL+PHP with fpm),这是因为Nginx采用基于事件机制的I/O多路复用思想设计,在高并发情况下其性能远远优于默认采用prefork模式的Apache,另外,相对于Apache,Nginx更轻量,同时拥有大量优秀的扩展模块,使得在Nginx上可以实现一些美妙的功能。传统上,PHP中使用memcache的方法是使用php-memcache或php-m 阅读全文
posted @ 2012-10-22 09:05 eprsoft 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。分布式缓存问题假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数据库的方式不太给力了,于是我们想引入Memcached作为缓存机制。现在我们一共有三台机器可以作为Memcached服务器,如下图所示。很显然,最简单的策略是将每一次Memcached请求随机发送到一台Mem 阅读全文
posted @ 2012-10-22 08:58 eprsoft 阅读(127) 评论(0) 推荐(0) 编辑