安装 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:
解压缩
可以看到一些常见的目录:
-
bin
,sbin
,lib
,libexec
,share
; -
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.so
,libhadoop.a
,libhadoop-pipes.a
等; -
/usr/libexec
: 一些比较杂的东西,包括一些库所需要的文件和一些脚本; -
/usr/sbin
: 一系列供管理员维护用的脚本,比如start-*.sh
、stop-*.sh
、hadoop-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
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
构建之法学习(第八章 需求分析)
上一篇
2017年5月1日
软件开发模式,DevOps
下一篇
2017年5月1日
|