《Hadoop Operations》读书笔记 – 4 – 第五章 安装与配置

安装 Hadoop

有无数种办法可以安装 Hadoop,这里给出的只是最佳实践的建议。

对于 tarball 安装来说,拥有很大的灵活性,但同样也带来了很多不确定性。作为管理员需要为其额外的创建用户,以及准备各种目录,配置各种目录的权限。如果不确定自己应该使用哪种安装方式,应该先从软件源或者 RPM/Deb 软件包安装开始。

Hadoop 的运行不需要使用 root 权限。但是安装的时候,需要创建用户、调整个目录的权限、配置启动脚本等,因此安装时候一般会使用 root 权限,特别是如果需要 secure mode 时。但是一定要明白,使用 root 安装,绝不意味着就使用 root 运行。

Apache Hadoop

Apache Hadoop 是 ASF 官方发布的 Hadoop 发行版本。可以直接从 http://hadoop.apache.org 下载。有 tarball 文件,以及 RPM 和 Deb 文件可供安装选择。

如果管理员有极特殊的需求的话,可能会考虑使用 tarball 文件安装。除此以外,一般都会选择使用 RPM/Deb安装方式。因为通过安装包安装的会遵循Linux标准文件结构。

tarball 的安装

这里使用的是当前 1.x 稳定版本 1.2.1,书中使用的是 1.0.0。

首先是下载 hadoop:

解压缩

可以看到一些常见的目录:

  • binsbinliblibexecshare
  • conf 这个目录包含了配置文件;
  • Hadoop的主要代码都在 hadoop-core-1.2.1.jar 以及 hadoop-tools-1.2.1.jar
  • src 这个目录包含了 Hadoop 的源代码,参考目的;

很奇怪的是,在 1.2.1 的版本中有不少文件是可写的,可写也就意味着可以被人篡改,这显然是不正确的。

如果需要检查目录里是否存在除了 owner 以外拥有的写权限,可以使用下面的命令:

一般管理员会禁止这些可写,使用下面的命令。

对于测试和实验来说,hadoop 留在自己的 home 目录没有任何问题。对于生产环境来说,需要移动到符合系统规范的地方:

移动之后,不要忘记了修改文件的所有权,因为生产环境可不是为了给安装用户用的:

默认情况下 conf 配置文件在 Hadoop 目录下,我们可以让其留在那里。但是正常情况下,会考虑将其移动到标准的 /etc 目录下。这样很多系统方面的工具都可以使用。比如 IDS 的 Tripwire、配置备份,以及将来升级Hadoop软件不必担心配置文件被覆盖掉。

安装包安装

使用 rpm 或者 deb 安装包则要比 tarball 简单许多。不过,同样需要一些额外的关注。因为 Apache Hadoop 发行版本没有针对 CentOS, RHEL, Ubuntu 之类系统进行定制,因此有可能会有依赖冲突或者不满足依赖的情况,安装中一定要注意。

  • CentOS/RedHat
  • Ubuntu/Debian

使用安装包有很多优势:

  • 简单。文件目录都会自动安装到正确的位置,并赋予正确的权限;
  • 一致性。由于遵循了标准文件目录结构,配置文件会位于 /etc/hadoop、日志会位于 /var/log/hadoop,可执行文件会位于 /usr/bin 等等;
  • 可集成性。由于位置是标准的,所以很容易与配置管理系统,如 Puppet 或 Chef 集成在一起,从而使得 Hadoop 的部署更加简单;
  • 版本控制。可以使用系统自身的包管理软件进行升级维护。

关于 rpm 可以使用 rpm -qlp hadoop-1.2.1-1.x86_64.rpm | less 来检查包内文件,关于 deb 可以使用 dpkg -c hadoop_1.2.1-1_x86_64.deb | less

需要了解的是下面的文件或目录:

  • /etc/hadoop: 配置目录;
  • /etc/rc.d/init.d: 启动脚本。可以通过这些脚本启动和停止 Hadoop 服务;
  • /usr/bin: hadoop的可执行文件会放置在这里,还包括 task-controller
  • /usr/include/hadoop: 供 Hadoop Pipes 的 C/C++ 使用的头文件;
  • /usr/lib: Hadoop 的 C 库,如 libhdfs.solibhadoop.alibhadoop-pipes.a等;
  • /usr/libexec: 一些比较杂的东西,包括一些库所需要的文件和一些脚本;
  • /usr/sbin: 一系列供管理员维护用的脚本,比如 start-*.shstop-*.shhadoop-daemon.sh等脚本;
  • /usr/share/doc/hadoop: 文档、协议类的文件。

CDH

CDH 如同 Apache Hadoop 一样,也是全部开源的项目。在 Apache Hadoop 的基础上,Cloudera 公司还负责将一些重要的补丁回溯打到老的版本上,以进行支持。并且 CDH 包含了大量的 Hadoop 生态圈的其它软件,包括 Hive, HBase, Pig 等等。

CDH 也提供了 tarball、RPM/Deb 之类的安装方式,此外,CDH 提供了更方便的 Yum/Apt 软件源的形式,这会自然解决依赖问题,所以更建议使用这种方式安装。

书中使用的是当时的 CDH 3 的版本,这里使用的是当前的 CDH 5。

配置软件源

  • CentOS/RedHat
  • Ubuntu/Debian

获得可以安装的软件组件

要列出 CDH 都有哪些组件,可以使用下面的命令:

  • CentOS/RedHat

来源:中琦2513

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年5月1日
下一篇 2017年5月1日

相关推荐