- 浏览: 89423 次
- 性别:
- 来自: 上海
-
文章列表
第一部分 CVS服务器的配置
1、 CVS简述:
CVS是Concurrent Versions System的缩写,它是目前比较流行与优秀的版本管理与控制工具,它深受大多数开发人员与系统管理的喜爱,同时也是用来管理其它日常文档(如word工作文档之类)的一个强有力的工具。这一部分将对CVS服务器的安装、配置与使用方法进行简单、扼要的介绍,以帮助大家尽快的使用CVS来进行一些版本的管理与控制工作。
2、 CVS服务器的安装
默认情况下,CVS在CentOS中已经安装,这一点可以通过在Linux命令行的情况下运行:
rpm –q | grep cvs
如果出现CV ...
RMI之所以使用的范围受限制主要有两方面原因,其一:必须要是java,平台的异构性受到限制;其二:穿越防火墙不方便。这里主要谈谈RMI如何通过固定分配端口来穿越防火墙。 RMI穿越防火墙不方便主要是因为除了RMI服务注册的端口(默认1099)外,与RMI的通讯还需要另外的端口来传送数据,而另外的端口是随机分配的,所以要想RMI的客户能通过防火墙来与RMI服务通讯,则需要能让随机分配的端口固定下来,具体做法如下:
1、增加一个文件SMRMISocket.java
import java.rmi.server.*;
import java.io.*;
impo ...
rpc、soap与rmi调用的区别
- 博客分类:
- rmi rpc
RPC与RMI区别,联系
(2011-02-27 00:20:22)
转载▼
标签:
it
mongoDB使用记录
- 博客分类:
- MongoDB
1.默认情况下,集群中primary支持读写,secondary是不支持的
需要rs.slaveOk();
测试语句:
cfg={ _id:"testrs", members:[ {_id:0,host:'xxx.xxx.xxx.xxx:19130',priority:2}, {_id:1,host:''xxx.xxx.xxx.xxx:19130',priority:1},
{_id:2,host:''xxx.xxx.xxx.xxx:19130',arbiterOnly:true}] };
rs.initiate(cfg)
db. ...
搭建高可用mongodb集群(一)——配置mongodb
Posted on 17 十一月, 2013 by lanceyan | 2条评论
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了。
NOSQL有这些优势:
大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制。
高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病。
高性能,Nosql通过简单的key-value方式获取数据,非常快速。还 ...
搭建高可用mongodb集群(二)—— 副本集
Posted on 30 十二月, 2013 by lanceyan | 11条评论
在上一篇文章《搭建高可用MongoDB集群(一)——配置MongoDB》 提到了几个问题还没有解决。
主节点挂了能否自动切换连接?目前需要手 ...
Linux vmstat命令实战详解(转)
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:
root@ubuntu:~# ...
free -m 查看内存
cat /proc/cpuinfo | grep processor 查看机器是几个核
fdisk -l 硬盘大小 必须root
mkfs.ext3 /dev/sda5
/**
* This represents the meta information about the task split.
* The main fields are
* - start offset in actual split
* - data length that will be processed in this split
* - hosts on which this split is local
*/
public static class SplitMetaInfo implemen ...
ObjectInspector
- 博客分类:
- hive
PrimitiveObjectInspectorFactory做了个工厂模式,避免hive过多的去new Object从而对GC造成负担。
public final class PrimitiveObjectInspectorFactory {
public static final JavaBooleanObjectInspector javaBooleanObjectInspector =
new JavaBooleanObjectInspector();
public static final JavaByteObjectInspector jav ...
Job对task 1对多
task对taskAttempt1对对,一个task可能同时有多个尝试运行(推测执行)。
public class JobInProgress {
JobProfile profile;
JobStatus status;
String jobFile = null;
Path localJobFile = null;
TaskInProgress maps[] = new TaskInProgress[0];
TaskInProgress reduces[] = new TaskInProgress[0];
...
ReduceCopier.fetchOutputs()中开了3种线程
1.cp mapoutput MapOutputCopier
2.merge in mem InMemFSMergeThread
3.merge in disk LocalFSMerger
fetchOutputs方法中先会对map的location进行检查,然后shuffle以防止热点问题,最后得到的结果在
scheduledCopies。
所有线程对List<MapOutputLocation> scheduledCopies 的操作都是 synchronized ...
ReduceCopier
- 博客分类:
- hadoop
getMapOutput是ReduceTask.MapOutputCopier.copyOutput下面的方法。(MapOutputCopier是Thread)
其中copyOutput只做了数据基本校验,真正的逻辑在getMapOutput方法中。
getMapOutput里,注释部分已经说得很清楚,后面部分做了判断,是shuffle到mem还是disk。
再分别调用shuffleInMemory、shuffleToDisk,这里shuffleInMemory只是保存了数据,应该还没有sort。
用到URLConnection的inputStream来传数据,cp是走的HTTP吗? ...
写得挺好记录一下
MapTask http://blog.csdn.net/thomescai/article/details/17917459
ReduceTask http://blog.csdn.net/thomescai/article/details/17759897
hadoop reduceTask
- 博客分类:
- hadoop
public void run(JobConf job, final TaskUmbilicalProtocol umbilical)
throws IOException, InterruptedException, ClassNotFoundException {
this.umbilical = umbilical;
job.setBoolean("mapred.skip.on", isSkipping());
if (isMapOrReduce()) {
copyPhase = getProgress() ...