目的
本文描述如何配置一个单节点 Hadoop 集群,使得你可以使用 Hadoop MapReduce 和 Hadoop 分布式文件系统(HDFS)快速执行简单的操作。
先决条件
平台支持
- GNU/Linux
- windows
所需软件
Linux 所需软件:
- Java
- SSH
软件安装
以 ubuntu 为例:
|
|
下载
在 Apache Download Mirrors 下载最新的稳定版 Hadoop。
准备启动 Hadoop 集群
解压已下载 Hadoop 包, 编辑 etc/hadoop/hadoop-env.sh
文件添加如下变量:
|
|
尝试执行如下命令
|
|
这条命令将显示 hadoop 脚本如何使用的。
现在已经装备好启动 Hadoop 集群了,集群支持一下三种模式:
- 单机模式 - Local (Standalone) Mode
- 伪集群模式 - Pseudo-Distributed Mode
- 集群分布式模式 - Fully-Distributed Mode
单机运行 - Standalone Operation
|
|
伪分布模式运行 - Pseduo-Distributed Operation
配置
修改下面的文件
etc/hadoop/core-site.xml:
|
|
etc/hadoop/hdfs-site.xml:
|
|
设置 SSH 免密登录 - Setup passphraseless ssh
现在,检查是否可以 SSH 免密登录 localhost:
|
|
如果登录失败,执行以下命令:
|
|
ps: 免密登录配置详情见 Redhat7/CentOS7 SSH 免密登录
执行
1. 格式化文件系统:
|
|
Hadoop 临时文件放在
/tmp/hadoop-root/
目录下,如果需要可以在重置前删除。
2. 启动 NameNode daemon 和 DataNode daemon:
|
|
Hadoop daemon 日志会将输出到 $HADOOP_LOG_DIR
(默认 $HADOOP_HOME/logs
)。
3. web 界面浏览 NameNode;默认 URL:
- NameNode - http://localhost:50070/
4. 为执行 MapReduce jobs 创建所需的 HDFS 目录:
|
|
5. 将 etc/hadoop
目录复制到分布式文件系统(HDFS)的 input
目录下
|
|
6. 执行一个已经提供的案例
|
|
7. 检查输出文件,拷贝 HDFS 上的输出文件到本机,执行如下命令:
|
|
或
在 HDFS 上查看输出文件
|
|
8. 当你执行完成后,执行如下停止 daemons:
|
|