hadoop平台搭建

来源:互联网 发布:canny边缘检测算法程序 编辑:程序博客网 时间:2024/06/05 09:46

g假设当前已经安装了java6和ssh等一系列必需软件。所使用的hadoo版本为hadoop-0.20.2。

 

  • 首先配置ssh的自动登录

                1.  必须为每台机子创建相同的用户,以进行hadoop操作。我们这里建立hadoop用户。

                    这样,每台机子的hadoop用户就建立好了。

 

2.   接下里,要使master的hadoop用户能够直接通过密钥ssh到slaves机子上。方法参见http://blog.csdn.net/wenlei_zhouwl/archive/2010/10/01/5917579.aspx。

       通过以上操作,master用户就可以自动登录到slaves机子上了。

       另外还要让master通过密钥ssh到自己机子上,让slaves通过密钥ssh到master机子上。

 

 

  • 搭建hadoop。

                     假设,现在有3台机子,一台机子master作为NameNode,JobTracker。另两台机子slave1、slave2作为DataNode,TaskTracker。

                    1.  在master主机上,将hadoop压缩包解压到/opt/文件夹下,并设置其拥有者为hadoop。

                    2.  设置{hadoop-install-dir}/conf/hadoop-env.sh内的环境变量JAVA_HOME。

                    3.  配置{hadoop-install-dir}/conf/core-site.xml,该文件中配置的是整个分布式系统的信息。其默认配置及介绍在{hadoop-install-dir}/src/core/core-default.xml中。

                   4.  配置{hadoop-install-dir}/conf/hdfs-site.xml,该文件中配置的是数据存储方面的信息。其默认配置及介绍在{hadoop-install-dir}/src/hdfs/hdfs-default.xml中。

                   5.  配置{hadoop-install-dir}/conf/mapred_site.xml,该文件中配置的是mapreduce方面的信息。其默认配置及介绍在{hadoop-install-dir}/src/mapred/mapred_default.xml中。

                   6.  在master上配置如何联系slaves。因为master作Namenode用,所以需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名。         

                                1.  修改{hadoop-install-dir}/conf/masters的内容。

                               2.  修改{hadoop-install-dir}/conf/slaves的内容。

 

                               3.  修改/etc/hosts中的内容,添加下列内容。

 

                               这样,master机子配置完成。
                   7.  将master机子上的hadoop安装目录{hadoop-install-dir}整个拷贝到slave机子的相同目录(即/opt/)下,设置其拥有者为hadoop。设置{hadoop-install-dir}/conf/hadoop-env.sh内的环境变量JAVA_HOME。

                   8.  在slave1上配置如何联系master。对于slave,只需要在/etc/hosts文件中加上本机IP地址和Namenode机器的IP地址。

                   9.  在slave2上配置如何联系master。对于slave,只需要在/etc/hosts文件中加上本机IP地址和Namenode机器的IP地址。

                   10.  格式化NameNode,在master机子上,进入{hadoop-install-dir},运行指令

                   11.  启动hadoop,进入master的{hadoop-install-dir}。在bin/下面有很多启动脚本,可以根据自己的需要来启动。

 

 


                   通过上述步骤,hadoop搭建成功,至于更细节的设置,以后再细细研究。

 

                    12.   查看进程情况:

                                jps可以用来查看当前hadoop运行的进程情况。
                               bin/hadoop dfsadmin –report可以用来查看当前hadoop的运行情况。

 

                    13.  问题1:

                               如果删掉了namenode的tmp.dir,那么在重新bin/hadoop namenode –format,并启动时,datanode容易出现类似问题:java.io.IOException: Incompatible namespaceIDs in /home/hadoop/data: namenode namespaceID = 1214734841; datanode namespaceID = 1600742075。
                                解决方法:

                    13.  问题2:

                                运行mapreduce时报错:could only be replicated to 0 nodes, instead of 1。

                                解决方法: