摘要: Hadoop集群管理员可能需要从集群中移除节点。过程其实很简单:将待移除的节点的ip地址添加到exclude文件中,exclude文件有由hdfs-site.xml中的dfs.hosts.exclude指定的文件内容指定。重启MapReduce集群,这是为了终止在待移除节点上运行的tasktracker。执行命令bin/hadoop dfsadmin -refreshNodes。 这个过程Hadoop会将待移除节点上的数据移动到其他的节点上。此时待移除节点处在Decommission in Progress。当所有的节点变为 Decommissioned状态的时候,即可关闭待移除的节点机器从c 阅读全文
posted @ 2012-07-25 19:56 hanyuanbo 阅读(318) 评论(0) 推荐(0) 编辑
摘要: Hadoop集群管理员需要经常向集群中添加节点,过程其实很简单:按照之前datanode上的过程在新的机器上安装JDK、无密码SSH登录、解压相应版本的Hadoop按照之前datanode上的过程在新的机器上配置hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml四个配置文件,将JAVA_HOME、hadoop.tmp.dir和fs.default.name、dfs.replication、mapred.job.tracker进行相应的配置配置网络地址加入到原来的集群中去修改Namenode上的dfs.hosts(在hdfs-sit 阅读全文
posted @ 2012-07-25 17:39 hanyuanbo 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 理解这两个概念,对于理解Hadoop是如何管理备份,Secondary Namenode、Checkpoint Namenode和Backup Node如何工作的很重要。fsimage:文件是文件系统元数据的一个永久性检查点,包含文件系统中的所有目录和文件idnode的序列化信息。edits:文件系统的写操作首先把它记录在edit中将文件系统个元数据操作分开操作,是为了提升内存的处理效率。如果不分开处理,即所有的写操作均记录在一个文件中,比如,fsimage中,那么每个操作都会对这个文件进行修改,因为这个文件可能会很大,所以每次进行写操作的时候就会很慢,随着fsimage越来越大,速度便会越来 阅读全文
posted @ 2012-07-25 17:24 hanyuanbo 阅读(3421) 评论(0) 推荐(0) 编辑
摘要: 现在用Vim也能进行快速的编辑和定位,不过过段时间还是会忘记。这里把自己的笔记mark一下,分享一下。(持续更新)0. 共有的操作在命令行 前 加上一个数字N,代表将这个命令执行N次1. 保存当编辑一个文件但在保存的时候被告知没有权限,这时又不想把编辑的内容抛弃掉,则可以 w newfile 将内容保存到一个当前用户拥有权限的文件中去。注意是文件,不是目录。wq和ZZ 表示保存并退出2. 编辑模式移动光标h、j、k、l 分别是 左、下、上、右 移动光标w 和 b 分别代表向 前、后 移动一个单词0和$ 分别是移动到 行首和行尾,gg 和 G 分别代表移到 文件的最前、后的位置。注:这可以跟很多 阅读全文
posted @ 2012-07-20 20:38 hanyuanbo 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 归根结底还得阅读人家自己的文档,这才是最权威的东西。刚开始看过,纯英文的,对于初学者来说大都云里雾里,不知所云。通过一段时间的学习,了解了Hadoop部署、配置和使用的一些细节,回过头来看官方文档,还是有些收获的。Hadoop是Apache下的一个开源项目,核心模块是HDFS和Map/Reduce,分别代表分布式存储和计算的模块。我最近在学习Hadoop 1.0.3版本,所以对所提供的英文官方文档进行了详细的阅读,做下笔记,mark一下。(持续更新中)图1 是Hadoop 1.0.3主页上的文档目录结构,之后将详细介绍里面重要的部分和文档。图11. Getting StartedOvervie 阅读全文
posted @ 2012-07-20 00:38 hanyuanbo 阅读(1295) 评论(0) 推荐(1) 编辑
摘要: Hadoop开发需要最基本的Hadoop环境,在之后我会将过程中遇到的一系列问题分享一下,借鉴之。(持续更新中)我这里搭的环境是 namenode 1台(192.168.0.2),datanode 3台(192.168.0.3,192.168.0.4,192.168.0.5)。需要注意的问题:0. 由于Linux的安全性比Windows管理的要严格的多,所以在配置Hadoop的时候所做的所有工作都在hadoop用户下进行,这个非常重要,会减少以后遇到的问题,很多问题都是没有Linux用户权限造成的,如果没有的话,要在root用户下使用 chown -R hadoop:hadoop dir 将d 阅读全文
posted @ 2012-07-18 11:55 hanyuanbo 阅读(624) 评论(0) 推荐(1) 编辑
摘要: (如果有想一起分享交流Hadoop开发经验的IT人,可以加群:242118276,附加认证信息,非诚勿扰,多谢!)假定已经有了一个hadoop cluster环境,并且已经有了两个slave节点slave1和slave2,这里需要动态添加一个新的节点slave3.0. 拷贝Hadoop软件代码并创建无密码登录SSH直接从master拷贝代码即可1.添加slave3修改master机器上的${HADOOP_HOME}/conf/slaves文件,在其中添加一个新的slave节点,比如slave1slave2slave3(新增加的)2. 启动命令登录到新添加的slave3节点上,进入${HADOO 阅读全文
posted @ 2012-07-17 23:51 hanyuanbo 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 如果有想一起分享交流Hadoop开发经验的IT人,可以加群:242118276,非诚勿扰,多谢!终于搞定了这个东西,为以后的工作搭环境、打基础。主要参考http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.html,自己实践过,hadoop-1.0.3是完全可以的。 阅读全文
posted @ 2012-07-17 23:28 hanyuanbo 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 将Jerasure 1.2中的Example编解码文件编写成动态链接库来让Java进行调用以便进行以后的工作(主要是Java调用Jerasure库),下面是Linux下实现效果截图。编码参数如下表:inputfilenametest.rmvb(大概600M)k8m4w8encoding methodcauchy_goodpacket size2048buffer size409600Jerasure工程目录结构编解码结果源代码下载地址如下:http://115.com/file/bevh58o8 阅读全文
posted @ 2012-07-13 11:52 hanyuanbo 阅读(708) 评论(2) 推荐(1) 编辑
摘要: 主要参考资料为《JAVA核心技术 II:高级特性》这本书第十二章,不过网上也有些关于介绍如何做相关工作的,由于项目需要使用Java来调用c代码,所以需要生成so库这样来使用,过程中遇到了一些问题,特此分享下。做so文件主要分为一下几步:编写.java文件,其中有声明native方法javac生成.class文件javah生成.h文件编写.c文件gcc打成so文件将so库文件放到-Djava.library.path目录下使用so库文件下面就如何写一个so动态库并正确使用的HelloNative的过程,其中可能遇到的问题,我也会注明。Linux下用Eclipse新建一个工程,暂命名为HelloN 阅读全文
posted @ 2012-07-10 15:40 hanyuanbo 阅读(2277) 评论(0) 推荐(0) 编辑