nutch+hadoop环境搭建

Nutch+hadoop 配置

                                                                                                                          

 

  以前搭建环境或是配置软件从来都没有留Tips的习惯,但实践证明这是错误的——做过不等于记得怎么做,遇到过的错误也不等于今后就不是错误了。Nutch跟hadoop的搭建困扰了我很久,但回头看看又觉得真正有些问题的其实就几个关键点,所以觉得花些时间写个简单流程,缅怀一下最近的探索,也希望能给想要搭建Nutch或hadoop的同学提供一些帮助。欢迎大家指正。

 

  想要说明一下的是,虽然说hadoop诞生于nutch,但现在hadoop已经完全独立为一个分布式框架,我们可以简单地理解为nutch只是跑在hadoop基础之上的一个分布式应用程序(实现的功能是开源的搜索引擎:crawl+index+search)。根据我的实践,Nutch+hadoop的配置关键还是在于hadoop环境的搭建。

  

Hadoop 环境搭建

 

1.     硬件环境及软件选择

硬件环境:2台Fedora虚拟机(我自己实验的时候用了4台,有两台在另外一位同学的机子上,所以现在就不占用了),机器情况如下表:

计算机名

IP

内存

角色

Namenode

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 命令,如果还需要密

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值