Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程

本教程基于 Hadoop 2.4.1,但对于 Hadoop 2.x 版本应该都是适用的。

创建hadoop用户

如果你安装Ubuntu的时候不是用的hadoop用户,那么需要增加一个名为hadoop的用户,并将密码设置为hadoop。

创建用户

sudo useradd hadoop

修改密码为hadoop,按提示输入两次密码

sudo passwd hadoop

给hadoop用户创建目录,方可登陆

sudo mkdir /home/hadoop sudo chown hadoop /home/hadoop

可考虑为 hadoop 用户增加管理员权限,方便部署,避免一些权限不足的问题:

sudo adduser hadoop sudo

最后注销当前用户,使用hadoop用户进行登陆。

安装SSH server、配置SSH无密码登陆

Ubuntu默认安装了SSH client,还需要安装SSH server。

sudo apt-get install openssh-server

集群、单节点模式都需要用到SSH无密码登陆,首先设置SSH无密码登陆本机。

输入命令

ssh localhost

会有如下提示(SSH首次登陆提示),输入yes。

SSH首次登陆提示

然后按提示输入密码hadoop,这样就登陆到本机了。但这样的登陆是需要密码的,需要配置成无密码登陆。

先退出刚才的ssh,然后生成ssh证书:

exit # 退出 ssh localhost cd ~/.ssh # 如果没有该目录,先执行一次ssh localhost ssh-keygen -t rsa # 一直按回车就可以 cp id_rsa.pub authorized_keys

此时再用ssh localhost命令,就可以直接登陆了,如下图所示。

SSH无密码登陆

SSH无密码登陆

安装Java环境

以前的教程都是建议安装Oracle的JDK,不建议使用OpenJDK,不过按中说的,新版本在OpenJDK 1.7下是没问题的。通过命令安装OpenJDK 7。

sudo apt-get install openjdk-7-jre openjdk-7-jdk

默认的安装位置为: /usr/lib/jvm/java-7-openjdk-amd64 (可以通过命令dpkg -L openjdk-7-jdk看到)。安装完后就可以使用了,可以用java -version检查一下。

需要配置一下 JAVA_HOME 环境变量,这个环境变量很多地方都会用到,在 /etc/environment 中配置:

sudo vim /etc/environment

在文件末尾添加一行:

JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"

保存,最后需要注销然后再次登陆,或重启一下,才能保证 JAVA_HOME 在新打开的终端窗口中都能使用(注销、重启后,新打开一个终端窗口,输入 echo $JAVA_HOME 检验)。

安装Hadoop 2.4.1

2.4.1的下载地址为: ,安装教程主要参考了官方教程

CentOS安装和配置Hadoop2.2.0 

Ubuntu 13.04上搭建Hadoop环境

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Ubuntu下Hadoop环境的配置

单机版搭建Hadoop环境图文教程详解

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)

下载后,解压到/usr/local/中。

sudo tar -zxvf ~/下载/hadoop-2.4.1.tar.gz -C /usr/local # 解压到/usr/local中 sudo mv /usr/local/hadoop-2.4.1/ /usr/local/hadoop # 将文件名改为hadoop sudo chown -R hadoop:hadoop /usr/local/hadoop # 修改文件权限

Hadoop解压后即可使用。输入如下命令Hadoop检查是否可用,成功则会显示命令行的用法:

/usr/local/hadoop/bin/hadoop Hadoop单机配置

Hadoop默认配置是以非分布式模式运行,即单Java进程,方便进行调试。可以执行附带的例子WordCount来感受下Hadoop的运行。例子将Hadoop的配置文件作为输入文件,统计符合正则表达式dfs[a-z.]+的单词的出现次数。

cd /usr/local/hadoop mkdir input cp etc/hadoop/*.xml input bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar grep input output 'dfs[a-z.]+' cat ./output/*

执行成功后如下所示,输出了作业的相关信息,输出的结果是符合正则的单词dfsadmin出现了1次

Hadoop单机WordCount输出结果

Hadoop单机WordCount输出结果

再次运行会提示出错,需要将./output删除。

rm -R ./output Hadoop伪分布式配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/890492758e3a15c92ffca23c1fcb1ff0.html