Precondition:

hadoop 2.7.1

hbase 0.98.13

solr 5.2.1 / Apache Solr 4.8.1

http://archive.apache.org/dist/lucene/solr/4.8.1/

gora 0.6.1

gora编译和Nutch编译部署

1. Gora下载

最新版本号呢gora是0.6.1,下载或者直接通过git获取 git clonehttps://github.com/apache/gora.git

2.  改动gora pom.xml

下面可能是Nutch2.3能终于执行的关键。没有1.0.1.1-hadoop2:)

<hadoop-1.version>1.2.1</hadoop-1.version>
<hadoop-2.version>2.7.1</hadoop-2.version>
<hadoop-1.test.version>1.2.1</hadoop-1.test.version>
<hadoop-2.test.version>2.7.1</hadoop-2.test.version>
<hbase.version>0.98.13-hadoop2</hbase.version>
<hbase.test.version>0.98.13-hadoop2</hbase.test.version>

3. 编译gora

mvn clean install -DskipTests

mvn install -DskipTests

4. 改动$NUTCH_HOME/conf/nutch-site.xml

<configuration>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.hbase.store.HBaseStore</value>
<description>Default class for storing data</description>
</property>
<property>
<name>http.agent.name</name>
<value>My Nutch Spider</value>
</property>
<property>
<name>plugin.includes</name>
<value>protocol-httpclient|urlfilter-regex|parse-(html|tika)|index-(basic|anchor)|indexer-solr|scoring-opic|urlnormalizer-(pass|regex|basic)</value>
</property>
</configuration>

5. 改动$NUTCH_HOME/ivy/ivy.xml

全部"org.apache.gora"涉及到的rev改动为0.6。比如:

<dependency org="org.apache.gora" name="gora-hbase" rev="0.5" conf="*->default" /> =>
<dependency org="org.apache.gora" name="gora-hbase" rev="0.6" conf="*->default" />

删除"org.apache.hadoop"。加入:

<dependency org="org.apache.hadoop" name="hadoop-client" rev="2.7.1" conf="*->default"/>

6.改动$NUTCH_HOME/ivy/ivysettings.xml

<ivysettings>
<settings defaultResolver="default"/>
<property name="m2-pattern" value="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]" override="false" />
<resolvers>
<chain name="default">
<filesystem name="local-maven2" m2compatible="true" >
<artifact pattern="${m2-pattern}"/>
<ivy pattern="${m2-pattern}"/>
</filesystem>
<ibiblio name="central" m2compatible="true"/>
</chain>
</resolvers>
</ivysettings>

7. $NUTCH_HOME/conf/gora.properties 加入

gora.datastore.default=org.apache.gora.hbase.store.HBaseStore

8. 依据须要改动 $NUTCH_HOME/conf/regex-urlfilter.txt $NUTCH_HOME/conf/nutch-default.xml

能够不用改

9. 编译。要非常长时间

ant runtime

10. 将gora以下的hadoop*.jar复制到runtime/local/lib/

cp /disk/gora/gora-core/lib/hadoop* /disk2/nutch/nutch-2.3/runtime/local/lib/

11. 建立搜索url

mkdir urls

echo http://nutch.apache.org/ >> urls/seek.txt

12. 測试执行

cd runtime/local/

bin/nutch inject urls/seek.txt

solr5.2.1 部署执行

1. 下载解压

2. example/example-DIH 包括了完整的solr home配置,复制到server/solr

cp -rf /disk2/solr/solr-5.2.1/example/example-DIH/solr/* /disk2/solr/solr-5.2.1/server/solr/

3. 解决Nutch执行中可能遇到的Error
404: Prob accessing /solr/solr/update. Reason: Not Found

cd /disk2/solr/solr-5.2.1/server/solr

cp /disk2/solr/solr-5.2.1/example/exampledocs/monitor.xml .

curl http://127.0.0.1:8983/solr/solr/update --data-binary
@monitor.xml -H 'Content-type:application/xml'

3. 为nutch crawl执行。还要改动/disk2/solr/solr-5.2.1/server/solr/solr/conf/schema.xml。加上:

	<field name="host" type="string" stored="false" indexed="true"/>
<field name="site" type="string" stored="false" indexed="true"/>
<field name="cache" type="string" stored="true" indexed="false"/>
<field name="digest" type="string" stored="true" indexed="false"/>
<field name="segment" type="string" stored="true" indexed="false"/>
<field name="boost" type="float" stored="true" indexed="false"/>
<field name="tstamp" type="date" stored="true" indexed="false"/>
<field name="stamp" type="date" stored="true" indexed="false"/>
<field name="anchor" type="string" stored="true" indexed="true" multiValued="true"/>

4. bin/solr start

5. http://192.168.1.106:8983/solr

6. bin/crawl urls/seek.txt TestCrawl http://192.168.1.106:8983/solr/solr
2

FAQ

以下是过程中遇到的让人愤慨的。。。

1. 错误: 找不到或无法载入主类 org.apache.nutch.crawl.InjectorJob:

没有ant runtime

2. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration

nutch2.3 须要使用hbase 0.98.13 的几个hbase-comm*.jar / hbase-client*.jar / hbase-protocol*.jar。千万不要用hbase1.0.1.1的。

cd /disk2/hbase/hbase-0.98.13-hadoop2/lib

cp hbase-common* /disk2/nutch/nutch-2.3/runtime/local/lib/

cp hbase-client-0.98.13-hadoop2.jar /disk2/nutch/nutch-2.3/runtime/local/lib/

cp hbase-protocol* /disk2/nutch/nutch-2.3/runtime/local/lib/

3. Exception in thread "main" java.lang.NoSuchFieldError: HBASE_CLIENT_PREFETCH_LIMIT

原因同上。hbase 和 nutch不匹配

4. 2015-07-21 13:53:53,238 WARN  util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

就让他native好了

mkdir -p /disk2/nutch/nutch-2.3/runtime/local/lib/native/Linux-amd64-64/

cd /disk2/hadoop/hadoop-2.7.1/lib/native/

cp * /disk2/nutch/nutch-2.3/runtime/local/lib/native/Linux-amd64-64/

cp * /disk2/nutch/nutch-2.3/runtime/local/lib/native/





NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(三)的更多相关文章

  1. NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(二)

     Precondition: hadoop 2.7.1 hbase 1.0.1.1 / hbase 0.98.13 192.168.1.106 ->master 192.168.1.105 ...

  2. NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(一)

     Precondition: hadoop 2.7.1 Nutch 2.3 hbase 1.0.1.1 / hbase 0.98.13 solr 4.8.1 Linux version 3.16. ...

  3. hadoop2.6.0 + hbase-1.0.0 伪分布配置

    1 基本配置 主机名: 192.168.145.154 hadoop2 ======= 2 etc/hadoop下文件配置 1)core-site.xml <configuration> ...

  4. Hadoop2.7.5+Hbase1.4.0完全分布式

    Hadoop2.7.5+Hbase1.4.0完全分布式一.在介绍完全分布式之前先给初学者推荐两本书:<Hbase权威指南>偏理论<Hbase实战>实战多一些 二.在安装完全分布 ...

  5. Ubuntu 14.10 下ZooKeeper+Hadoop2.6.0+HBase1.0.0 的HA机群高可用配置

    1 硬件环境 Ubuntu 14.10 64位 2 软件环境 openjdk-7-jdk hadoop 2.6.0 zookeeper-3.4.6 hbase-1.0.0 3 机群规划 3.1 zoo ...

  6. mac下安装伪分布hadoop2.6.0和hbase1.0.1.1

    1.安装JDK,我安装的是java1.7 2.创建管理员账户 3.安装ssh服务(如果已有跳过此步) 4.ssh无密码验证登陆 以上过程略,可参考ubuntu下安装hadoop一文. 5.下载并解压h ...

  7. Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境

    Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境 一.环境说明 个人理解:zookeeper可以独立搭建集群,hbase本身不能独立搭建集群需要和hadoo ...

  8. hadoop: hbase1.0.1.1 伪分布安装

    环境:hadoop 2.6.0 + hbase 1.0.1.1 + mac OS X yosemite 10.10.3 安装步骤: 一.下载解压 到官网 http://hbase.apache.org ...

  9. HBase1.0以上版本的API改变

    HBase1.0以上版本已经废弃了 HTableInterface,HTable,HBaseAdmin等API的使用,新增了一些API来实现之前的功能: Connectioninterface: Co ...

随机推荐

  1. react 使用Form组件如何清空上一次操作

    最近在做一个表单联查时候,总是会发现后一个选择器会记住上一次选择的值 ,这会导致前一级选择器已经做出更新后,后一级选择器却还记住上一次的操作, 这里有个方法可以在上级选择器事件操作时清空Form组件的 ...

  2. HDU 1863 畅通工程 最小生成树

    思路: 比较典型的最小生成树的题目了..在这里用求最小生成树的经典算法K(Kruskal)算法和P(Prim)算法.我的 K 算法用的是结构体来存图,P 算法用的是邻接矩阵来存图,K算法的复杂度是O( ...

  3. 用SparkSQL构建用户画像

    用SparkSQL构建用户画像 二.  前言 大数据时代已经到来,企业迫切希望从已经积累的数据中分析出有价值的东西,而用户行为的分析尤为重要. 利用大数据来分析用户的行为与消费习惯,可以预测商品的发展 ...

  4. 洛谷——P1348 Couple number

    P1348 Couple number 题目描述 任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number.你的工作就是判断一个数N是不是Couple ...

  5. codevs 2837 考前复习——01背包

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description Aiden马上要考试了,可他还没怎么复习,于是他 ...

  6. adb 查看android手机中应用的包名和安装位置

    1. 查看是否连接手机 adb devices 2. 进入指定的device的shell adb shell 或者 adb -s ********* shell 3. adb 查看所有安装的包 pm ...

  7. OC语言基础之函数与方法

    方法 1.对象方法都是以减号 - 2.对象方法的声明必须写在@interface和@end之间    对象方法的实现必须写在@implementation和@end之间 3.对象方法只能由对象来调用 ...

  8. 事件溯源模式(Event Sourcing Pattern)

    此文翻译自msdn,侵删. 原文地址:https://msdn.microsoft.com/en-us/library/dn589792.aspx 本文介绍了一种有利于物化(materialize)领 ...

  9. UBIFS

    转:http://www.armadeus.com/wiki/index.php?title=UBIFS This is a preliminary page dealing with the ins ...

  10. 跟着Sedgewick学算法(week 1 UnionFind)

    发现笔记转过来,没有图的~~~~~~~~~~~悲剧,给出共享笔记链接 https://www.evernote.com/pub/yanbinliu/algorithm 很久之前就在coursera看到 ...