ITPub博客

首页 > 大数据 > Hadoop > 关于hadoop和基于hadoop的nutch搜索引擎的配置(后续更新)

关于hadoop和基于hadoop的nutch搜索引擎的配置(后续更新)

Hadoop 作者:787614445 时间:2011-03-24 23:14:59 0 删除 编辑
最近,跟同事研究了一下,hadoop和nutch,现在是这样的,nutch在单server上运行,没有问题,可以抓取搜索;hadoop的假设也没有问题,但是nutch搬到hadoop上的过程中出现一些问题,这待后续解决吧。nutch的单机配置可以参考我以前的博客。
1 首先是关于hadoop的配置(ubuntu)
sun1 10.112.119.185   作为namenode
sun2 10.112.117.52    作为datanode
修改/etc/hosts文件,配置主机名称,为了在后面可以直接通过主机名
1)ssh
   安装ssh的过程pass
   此处,此处采用授权key的的方式进行互访,使sun1,sun2两台机器可以互相进行不用密码验证的ssh登陆。
在master上#ssh-keygen -t rsa 命令,会产生id_rsa.pub,然后将 这个id_rsa.pub cat到authorized_keys,用scp传给slave (sun2),在ssh的配置文件中开启authorizedkey的设置,这是sun1---->sun2  ,如果想sun2--->sun1同样的方法在sun2产生一次
2)jdk
   pass。。。。
3)hadoop配置
单独配置hadoop的话,其配置文件分为三个文件分别为core-site.xml,hdfs-site.xml,还有个mapred-site.xml,而nutch中的hadoop,三个文件合并为一个hadoop-site.xml,根据hadoop-default-site.xml中的配置,添加所需要的
hadoop-site.xml基本如下:

<!-- Put site-specific property overrides in this file. -->

 

 

    fs.default.name

    hdfs://sun1:9000

    HDFS的URI,文件系统://namenode标识:端口号

 

    hadoop.tmp.dir

    /home/sun/nutch/hadooptmp 

    namenode上本地的hadoop临时文件夹

 

    dfs.name.dir

    /home/sun/nutch/name

    namenode上存储hdfs名字空间元数据

 

    dfs.data.dir

    /home/sun/nutch/data

    datanode上数据块的物理存储位置

 

    dfs.replication 

    1       <!--  此处设置后续在分析,我一个datanode,设成1或0都有问题-->

    副本个数,不配置默认是3,应小于datanode机器数量

 

<!--mapreduce-- mapreduce-site.xml>

    mapred.job.tracker

    sun1:9001

    jobtracker标识:端口号,不是URI

 

    mapred.local.dir

    /home/nutch/nutchinstall/mapred/local

    tasktracker上执行mapreduce程序时的本地目录

 

    mapred.system.dir

    /tmp/hadoop/mapred/system

    这个是hdfs中的目录,存储执行mr程序时的共享文件

4)操作

在成功设置好之后

sun1 #./hadoop namenode -format格式化namenode节点

然后可以使用./start-all.sh 开启hadoop

hadoop 的shell 命令大家可以网上google了

5)问题

现在我把nutch设置为hadoop的分布式结构,按步骤先./hadoop fs -mkdir crawlurls

然后./nutch crawl crawlurls -dir data -depth3 -topN 10时后会出现三种问题

(1)replication的值设置为0,1都有问题

(2)无法再分布式的tmp先建立什么job的文件(具体文件名记不清了)

(3)shuffle error:max_....什么东西,貌似linux的系统打开文件handle数目太少,默认为1024,下面就是通过ulimit改这个openfile的数目,各种查,网上好多都是在root权限下修改的,而hadoop这边我设置为一个用户sun,所以在启动时就会对不上,找了个一个可行的方法

sudo vi /etc/security/limits.conf

sun hard nofile 10240
sun soft nofile 10240 

如果对所有用户都生效则

*hard nofile 10240
* soft nofile 10240 

cd /etc/pam.d/

grep pam_limits.so *

将目录下的pam_limits.so的所有文件中pam_limits.so项注释去掉。包括su,sudo等。通过grep查找。

重启系统
3.查看ulimit -a
ulimit -n 是查看打开的文件数的。



未完待续

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21291847/viewspace-1119832/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-04-03