最近在搞Hadoop,感觉有这个必要把一些琐碎的心得分享,而且正好国庆假期使时间上有了可能。首先感谢下面两篇文章给出的指导,本文是两者技术路线在CentOS 6.5 64位 版本下对Hadoop 2.5.1伪分布式环境的一个实践。
至于为什么写这篇文章,主要是Hadoop 2.3之后从框架上做出了质变,所以配置与运行方式发生了很多改变。
概要与介绍上文都有介绍,这里不再赘述,直奔主题:
总体的流程如下:
1、实现ssh无密码验证配置
2、安装jdk,并配好环境变量
3、安装与配置Hadoop
4、格式化与启动
5、验证是否启动
下面开始:
一. SSH无密码验证配置
Hadoop 需要使用SSH 协议,namenode 使用SSH 协议启动 namenode 和datanode 进程,伪分布式模式数据节点和名称节点均是本身,必须配置 SSH localhost无密码验证。
以下用root用户登录仅为了方便起见。登录后,执行命令:ssh-keygen -t rsa
[root@master ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): & 按回车默认路径 &
Created directory '/root/.ssh'. &创建/root/.ssh目录&
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
通过以上命令将在/root/.ssh/ 目录下生成id_rsa私钥和id_rsa.pub公钥。进入/root/.ssh目录在namenode节点下做如下配置:
[root@master .ssh]# cat id_rsa.pub > authorized_keys
将id_rsa.pub写入authorized_keys,配置完毕,可通过ssh 本机IP 测试是否需要密码登录:ssh localhost
二. 环境搭建
搭建测试环境所需的软件包括:
1. JDK 1.8.2,安装文件 jdk-8u20-linux-x64.rpm (Oracle.com/technetwork/java/javase/index.html)
执行rpm -i jdk-8u20-linux-x64.rpm安装JDK
然后设置JAVA_HOME等环境变量:vim /etc/profile,在其末尾增加一段:
#set java home
export JAVA_HOME=/usr/java/latest
export JRE_HOME=/usr/java/latest/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
这里给出的目录/usr/java/latest是CentOS 6.5下用rpm安装JDK自动生成的,如果是其他安装办法,如手动安装,则制定实际安装的目录即可。
在vim编辑器增加以上内容后保存退出(:wq),并执行以下命令使配置生效
chmod +x /etc/profile #增加执行权限
source /etc/profile #使其生效
配置完毕后,在命令行中输入java -version与echo $JAVA_HOME,根据提示信息可知是否设置成功。
然后vim hadoop/etc/hadoop/hadoop-env.sh 与 vim hadoop/etc/hadoop/yarn-env.sh来配置两个文件里的JAVA_HOME,后者是新版本Hadoop特有的。
2.Hadoop 2.5.1,安装文件 hadoop-2.5.1.tar.gz ()
下载 hadoop-2.5.1.tar.gz,将其下载或者复制到/usr/目录下,然后使用如下命令:
cd /usr #进入"/usr"目录
tar –zxvf hadoop-2.5.1.tar.gz #解压hadoop-2.5.1.tar.gz安装包
mv hadoop-2.5.1 hadoop #将hadoop-2.5.1文件夹重命名hadoop
rm –rf hadoop-2.5.1.tar.gz #删除安装包
然后把Hadoop的安装路径添加到"/etc/profile"中,将以下语句添加到末尾,并使其有效:
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH :$HADOOP_HOME/bin
请注意这里安装的2.5.1版本,2.*版本较1.*版本改动很大,主要是用Hadoop MapReduceV2(Yarn) 框架代替了一代的架构,其中JobTracker 和 TaskTracker 不见了,取而代之的是 ResourceManager, ApplicationMaster 与 NodeManager 三个部分,而具体的配置文件位置与内容也都有了相应变化,具体的可参考文献:
--------------------------------------分割线 --------------------------------------
Ubuntu 13.04上搭建Hadoop环境
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置
搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)
--------------------------------------分割线 --------------------------------------