- 博客(41)
- 资源 (4)
- 收藏
- 关注
原创 Eclipse HBase Java 客户端编程
本文以HBase 0.90.2为例,介绍如何在Windows系统,Eclipse IDE集成环境下,使用Java语言,进行HBase客户端编程,包含建立表、删除表、插入记录、删除记录、各种方式下的查询操作等。1. 准备工作1、下载后安装jdk包(这里使用的是jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008);2、下载eclipse,解压
2013-03-26 17:07:54
439
原创 Eclipse配置PyDev插件
Eclipse配置PyDev插件安装python解释器安装PyDev:首先需要去Eclipse官网下载:http://www.eclipse.org/,Eclipse需要JDK支持,如果Eclipse无法正常运行,请到Java官网下载JDK安装:http://www.oracle.com/technetwork/java/javase/downloads。打开Ecl
2013-03-21 14:19:00
257
转载 HBase性能调优
zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonServer会被Zookeeper从RS集群清单中移除,HMaster收到移除通知后,会对这台server负责的regions重新balance,让其他存活的RegionServer接管.调优:这个tim
2013-02-16 14:29:42
208
转载 利用Arena Allocation避免HBase触发Full GC
Arena Allocation,是一种GC优化技术,它可以有效地减少因内存碎片导致的Full GC,从而提高系统的整体性能。本文介绍Arena Allocation的原理及其在Hbase中的应用-MSLAB。背景假设有1G内存,我顺序创建了1百万个对象,每个对象大小1K,Heap会被渐渐充满且每个对象以创建顺序相邻。此时,如果我释放50万个奇数对象,即 1 3 5 7后,剩余空间会多出5
2013-02-16 14:06:44
224
转载 在HBase中应用MemStore-Local Allocation Buffers解决Full GC问题:第二部分
注:上个月写了一遍博文,介绍一种高效的Java缓存实现,http://maoyidao.iteye.com/admin/blogs/1559420。其本质是模仿Memcached的Slab,通过分配连续定长的byte[]减少大规模使用Java Heap作为缓存时不可避免的GC问题。虽然当时构思和实现这一思路时并没有参照其他开源产品,但这一思路在很多著名的开源产品上也有类似的实现。随着内存使用成本越
2013-01-10 13:34:33
222
转载 在HBase中应用MemStore-Local Allocation Buffers解决Full GC问题:第一部分
译者注:上个月写了一遍博文,介绍一种高效的Java缓存实现http://maoyidao.iteye.com/blog/1559420。其本质是模仿Memcached的Slab,通过分配连续定长的byte[]减少大规模使用Java Heap作为缓存时不可避免的GC问题。虽然当时构思和实现这一思路时并没有参照其他开源产品,但这一思路在很多著名的开源产品上也有类似的实现。随着内存使用成本越来越低,
2013-01-10 13:32:59
279
转载 一些常用linux网络工具的经验共享--Tcpdump,Nmap,Netstat,nc .
Tcpdump-转储网络上的数据流Tcpdump能够截获当前所有通过本机网卡的数据包。它拥有灵活的过滤机制,可以确保得到想要的数据。由于Tcpdump 只能收集通过本机的数据,因此它的应用受到了一些限制,大多应用在网关或服务器自我检测上。例如,在作为网关的主机上,想知道本地网络中IP 地址为192.168.0.5 的主机现在与外界通信的情况,就可以使用如下命令:tcpdump
2013-01-09 11:39:11
478
转载 hadoop1.0各配置项说明
1 获取默认配置配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生效,上网找的配置可能因为各个hadoop版本不同,导致无法生效。浏览更多的配置,有两个方法:1.选择相应版本的hadoop,下载解压后,搜索*.xml,找到cor
2013-01-08 09:06:12
423
原创 Centos5.5服务优化----关闭CENTOS不必要的默认服务
服務名稱建議說明acpid停用Advanced Configuration and Power Interface 電源進階設定,常用在 Laptop 上apmd停用Adventage Power Management daemon 偵測系統的電池電量,常用在 Laptop 上atd停用/etc/at.allow,/etc/at.
2013-01-04 13:55:13
303
翻译 hadoop生态系统的端口
hadoop生态系统的端口 hadoop系统部署时用到不少端口。有的是Web UI所使用的,有的是内部通信所使用的,有的是监控所使用的。实际系统中可能用于防火墙的端口设计。一些内部通信用的端口可能也需要外部能访问。如两个集群的数据对拷。1.系统8080,80 用于tomcat和apache的端口。22 ssh的端口 2.Web UI用于访问和监控Hadoop系统运行
2012-11-14 14:15:40
1076
转载 Linux系统资源监控命令vmstat\mpstat\sar\iostat\top
Linux系统资源的命令:衡量CPU性能的指标:1,用户使用CPU的情况;CPU运行常规用户进程CPU运行niced processCPU运行实时进程2,系统使用CPU情况;用于I/O管理:中断和驱动用于内存管理:页面交换用户进程管理:进程开始和上下文切换3,WIO:用于进程等待磁盘I/O而使CPU处于空闲状态的比率。4,CPU的空闲率,除了上面的WIO
2012-11-13 14:44:22
613
原创 关于ssh远程执行命令,其环境变量问题--------交互式shell和非交互式shell、登录shell和非登录shell
最近忙于hadoop生态系统的自动化流程控制,使用shell脚本完成了自动化部署修复的脚本,还有R等乱七八糟的东西。期间遇到了些问题,最经典的莫过于ssh远程执行命令的时候,出现环境变量找不到的问题,找到了很多资料最后整理如下:参考资料:centos man bash其中的INVOCATION A login shell is one whose first charact
2012-10-25 11:16:27
1994
原创 yum只下载不安装配置
由于最近R-hadoop项目需要,且公司IDC集群的安全限制不能使用yum,所以只能先下载好所需要的包,再进行安装。考虑其依赖关系,决定使用yum-downloadonly。记录如下:安装yum-downloadonly包。如果没有安装,可以从红帽网络(RHN) 下载【通过下边的命令可以安装】。如果系统已经注册到RHN,可以执行以下命令安装yum-downloadonly包:#
2012-10-18 09:23:13
380
翻译 luke:lucene 索引查看工具
luke 是 lucene 索引查看工具,基于 swing 开发的,是 lucene、solr、nutch 开发过程中不可或缺的工具。在测试搜索过程,进程出现搜不到东西或者搜到的东西不是想要的结果时,这时就需要用 luke 查看一下索引库的情况,来协助排查问题。它能访问Lucene建立好的索引同时也允许以如下的一些方式展示和修改内容:1、按文档(Document)号或者词项浏览2、查看
2012-09-25 08:58:53
647
转载 hadoop源码分析之MapReduce
声明:1. 本文假设读者已经掌握一些MapReduce的基本概念,曾经编写过MapReduce程序。2. 此源代码分析是基于hadoop svn的trunk之上(目前0.20.0-dev),由于hadoop正在换新的MapReduce api(org.apache.hadoop.mapreduce包), 以后很多类会弃用,很多接口会改变,这儿只能尽量保持同步。3. 关于hdfs源代码可
2012-09-19 10:04:33
442
转载 Hadoop-0.20.0源代码分析(19)
这里,对重要的FSImage类进行阅读分析。该类的继承层次关系如下所示: [java] view plaincopyprint?◦org.apache.hadoop.hdfs.server.common.StorageInfo ◦org.apache.hadoop.hdfs.server.common.Storage ◦org.
2012-09-19 09:46:06
961
转载 Hadoop-0.20.0源代码分析(18)
这里,对Hadoop实现的与升级管理相关的实现类进行分析。通过升级管理器,可以对文件系统的状态进行定时升级更新,保证最良好的工作状态。下面从不同的侧面对与分布式升级相关的内容分类分析。升级命令与升级命令相关的实现类的继承层次关系如下所示:[c-sharp] view plaincopyprint?◦org.apache.hadoop.hdfs.serve
2012-09-19 09:44:45
509
转载 Hadoop-0.20.0源代码分析(17)
继续为分析org.apache.hadoop.hdfs.server.namenode.FSNamesystem类做准备,这里分析与FSEditLog相关的几个类,当然,FSEditLog类才是核心的。FSEditLog.EditLogFileOutputStream内部静态类该类是定义在org.apache.hadoop.hdfs.server.namenode.FSEditLog类
2012-09-19 09:43:44
406
转载 Hadoop-0.20.0源代码分析(16)
这里对与org.apache.hadoop.hdfs.server.namenode.FSDirectory类相关的类进行阅读分析。INodeDirectoryWithQuota类该类org.apache.hadoop.hdfs.server.namenode.INodeDirectoryWithQuota的继承层次关系如下所示:[java] view plainc
2012-09-19 09:41:26
425
转载 Hadoop-0.20.0源代码分析(15)
我们已经分析了org.apache.hadoop.hdfs.server.namenode.Namenode类的实现,而且知道,一个Namenode提供的主要服务是基于其内部定义的org.apache.hadoop.hdfs.server.namenode.FSNamesystem属性来实现的。可见,org.apache.hadoop.hdfs.server.namenode.FSNamesyst
2012-09-19 09:39:23
482
转载 Hadoop-0.20.0源代码分析(14)
Hadoop集群中,不同进程之间通信需要使用合适的协议才能够进行交互,之前对Hadoop给出的协议接口做了分析。在协议接口中约定了通信双方的特定行为,那么,在实现这些通信协议的实现类中,就能看到指定进程是如何实现协议接口中约定的行为的。这里,阅读分析org.apache.hadoop.hdfs.server.namenode.Namenode实现类。首先,看一下Namenode类实现的接口,下
2012-09-19 09:38:08
319
转载 Hadoop-0.20.0源代码分析(13)
通过对org.apache.hadoop.ipc包中,Hadoop实现了基于IPC模型的RPC机制,可以不需要像Java中实现的RMI机制一样,在RPC调用的C/S两端分别创建Stub和Skeleton,而是通过一组协议来进行RPC调用就可以实现通信。这主要是由于Hadoop所采用的序列化机制简化了RPC调用的复杂性。Hadoop定义了自己的通信协议,这些协议都是建立在TCP/IP协议之上的,规范
2012-09-19 09:22:55
306
转载 Hadoop-0.20.0源代码分析(12)
2009-09-26 20:10 1559人阅读 评论(2)收藏 举报在org.apache.hadoop.ipc包中,Server类是一个抽象类,抽象了IPC模型中Server端的基本行为。下面对RPC类进行阅读分析。RPC类给出了一个简单的RPC机制,它的协议是基于一个Java接口,协议界定,所有的参数和返回类型必须是下面之一:1、一个基本类型:boolean、by
2012-09-19 09:21:54
382
转载 Hadoop-0.20.0源代码分析(11)
这里分析一下IPC模型中的Server端的实现。该Server类的实现有点复杂,而且涉及到网络中字节流缓冲区的操作问题,及其字节数据的反序列化。Server类该Server是服务端的抽象实现,定义了一个抽象的IPC服务。 该IPC服务器接收Client发送的参数值,并返回响应值。同时,作为IPC模型的服务端,它要维护Client端到Server端的一组连接。首先看Server类定义的几
2012-09-19 09:21:02
251
转载 Hadoop-0.20.0源代码分析(10)
DFSClient是分布式文件系统客户端,它能够连接到Hadoop文件系统执行指定任务,那么它要与Namenode与Datanode基于一定的协议来进行通信。这个通信过程中,涉及到不同进程之间的通信。在org.apache.hadoop.ipc包中,定义了进程间通信的Client端与Server端的抽象,也就是基于C/S模式进行通信。这里先对org.apache.hadoop.ipc包中有关类的源
2012-09-19 09:19:35
322
转载 Hadoop-0.20.0源代码分析(09)
通过前面,对Hadoop的org.apache.hadoop.fs包中内容进行分析,已经基本了解到,一个文件系统应该具备哪些基本要素和基本操作。最显著的一个特点就是,FileSystem文件系统是基于流式数据访问的,并且,可以基于命令行的方式来对文件系统的文件进行管理与操作。而且,基于FileSystem文件系统的抽象定义,我们可以了解到,继承自该抽象的一切具体实现的文件系统,都具有统一的文件访问
2012-09-19 09:12:31
306
转载 Hadoop-0.20.0源代码分析(08)
2009-09-23 20:48 1602人阅读 评论(1)收藏 举报这里,继续对FsShell类中一些命令进行阅读分析,主要是看与拷贝文件有关的几个命令。cp命令该命令实现对文件的拷贝操作,并且支持在不同的文件系统之间进行文件的拷贝。拷贝文件涉及的操作比较复杂,核心拷贝操作还是调用了org.apache.hadoop.fs.FileUtil类的copy方法实现的。
2012-09-19 09:11:04
364
转载 Hadoop-0.20.0源代码分析(07)
前面分析了与操作系统有关的Shell命令,它们用于与操作系统进行命令行方式的交互。在Hadoop中,自定义了FileSystem文件系统,这是基于Unix操作系统之上的文件系统,为了方便对FileSystem的管理,通过org.apache.hadoop.fs.FsShell类定义了对Hadoop FileSystem文件系统进行命令行方式管理的命令实现。先给出对Hadoop文件系统进行管理的
2012-09-19 09:10:05
239
转载 Hadoop-0.20.0源代码分析(06)
在阅读Hadoop源代码过程中,在org.apache.hadoop.security.UnixUserGroupInformation类中,需要获取到Unix系统的用户名和所属组的信息,就需要通过执行Shell命令得到相应的结果,这里,通过阅读Hadoop项目org.apache.hadoop.util包、org.apache.hadoop.fs.shell包、org.apache.hadoop
2012-09-19 09:08:33
249
转载 Hadoop-0.20.0源代码分析(05)
以文件流作为一个切面,阅读Hadoop源代码org.apache.hadoop.fs包中源代码。关于流,分为输入流和输出流两种,下面也这样简单划分为两类进行阅读分析。输入流类与输入流相关的接口和类的继承层次关系如下所示:[java] view plaincopyprint?◦java.io.InputStream(java.io.Closeable)
2012-09-19 09:06:52
211
转载 Hadoop-0.20.0源代码分析(04)
前面,分析了org.apache.hadoop.fs.Filesystem抽象类,我们已经了解到,要实现一个最基本的文件系统都需要包含哪些要点。下面具体到某个实现Filesystem的具体实现类,基于该抽象类Filesystem派生的类的继承关系:[java] view plaincopyprint?◦org.apache.hadoop.fs.FileSystem
2012-09-19 09:05:32
251
转载 Hadoop-0.20.0源代码分析(03)
在Hadoop框架源代码org.apache.hadoop.fs包中,都是关于Hadoop文件系统实现的相关类,主要包括文件系统模型的建立,及其在该文件系统定义、实现基本的文件操作。例如给出文件系统抽象,对文件系统上存储的文件执行基本操作进行抽象,等等。在该包中,类的继承关系如下所示:[java] view plaincopyprint?◦java.lang.O
2012-09-19 09:01:25
228
转载 Hadoop-0.20.0源代码分析(02)
UserGroupInformation类定义了一个与文件系统相关的用户和组信息抽象的内容,Hadoop框架实现了一个基于Unix系统的用户和组信息的实现类UnixUserGroupInformation,该类继承自UserGroupInformation抽象类。从UserGroupInformation抽象类与其子类UnixUserGroupInformation的属性字段可以看出,抽象类所
2012-09-19 08:59:27
191
转载 Hadoop-0.20.0源代码分析(01)
Hadoop 框架是两个模型实现的有机整合,亦即Hadoop分布式文件系统(HDFS)与MapReduce并行编程模型,也就是说,Hadoop框架要能够提供的基本功能就是,在存储系统HDFS上进行MapReduce并行计算,所以,如果想要了解Hadoop框架的工作原理和运行机制,主要从这两个方面着手。其实,Hadoop中MapReduce并行计算应该是在HDFS实现的,因此了解计算所基于HDF
2012-09-19 08:56:39
235
原创 MapReduce与MySQL交互
MapReduce技术推出后,曾遭到关系数据库研究者的挑剔和批评,认为MapReduce不具备有类似于关系数据库中的结构化数据存储和处理能力。为此,Google和MapReduce社区进行了很多努力。一方面,他们设计了类似于关系数据中结构化数据表的技术(Google的BigTable,Hadoop的HBase)提供一些粗粒度的结构化数据存储和处理能力;另一方面,为了增强与关系数据库的集成能力,Ha
2012-08-29 16:12:30
679
原创 MapReduce探索
1、数据去重 "数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。下面就进入这个实例的MapReduce程序设计。1.1 实例描述 对数据文件中的数据进行去重。数据文件中的每行都是一个数据。 样例输入如下所示: 1)file1: 2012-3-
2012-08-29 16:07:16
498
原创 HDFS探索
1、HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来
2012-08-29 16:03:46
674
原创 hadoop_hbase_hive 未总结的资料
1)hadoop eclipse plugin相关资料 (1)各版本编译hadoop eclipse plugin 地址:http://www.gemini5201314.net/hadoop/%E5%90%84%E7%89%88%E6%9C%AC%E7%BC%96%E8%AF%91hadoop-eclipse-plugin.html (2)hadoop-eclipse-plug
2012-08-29 15:55:03
387
转载 Hadoop_Eclipse开发环境设置
1、Hadoop开发环境简介1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0.tar.gz 1.2 Windows开发简介 Java版本:jdk-6u31-windows-i586.exe Win系统:Windows 7 旗舰版 Ec
2012-08-29 15:49:27
305
转载 WordCount运行详解
1、MapReduce理论简介 1.1 MapReduce编程模型 MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。 在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;
2012-08-29 15:36:06
194
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人