之前搭建环境或是配置软件历来都没有留Tips的习惯,但实践证实这是错误的——作过不等于记得怎么作,遇到过的错误也不等于从此就不是错误了。Nutch跟Hadoop的搭建困扰了我好久,但回头看看又以为真正有些问题的其实就几个关键点,因此以为花些时间写个简单流程,缅怀一下最近的探索,也但愿能给想要搭建Nutch或hadoop的同窗提供一些帮助。欢迎你们指正。 node
想要说明一下的是,虽说hadoop诞生于nutch,但如今hadoop已经彻底独立为一个分布式框架,咱们能够简 单地理解为nutch只是跑在hadoop基础之上的一个分布式应用程序(实现的功能是开源的搜索引擎:crawl+index+search)。根据我 的实践,Nutch+hadoop的配置关键仍是在于hadoop环境的搭建。linux
Hadoop 环境搭建apache
1. 硬件环境及软件选择框架
硬件环境:2台Fedora虚拟机(我本身实验的时候用了4台,有两台在另一位同窗的机子上,因此如今就不占用了),机器状况以下表:ssh
计算机名分布式 |
IPoop |
内存搜索引擎 |
角色spa |
Namenode.net |
172.18.218.34 |
1G |
Namenode+datanode |
Datanode1 |
172.18.218.44 |
512M |
Datanode |
另外,两个linux系统都建立了一个名为hadoop的用户。
至于nutch,我选择的是1.2版本,由于这个版本集成了Hadoop,不用再单独去下载Hadoop,并且兼容性较好。
下载地址:http://apache.etoak.com//nutch/ ,若是有须要,也能够从我这里拷贝。
2. Hosts文件修改
节点之间的通讯有时候会用到IP地址,有时候会用到计算机名,因此须要给出节点IP地址跟计算机名的对应,linux系统中这种对应关系体如今/etc/hosts文件中,编辑hosts文件,按“IP 计算机名”的形式把各个节点写进hosts文件。
其中::1这一行是跟IPv6相关的,不须要去理会。其中127.0.0.1这一行是要注释掉的,否则以后运行 hadoop的时候会出现“Bad connection to DFS”的错误,DFS是hadoop的文件系统。每次重启系统,hosts文件中都会自动自动加上一行127.0.0.1(缘由不解),运行 hadoop以前都要把这一行kill掉才行。
对于机器datanode1,hosts文件也要作相似处理。
3. SSH无密码访问
Hadoop集群中节点都是经过ssh相互联系,进行数据传输,咱们不可能为每次链接输入访问密码(常规ssh须要访问密码),因此咱们须要进行相应配置,使节点之间的ssh链接不须要密码。 咱们能够经过设置密钥来实现。
首先在namenode跟datanode上安装ssh(通常状况下已经默认安装了)。
而后在全部的节点(包括namenode跟datanode)上建立公钥私钥。
建立公钥私钥命令: ssh-keygen –t rsa
期间会要求输入一些信息,直接按回车就能够。这样,在默认的路径/home/hadoop/.ssh 目录下建立私钥 id_rsa 和一个公钥 id_rsa.pub 。
对于 datanode 节点:
将本身的公钥发送到 namenode 上:
#cp id_rsa.pub datanode1_rsa.pub
#scp datanode1_rsa.pub 172.18.218.34:/home/hadoop/.ssh
这里须要注意,因为每一个 datanode 节点都要将本身的公钥传到 namenode 的相同路径下,所以,各个 datanode 发送的公钥文件名不能相同。这里使用 cp 命令,在每台 datanode 节点上将公钥文件复制为惟一名字的文件。
对于 namenode 节点:
在收到全部 datanode 发送过来的公钥文件以后,要综合这些文件(包括自身),并将这些文件发送到每一个节点上:
#cp id_rsa.pub authorized_keys
#cat datanode1_rsa.pub >>authorized_keys
把公钥authorized_keys拷贝到全部节点的.ssh文件夹下:
#scpauthorized_keys 172.18.218.44:/home/hadoop/.ssh
这时必定要查看一下 ssh 配置是否成功,查看方式是使用 ssh 命令: ssh 其余机器 ip ,若是不须要密码就能够登陆,就说明配置成功。若是还须要密码,干脆没法登陆,则须要重启电脑。重启以后再次使用 ssh 命令,若是还须要密码或者没法登陆,则须要从新配置一遍。
摘自:http://www.linuxidc.com/Linux/2011-12/48782.htm
http://blog.csdn.net/jackydai987/article/details/6222953