(一)Hadoop1.2.1安装——单节点方式和单机伪分布方式

Hadoop1.2.1安装——单节点方式和单机伪分布方式

一、   需求部分

在Linux上安装Hadoop之前,需要先安装两个程序:

1)JDK 1.6(或更高版本)。Hadoop是用Java编写的程序,Hadoop的编译及MapReduce的运行都需要使用JDK。因此在安装Hadoop前,必须安装JDK 1.6或更高版本。

2)SSH(安全外壳协议),推荐安装OpenSSH。Hadoop需要通过SSH来启动Slave列表中各台主机的守护进程,因此SSH也是必须 安装的,即使是安装伪分布式版本(因为Hadoop并没有区分开集群式和伪分布式)。对于伪分布式,Hadoop会采用与集群相同的处理方式,即按次序启 动文件conf/slaves中记载的主机上的进程,只不过在伪分布式中Salve为localhost(即为自身),所以对于伪分布式 Hadoop,SSH一样是必需的。

二、   环境

  1. VMware® Workstation 10.04
  2. Ubuntu14.04 32位
  3. Java JDK 1.6.0
  4. hadoop1.2.1

三、   安装步骤

JDK安装

(1)下载JDK 安装包

确保可以连接到互联网,从http://www.oracle.com/technetwork/java/javase/downloads页面下载JDK 1.6安装包(文件名类似jdk-***-linux-i586.bin,不建议安装JDK 1.7版本,因为并不是所有软件都支持1.7版本)到JDK安装目录(本章假设IDK安装目录均为/usr/lib/jvm/jdk)。

(2)手动安装JDK

在终端下进入JDK安装目录,并输入命令:

sudo chmod u+x jdk-***-linux-i586.bin

修改完权限之后就可以进行安装了,在终端输入命令:

sudo -s ./jdk-***-linux-i586.bin

安装结束之后就可以开始配置环境变量了。

(3)配置环境变量

输入命令:

sudo gedit /etc/profile

输入密码,打开profile文件。

在文件最下面输入如下内容:

#set Java Environment

export JAVA_HOME=/usr/lib/jvm/jdk

export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"

export PATH="$JAVA_HOME/:$PATH"

这一步的意义是配置环境变量,使系统可以找到JDK。

(4)验证JDK是否安装成功

输入命令:

java –version

会出现如下JDK版本信息:

java version "1.6.0_22"

Java(TM) SE Runtime Environment (build 1.6.0_22-b04)

Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)

如果出现上述JDK版本信息,说明当前安装的JDK并未设置成Ubuntu系统默认的JDK,接下来还需要手动将安装的JDK设置成系统默认的JDK。

(5)手动设置系统默认JDK

在终端依次输入命令:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk/bin/javac 300

sudo update-alternatives --config java

接下来输入java –version就可以看到所安装的JDK的版本信息了。

SSH安装

假设用户名为u:

1)确认已经连接上互联网,然后输入命令:

sudo apt-get install ssh

2)配置为可以免密码登录本机。首先查看在u用户下是否存在.ssh文件夹(注意ssh前面有“.”,这是一个隐藏文件夹),输入命令:

ls –a /home/u

一般来说,安装SSH时会自动在当前用户下创建这个隐藏文件夹,如果没有,可以手动创建一个。

接下来,输入命令(注意下面命令中不是双引号,是两个单引号):

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

解释一下,ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型;dsa是dsa密钥认证的意思,即密钥类型;-P用于提供密语;-f指定生成的密钥文件。

在Ubuntu中,~代表当前用户文件夹,此处即/home/u。

这个命令会在.ssh文件夹下创建id_dsa及id_dsa.pub两个文件,这是SSH的一对私钥和公钥,类似于钥匙和锁,把id_dsa.pub(公钥)追加到授权的key中去。

输入命令:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

这条命令的功能是把公钥加到用于认证的公钥文件中,这里的authorized_keys是用于认证的公钥文件。

至此免密码登录本机已配置完毕。

3)验证SSH是否已安装成功,以及是否可以免密码登录本机。

输入命令:

ssh –version

显示结果:

OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011

Bad escape character 'rsion'.

显示SSH已经安装成功了。

输入命令:

ssh localhost

会有如下显示:

The authenticity of host 'localhost (::1)' can't be established.

RSA key fingerprint is 8b:c3:51:a5:2a:31:b7:74:06:9d:62:04:4f:84:f8:77.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'localhost' (RSA) to the list of known hosts.

Linux master 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2011 i686

To access official Ubuntu documentation, please visit:

http://help.ubuntu.com/

Last login: Sat Feb 18 17:12:40 2012 from master

这说明已经安装成功,第一次登录时会询问是否继续链接,输入yes即可进入。

实际上,在Hadoop的安装过程中,是否免密码登录是无关紧要的,但是如果不配置免密码登录,每次启动Hadoop都需要输入密码以登录到每台机器的DataNode上,考虑到一般的Hadoop集群动辄拥有数百或上千台机器,因此一般来说都会配置SSH的免密码登录。

Hadoop安装

Hadoop有三种运行方式:单机模式、伪分布式与完全分布式。,前两种方式并不能体现云计算的优势,但是它们便于程序的测试与调试。

你可以在以下地址获得Hadoop的官方发行版:http://www.apache.org/dyn/closer.cgi/Hadoop/core/。

下载hadoop-1.2.1.tar.gz并将其解压,本书后续都默认将Hadoop解压到/home/u/目录下。

(1)单机模式配置方式

安装单机模式的Hadoop无须配置,在这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。

(2)伪分布式Hadoop配置

伪分布式的Hadoop是只有一个节点的集群,在这个集群中,这个节点既是Master,也是Slave;既是NameNode,也是DataNode;既是JobTracker,也是TaskTracker。

伪分布式的配置过程也很简单,只需要修改几个文件。

a)   进入Hadoop目录下的conf目录,在hadoop-env.sh中添加JAVA安装目录:

export JAVA_HOME=/usr/lib/jvm/jdk

b)   修改conf/core-site.xml,内容如下:
<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
     </property>
</configuration>

c)   修改conf/hdfs-site.xml,内容如下:
<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>

d)   修改conf/mapred-site.xml,内容如下:
<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9001</value>
     </property>
</configuration>

上面的文件都配置结束之后,Hadoop的安装配置也就完成了。

Hadoop的启动

在第一次启动Hadoop时,需要格式化Hadoop的文件系统HDFS。进入Hadoop文件夹,输入命令:

bin/hadoop namenode –format

接下来启动Hadoop,命令如下:

bin/start-all.sh

最后,验证Hadoop是否安装成功。

打开浏览器,分别输入网址:

http://localhost:50030 (MapReduce的Web页面)

http://localhost:50070 (HDFS的Web页面)

如果都能查看,说明Hadoop已经安装成功。

对于Hadoop来说,启动所有进程是必须的,但是如果有必要,你依然可以只启动HDFS(start-dfs.sh)或MapReduce(start-mapred.sh)

 

参考:《Hadoop实战(第二版)》陆嘉恒著,机械工业出版社

posted @ 2015-01-21 19:42  CherishFu  阅读(992)  评论(0编辑  收藏  举报