Hadoop 集群启用 rack 策略
注:文中采用的 Hadoop 集群环境为 Hadoop 2.2.0。 最近由于工作需要,对 Hadoop 的机架(rack)策略做了调研。下面记录下调研结果。 背景 首先需要明确的是,机架是硬件,机房里的服务器都放在机架(rack)上。放在不同的 rack 上的机器,有什么区别呢? 每个 rack 上的机器连接的是相同的电源,不同的…
Read More注:文中采用的 Hadoop 集群环境为 Hadoop 2.2.0。 最近由于工作需要,对 Hadoop 的机架(rack)策略做了调研。下面记录下调研结果。 背景 首先需要明确的是,机架是硬件,机房里的服务器都放在机架(rack)上。放在不同的 rack 上的机器,有什么区别呢? 每个 rack 上的机器连接的是相同的电源,不同的…
Read MoreBackground Nowadays, I upgrade my Gentoo Linux to the lastest version using emerge. But unfortunately,…
Read MoreWhen using Hadoop under Linux, we need to type lots of commands to operate on…
Read More注:本文适用于 Python 3 环境。 之前一篇博客记录了用 Psycopg2 库操作 PostgreSQL 数据库踩过的坑。本文就介绍用 Python 的另一个库 py-postgresql 操作 PostgreSQL 数据库时踩过的坑。…
Read More注:本文适用于 Python 3 环境。 最近工作中需要用到 Python 来操作 PostgreSQL 数据库,最终选用的是 Psycopg2 库。关于具体如何用 Psycopg2 来操作 PostgreSQL,本文不再赘述。这里只记录自己踩过的坑。 连接数据库时的编码问题…
Read More最近工作中遇到的问题,简单记录下。 问题的情形是这样的: 从本地 SSH 到服务器 A,在 A 上用 MySQL 客户端连接服务器 B 的 MySQL 数据库。但是在执行 SQL…
Read More之前一篇博客提到了在 Hadoop 程序中如何获取 input split 所在的文件名。其实,写 Awk 程序时,也可能有同样的需求。那么,Awk 是如何处理的呢? Awk 提供了一个内置变量 FILENAME,表示被读取文件的绝对路径。 闲话少说,直接上示例代码: cat /dev/null…
Read More在写 Hadoop 程序时,有时侯需要从文件名中提取某些信息,比如说文件名中可能包含有时间戳。下面,就针对这种需求,谈谈在 Hadoop 程序中该怎么做。 在用 Java 写的 MapReduce 程序中 MapReduce 的 mapper 类的 map()…
Read More相信用 Java 写过稍微大型点儿的 MapReduce 程序的朋友都有体会,MapReduce 程序调试起来并不方便。粗略想了一下,原因大概有以下两点: MapReduce 的处理思路增加了数据流的环节。 按照 MapReduce 的思想,业务逻辑在实现时,被人为地拆分成了 map 和 reduce 两个不同的阶段,两个阶段需要通过…
Read More在写 MapReduce 程序时,mapper/reducer 与进程在概念上的对应关系是这样的: 一个 mapper/reducer,对应一个 map/reduce task,对应一个 JVM,对应一个进程。也就是说,在一个 JVM 进程里只能运行一个 mapper/reducer。 其中,mapper 类总是必不可少的。实际上,MapReduce API…
Read More