一.安装须知
Hadoop版本问题:
Hadoop 有两个主要版本,Hadoop 1.x.y 和 Hadoop 2.x.y 系列,比较老的教材上用的可能是 0.20 这样的版本。Hadoop 2.x 版本在不断更新,本教程均可适用。如果需安装 0.20,1.2.1这样的版本,本教程也可以作为参考,主要差别在于配置项,配置请参考官网教程或其他教程。自学建议安装最新版本,目前是hadoop2.7.2
单机模式&&伪分布模式
- 单机模式(standalone)
单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。**该模式主要用于开发调试**MapReduce程序的应用逻辑。
- 伪分布模式(Pseudo-Distributed Mode)
伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。
- 伪分布模式(Pseudo-Distributed Mode)
- 全分布模式(Fully Distributed Mode)
Hadoop守护进程运行在一个集群上。
备注:本教程使用 Ubuntu 14.04 64位 +VMware12.0+Hadoop2.2.0组合,请自行下载相关文件。
- 单机模式(standalone)
二.开始安装
1.前期准备
[1]将下载好的jdk压缩包jdk-7u79-linux-x64.tar复制到目录/app/complied下,并解压至路径/usr/local/java下面
hadoop@hadoop1:~$ cd /app 进入app目录下
hadoop@hadoop1:~$ /app mkdir complied 创建complied目录
root@hadoop1:cd /home/hadoop 进入jdk安装包所在目录
root@hadoop1:/home/hadoop# cp jdk-7u79-linux-x64.tar /app/compied 复制jdk安装包至目录/app/complied下
root@hadoop1:/app/complied# tar -zxvf jdk-7u79-linux-x64.tar 解压安装包
root@hadoop1:/app/complied# mv jdk1.7.0_79 /usr/local/java 移动解压文件
[2]将下载好的hadoop压缩包hadoop-2.2.0-64bit.tar.gz复制到目录/app/complied下,并解压至路径/usr/local/hadoop下面
root@hadoop1:~# cd /home/hadoop 进入hadoop安装包所在目录
root@hadoop1:/home/hadoop# cp hadoop-2.2.0-64bit.tar.gz /app/compied 复制hadoop安装包至目录/app/complied下
root@hadoop1:/app/complied# tar -zxvf hadoop-2.2.0-64bit.tar.gz 解压安装包
root@hadoop1:/app/complied# mv hadoop2.2.0 /usr/local/hadoop 移动解压文件
2.创建hadoop用户组和hadoop用户
root@hadoop1:~# sudo addgroup hadoop 创建用户组
root@hadoop1:~# sudo adduser --ingroup hadoop hadoop 在hadoop用户组中创建用户hadoop
root@hadoop1:~# sudo adduser hadoop sudo 创建hadoop用户
3.安装SSH、配置SSH无密码登陆
由于Hadoop用ssh通信,先安装ssh
hadoop@hadoop1:~$ sudo apt-get install openssh-server
ssh安装完成以后,先启动SSH服务
hadoop@hadoop1:~$ sudo /etc/init.d/ssh start
启动后,可以通过如下命令查看服务是否正确启动:
hadoop@hadoop1:~$ ps -e | grep ssh
作为一个安全通信协议,使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:
hadoop@hadoop1:~$ ssh-keygen -t rsa -P ""
第一次操作时会提示输入密码,按Enter直接过,这时会在~/home/{username}/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥,现在我们将公钥追加到authorized_keys中(authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):