- 博客(22)
- 资源 (2)
- 收藏
- 关注
翻译 Hadoop HDFS (4) Hadoop Archives
用HDFS存储小文件是不经济的,因为每个文件都存在一个block里,每个block的metadata又在namenode的内存里存着,所以,大量的小文件,会吃掉大量的namenode的内存。(注意:一个小文件占用一个block,但是这个block的大小不是设定的值,比如设定每个block是128M,但是一个1M的文件存在一个block里,实际占用的datanode的硬盘大小是1M,而不是128M。
2014-10-09 14:47:32
2337
翻译 Hadoop HDFS (3) JAVA访问HDFS之二 文件分布式读写策略
先把上节未完成的部分补全,再剖析一下HDFS读写文件的内部原理列举文件FileSystem(org.apache.hadoop.fs.FileSystem)的listStatus()方法可以列出一个目录下的内容。public FileStatus[] listStatus(Path f) throws FileNotFoundException, IOException;pu
2014-09-30 16:00:38
3870
翻译 Hadoop HDFS (3) JAVA访问HDFS
现在我们来深入了解一下Hadoop的FileSystem类。这个类是用来跟Hadoop的文件系统进行交互的。虽然我们这里主要是针对HDFS,但是我们还是应该让我们的代码只使用抽象类FileSystem,这样我们的代码就可以跟任何一个Hadoop的文件系统交互了。在写测试代码时,我们可以用本地文件系统测试,部署时使用HDFS,只需配置一下,不需要修改代码了。在Hadoop 1.x以后的版本中引入
2014-09-28 23:34:19
5132
1
翻译 Hadoop HDFS (2) HDFS命令行接口
有多种接口可以访问HDFS,其中命令行接口是最简单,也是程序员最熟悉的方式。在本例中,将采用pseusodistributed mode的HDFS,用一台机器来模拟分布式的文件系统。pseudodistributed mode的配置参见:http://blog.csdn.net/norriszhang/article/details/38659321这里再重新说一下两处配置的含义:
2014-09-11 17:31:26
2231
原创 Hadoop HDFS Namenode启动不成功
今天在Pseudodistributed mode下启动HDFS见配置http://blog.csdn.net/norriszhang/article/details/38659321但是在试验向HDFS里拷贝文件时,发现出错,说没有找到namenode,用jps查看,有datanode和secondary namenode都启动起来了,但NameNode没有启动起来,用netst
2014-09-11 11:25:23
7689
翻译 Hadoop HDFS (2) HDFS概念
1. Blocks(块)硬盘上有块,代表能够读取和写入的最小的data单位,通常是512字节。基于单硬盘的文件系统也有块的概念,通常是把硬盘上的一组块集合在一起成为一个块,一般有几KB大小。这些对于文件系统的使用者都是透明的,使用者只知道往硬盘上写了一定大小的文件,或从硬盘上读了一定大小的文件。当然有些维护命令,比如df和fsck,就是在块级上的操作。HDFS也有块(blo
2014-09-10 10:23:58
1878
翻译 Hadoop HDFS (1)
HDFS是Hadoop Distributed Filesystem,Hadoop分布式文件系统。当数据大到一台机器无法存储时,就要把它分散到多台机器上去,通过网络管理多台计算机上的存储空间的文件系统,就称为分布式文件系统。网络程序的复杂性使得分布式文件系统比普通的磁盘文件系统复杂得多,例如其中最大的挑战之一就是要容错,要在其中一个或几个节点死掉后,仍能保证数据完整。HDF
2014-09-05 17:34:22
1055
原创 配置Hadoop
Hadoop的各个组件是通过XML配置的。2.0以后,配置文件的位置发生了小变化,我安装的Hadoop 2.4.1,配置文件的位置在$HADOOP_INSTALL/etc/hadoop/在初期运行MapReduce DEMO时,我们只需关注三个基本配置就好:core-site.xmlhdfs-site.xmlyarn-site.xml(2.0后的版本,MapReduce运行在y
2014-08-18 13:54:19
2561
原创 在Linux上安装Hadoop
先决条件:Hadoop是用JAVA写的,所以首先要安装Java。在Ubuntu上安装JDK见:http://blog.csdn.net/microfhu/article/details/7667393我下载的Hadoop版本是2.4.1,要求至少安装JDK 6以上。Linux是唯一支持的生产环境,Unix,Windows或者Mac OS可以作为开发环境。在Windows上安装H
2014-08-08 01:13:41
1868
原创 Eclipse debug ‘Source not found’
用Eclispe进行Debug时一直被一个问题所困扰:Source not found.问题产生的原因是调试进入了一个没有源码的jar包里。 简短说明:Edit Source Lookup Path… 可以解决Debug过程中找不到源码的问题,PS,需要重启服务。Configure Build Path 中可以给jarattach上源码,这个管的是阅读代码时可以看到jar包里的
2014-07-17 20:17:55
34885
10
原创 在Cookie被禁用的情况下使用url rewrite机制保持Session
最近在做QQ空间上的应用时,遇到session丢失的问题,明明把登录用户的信息存在session里了,但是再访问时,就找不到了,session是一个新的session,也就是说,每次访问都被认为是一个新的session。寻找原因:由于我们的程序是跑在QQ空间里,是QQ空间的应用页面提供一个iframe给我们展示我们的程序页面,iframe里和iframe外分别是不同的域名,问题出在这里
2014-03-03 16:05:49
2924
原创 static classes in C#
As I am a new C# programmer, but I programmed in Java for many years, I often use singleton pattern when I want to keep only one instance in a program. Today when I continue reading C# grammar, I sudd
2013-01-10 16:48:35
895
原创 WPF multi-thread - Dispatcher WPF多线程 - Dispatcher
If you have searched 'WPF Dispatcher', you must have known why we should use Dispatcher(System.Windows.Threading.Dispathcer) rather than Thread when we want to change UI properties asynchronously. It'
2012-12-26 11:25:17
2075
原创 C#: how do I list all System defined Exceptions and pick up what I need
Ah, in actual fact, there's a better way I just found:VS -> Debug -> Exceptions...Or keys: Ctrl + D, EYou can see all the Exceptions, especially in 'Common Language Runtime Exceptions -> System'
2012-12-24 10:00:22
1392
原创 C# transfer value from string to int
string strValue = "123";int intValue = int.Parse(strValue); or string strValue = "123";int intValue;int outValue = 0;if (int.TryParse(strValue, out outValue)){ intValue = outVal
2012-12-24 09:52:06
671
原创 Apache配置
要实现的功能:1. 在apache里实现http://www.example.com:90来访问D:\my_web_host\目录下的页面的功能2. 页面包含.shtml的服务端include功能(SSI)打开conf/httpd.conf第一步,找到Listen 80将其改成要监听的端口,或者添加新的要监听的端口:Listen 90或Listen 80
2012-03-06 14:26:37
853
原创 把JAVA中的字符串赋给javascript变量时的陷阱
我们经常会在JSP中希望把JAVA中的一个字符串赋值给一个javascript变量:我们通常这样做:var jsStr = "";这样的做法通常没有问题,但考虑到如下情况时,就可能带来问题:1. 当字符串内容是"数据库里取出来的字符"串" 这时我们的js就变成了 var jsStr = "数据库里取出来的字符"串"; // js语法错误 解决办法
2012-02-15 12:47:38
1487
原创 use meta header to redirect a page to another one
tells the browser to load http://www.htmlhelp.com/ 10 seconds after the current document has finished loading. Not all browsers support this, so authors should provide an alternate means of moving to
2011-06-29 19:35:00
580
原创 Cookie's expire age
I have understood how the max age affects a cookie. But I always forget the defination. so Its better to record it here. Hope it is helpful to others. public void setMaxAge(int expiry)Sets the ma
2011-06-28 13:55:00
741
原创 游泳
一、游泳:体育运动项目之一,人在水中用各种不同的姿势划水前进。二、游泳分类大致分为:1、实用游泳,2、竞技游泳,3、花样游泳1. 实用游泳:军事上、生产上、生活服务上使用价值较大的游泳方式称为实用游泳。如爬泳(自由泳)、蛙泳、侧泳、潜泳、踩水(立泳)、水上救护、武装泅渡、反蛙泳(仰泳)。2. 竞技游泳:是指有特定技术要求,按游泳竞赛规则规定进行竞赛的游泳
2009-08-21 15:17:00
1239
原创 JNI demo
JAVA用JNI(java native interface)调用系统命令——JAVA控制台程序实现清屏功能 JAVA是高级程序语言,在语言内部没有内置清屏这样的功能,我说的清屏是指在windows的dos窗口下执行cls那种效果。有人说甚至写一个Swing都比写控制台程序容易。 在网上搜索了很多办法,最后决定用JNI(JAVA NATIVE INTERFACE)来实现,说白了就是
2009-07-23 11:29:00
1854
1
oracle9i精简客户端
2010-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人