本文主要介绍了hadoop1的伪分布模式的安装。只需要根据步骤一步一步的操作就可以按照好hadoop的伪分布安装。所用到的安装包为jdk-6u45-linux-x64.binhadoop-1.1.2.tar.gz。操作环境为VMware下CentOS-6.5的64位虚拟机。如果是32位系统,只需下载相应的jdk即可。


一。伪分布模式安装大致步骤:

(1)关闭防火墙

(2)修改hostname

(3)设置ssh自动登录

(4)安装jdk

(5)安装hadoop



二。伪分布模式的安装:

Hadoop1只能工作在Linux的操作系统上,因此需要准备一台Linux下主机,可以用VMWare建立一台虚拟机。


(1)关闭防火墙

使用service iptables stop关闭防火墙

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_status

完成后可以使用service iptables status来进行验证:

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_虚拟机_02

(2)关闭防火墙自动运行

使用命令chkconfig iptables off来关闭防火墙的自动运行

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_安装_03

完成后可以使用chkconfig --list | grep iptables进行验证:

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_虚拟机_04

(3)设置主机名

①使用hostname HOSTNAME命令对当前窗口主机名进行更改,完成后使用hostname进行查看

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_05

②编辑/etc/sysconfig/network把主机名改为自己刚设置的主机名

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_hadoop_06

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_hadoop_07

③重启主机后就可以看见主机名已经改为myhadoop

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_hadoop_08

(4)设置ssh自动登录

①使用命令ssh-keygen -t rsa生成密钥

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_虚拟机_09

②复制/root/.ssh/id_rsa.pub文件为authorized_keys

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_10

这样即可实现ssh免密码登录

(5)绑定ip与hostname

①使用ifconfig查看当前主机IP

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_status_11

②修改/etc/hosts文件

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_hadoop_12

设置成功后可以使用ping myhadoop来进行验证,如果ping通说明设置成功

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_13

(6)安装jdk

①下载jdk和hadoop的安装包到/usr/local下

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_status_14

②切换到/usr/local目录下,使用./jdk-6u45-linux-x64.bin来进行jdk安装

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_15

安装完成后截图:

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_hadoop_16

③修改安装后的目录名为jdk

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_安装_17

④在/etc/profile下追加JAVA_HOMEPATH

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_18

⑤使用source /etc/profile来刷新环境变量

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_hadoop_19

最后可以使用java -version进行验证

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_status_20

(7)安装hadoop

①使用tar对hadoop进行解压

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_虚拟机_21

②把安装后的hadoop-1.1.2目录重命名为hadoop

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_hadoop_22

③修改/etc/profile文件

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_安装_23

④刷新配置

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_hadoop_24

⑤修改/usr/local/hadoop/conf下相应的配置文件

1.hadoop-env.sh

修改内容:

export JAVA_HOME=/usr/local/jdk

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_25

2.core-site.xml

修改内容:

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://myhadoop:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property>
</configuration>

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_26

3.hdfs-site.xml

修改内容:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>


Hadoop初学指南(1)--Hadoop1伪分布模式的安装_安装_27

4.mapred-site.xml

修改内容:

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>myhadoop:9001</value>
    </property>
</configuration>

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_虚拟机_28

(8)启动hadoop

①初始化namenode,执行命令为hadoop namenode -format

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_status_29

②启动hadoop,执行命令为start-all.sh

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_status_30

最后可以使用jps进行验证,如果看到5个新的java进程,分别是NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker。那么表示hadoop启动成功:

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_31

③利用网页查看hadoop:

在虚拟机中打开火狐浏览器,分别打开http://myhadoop:50070  http://myhadoop:50030

出现如下画面说明成功:

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_status_32

Hadoop初学指南(1)--Hadoop1伪分布模式的安装_伪分布_33


(9)可能出现的错误:

1.启动时没有NameNode的可能原因:

   (1)没有格式化

   (2)环境变量设置错误

   (3)ip与hostname绑定失败

2.启动时没有DataNode的可能原因:

   执行了多次格式化,导致日志文件中的namenode序列号与datanode序列号不一致,只需要把日志中的序列号修改一致即可