- 浏览: 453699 次
- 性别:
- 来自: 北京
最新评论
-
wjs876046992:
后来我下载了Eclipse Indigo版本,同样操作却成功了 ...
myeclipse2014中安装spket-1.6.23 -
wjs876046992:
我的是myEclipse2014,将那两个文件夹拷贝到drop ...
myeclipse2014中安装spket-1.6.23 -
lucky8060:
应该不是每次请求都产生一个action吧?应该是每个sessi ...
Struts2 action的单例与多例
文章列表
java类加载的过程
- 博客分类:
- java基础
一个java文件从被加载到被卸载这个生命过程,总共要经历5个阶段:
加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载
其中加载(除了自定义加载)+链接的过程是完全由jvm负责的,什么时候要对类 ...
java获得class对象的3中方法
- 博客分类:
- java基础
Class类(在java.lang包中,Instances of the class Classrepresent classes and interfaces in a running Javaapplication):
在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一 ...
这个问题经常出现在编写框架代码 , 需要动态加载很多类和资源的时候 . 通常当你需要动态加载资源的时候 , 你至少有三个 ClassLoader
当执行java程序时,jvm会为该程序启动一条jvm进程,不管该进程多复杂启动了多少条线程,都处于该jvm进程中。
(1)同一个jvm进程的所有线程变量都使用该jvm进程的内存区。
(2)不同jvm进程并不能共享数据
下面是一个例子:
1、有一个含有静态变量的类AA:
package com.ru.jvm.jvm_class;
public class AA {
public static int a = 6;
}
2、第一个测试类,对静态变量+1
package com.ru.jvm.jvm_class;
...
MapReduce编程接口体系结构
- 博客分类:
- hadoop
MapReduce编程模型对外提供的编程接口体系结构如图3-1所示,整个编程模型位于应用程序层和MapReduce执行器之间,可以分为两层。第一层是最基本的Java API,主要有5个可编程组件,分别是InputFormat、Mapper、Partitioner、Reducer和OutputFormat。Hadoop自带了很多直接可用的InputFormat、Partitioner和OutputFormat,大部分情况下,用户只需编写Mapper和Reducer即可。第二层是工具层,位于基本Java API之上,主要是为了方便用户编写复杂的MapReduce程序和利用其他编程语言增加MapR ...
小文件太多的问题:
hdfs上每个文件都要在namenode上建立索引,索引大小大约为150byte。所以大量小文件会产生很多索引,占用大量namenode内存,而且索引太多导致检索速度变慢。
小文件解决方案:
1、hadoop自身提供一些文件压缩方案
2、从系统层面改变现有hdfs存在的问题,其实还是小文件的合并,然后建立比较快速的索引
下面分别对这两种解决方案做一些解析
1、hadoop自身提供一些文件压缩方案
hadoop对每个压缩格式的支持,详细见下表:
压缩格式
工具
算法
文件扩展名
多文件
可分割性
DEFLATE ...
1、定义类实现PathFilter接口
package com.ru.hadoop.wordcount;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;
/**
* 文件路径过滤
* @author nange
*
*/
public class MyFilePathFileter implements PathFilter{
//需要读取文件名必须包含fil ...
转载自董的博客 http://dongxicheng.org/mapreduce-nextgen/hadoop-distributedcache-details/
感觉分布式缓存的作用就是缓解带宽压力
DistributedCache是Hadoop提供的文件缓存工具,它能够自动将指定的文件分发到各个节点上,缓存到本地,供 ...
hadoop对每个压缩格式的支持,详细见下表:
压缩格式
工具
算法
文件扩展名
多文件
可分割性
DEFLATE
无
DEFLATE
.deflate
不
不
gzip
gzip
hadoop1.2.1中使用MultipleOutputs将结果输出到多个文件或文件夹
使用步骤主要有三步:
1、在reduce或map类中创建MultipleOutputs对象,将结果输出
class reduceStatistics extends Reducer<Text, IntWritable, Text, IntWritable>{
//将结果输出到多个文件或多个文件夹
private MultipleOutputs<Text,IntWritable> mos;
//创建对象
protected void setup( ...
转自:http://www.ibm.com/developerworks/cn/opensource/os-hadoop-scheduling/
自从可插入式调度器实现以来,已开发了多种调度器算法。接下来的章节将会介绍各种算法以及各自适用的情况。
FIFO 调度器
集成在 JobTracker 中的原有调度算法被称为 FIFO。在 FIFO 调度中,JobTracker 从工作队列中拉取作业,最老的作业最先。这种调度方法不会考虑作业的优先级或大小,但很容易实现,而且效率很高。
公平调度
公平共享调度器的核心概念是,随着时间推移平均分配工作,这样每个作业都能平均地共享到资源。结果是只需 ...
HDFS block块的副本存放策略
- 博客分类:
- hadoop
转自:http://www.cnblogs.com/sparkwoo/archive/2013/05/14/3077440.html
并作一些修改,以更容易理解副本存放策略
系统默认为每一个数据块存放3个副本,按照布署在NameNode上的默认机架感知策略存放数据块副本。其中:
第一个block副本放在上传文件的datanode,如果是集群外提交则随机挑选一台磁盘不太满,cpu不太忙的datanode。
注:这里所说的本地节点是相对于客户端来说的,也就是说某一个用户正在用一个客户端来向HDFS中写数据,如果该客户端上有数据节点,那么就应该最优先考虑把正在写入的数据 ...
两个tomcat同时运行,修改端口
- 博客分类:
- 开发工具
1、第一个tomcat。使用tomcat默认的8080
(1)
<Server port="8005" shutdown="SHUTDOWN">
(2)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
其他的端口可以全部注释
...
在mapreduce和java中数据类型的对应关系