【Nutch】Nutch-2.3 + HBase-0.94.14 + Solr-4.10.4 集成配置与安装

1. 一些已准备好的环境

Ubuntu 14.04 一个干净的Ubuntu,已安装:
Hadoop-1.1.2 注意Hadoop-0.x/-1.x和Hadoop-2.x版本差别很大,几乎是两个不同的Hadoop。
jdk1.7.0 注意jdk与Hadoop、HBase等之间的搭配。

表格数据来源: Apache HBase ™ Reference Guide

2. 安装并运行HBase

使用Standalone模式。参见 quick start tutorial

2.1 从该列表 Apache Download Mirrors中选择一个下载站点,从该站点下载HBase 0.94.14(因为Nutch2的Tutorial中说到Gora 0.4使用HBase 0.94.14,所以推荐使用该版本)并解压。将当前目录更改到新创建的目录底下。
$ tar xzvf hbase-<?eval ${project.version}?>-bin.tar.gz
$ cd hbase-<?eval ${project.version}?>/

2.2 编辑$HBASE_HOME/conf/hbase-env.sh,设置JAVA_HOME环境变量。
# The java implementation to use.  Java 1.6 required.
export JAVA_HOME=/home/user/hadoop/jdk1.7.0

2.3 编辑$HBASE_HOME/conf/hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/user/HBase/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/user/HBase/zookeeper</value>
  </property>
</configuration>

2.4 启动HBase
$ ./bin/start-hbase.sh

2.5 第一次使用HBase

2.5.1 连接到HBase
$ ./bin/hbase shell
hbase(main):001:0>

2.5.2 创建一张表
hbase(main):001:0> create 'test', 'cf'
0 row(s) in 0.4170 seconds

2.5.3 列出关于新建表的信息
hbase(main):002:0> list 'test'
TABLE
test
1 row(s) in 0.0180 seconds

2.5.4 给新建的表插入数据
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0850 seconds

hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0110 seconds

hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0100 seconds

2.5.5 立即扫描表中的所有数据
hbase(main):006:0> scan 'test'
ROW                                      COLUMN+CELL
 row1                                    column=cf:a, timestamp=1421762485768, value=value1
 row2                                    column=cf:b, timestamp=1421762491785, value=value2
 row3                                    column=cf:c, timestamp=1421762496210, value=value3
3 row(s) in 0.0230 seconds

2.5.6 删除表
hbase(main):007:0> disable 'test'
0 row(s) in 1.1820 seconds

hbase(main):008:0> drop 'test'
0 row(s) in 0.1370 seconds

2.5.7 退出HBase Shell
hbase(main):009:0> exit

2.5.8 停止HBase
$ ./bin/stop-hbase.sh

2.6 再次启动HBase为后面运行Nutch做准备
$ ./bin/start-hbase.sh

3. 编译Nutch 2.3


3.1 下载并解压
选择 Nutch 2.3的下载站点,从该站点下载Nutch 2.3,解压到当前目录。
$ tar zxf apache-nutch-2.3-src.tar.gz
$ cd apache-nutch-2.3/

3.2 指定Gora后台存储 
编辑 $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>
</configuration>

3.3 确保HBase gora-hbase依赖可用
编辑 $NUTCH_HOME/ivy/ivy.xml,取消注释:
<!-- Uncomment this to use HBase as Gora backend. -->
         
    <dependency org="org.apache.gora" name="gora-hbase" rev="0.5" conf="*->default" /> 
    

3.4 确保HBaseStore被设置为默认的datastore
编辑 $NUTCH_HOME/conf/nutch-site.xml
gora.datastore.default=org.apache.gora.hbase.store.HBaseStore

3.5 其他配置
3.5.1 如果编译过程比较长,建议修改ivy中配置的maven仓库地址
编辑 $NUTCH_HOME/ivy/ivysettings.xml
找到这段代码:
 <property name="repo.maven.org"
    value="http://repo1.maven.org/maven2/"
    override="false"/>
替换为:
  <property name="repo.maven.org"
    value="http://maven.oschina.net/content/groups/public/"
    override="false"/>
即,将默认的maven中央库地址 http://repo1.maven.org/maven2/  替换成国内OSC提供的镜像:http://maven.oschina.net/content/groups/public/ 。

3.5.2 sonar-ant-task-2.1.jar相关
·下载 sonar-ant-task-2.1.jar,将其拷贝到 $NUTCH_HOME/lib 目录下面;
·修改 $NUTCH_HOME/build.xml,引入上面添加的jar包。
 <!-- ================================================================== -->
 <!-- SONAR targets -->
 <!-- ================================================================== -->

 <!-- Define the Sonar task if this hasn't been done in a common script -->
 <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
  <classpath path="${ant.library.dir}" />
  <classpath path="${mysql.library.dir}" />
  <classpath><fileset dir="lib/" includes="sonar*.jar" /></classpath>
 </taskdef>

3.6 [可选] 安装ant
由于本机环境干净,需要安装ant。
$ sudo apt-update
$ sudo apt-get install ant

3.7 编译
$ ant runtime

在编译最后如果有BUILD SUCCESSFUL,说明编译成功,若提示信息为BUILD FAILED,则说明编译失败,需要根据编译过程中输出的信息查找错误原因。 
编译完之后,会新增build和runtime两个目录。

4. 集成Solr

由于建索引的时候需要使用Solr,因此我们需要安装并启动一个Solr服务器。

4.1 下载并解压

选择 Solr的下载站点,从该站点下载Solr-4.10.4.tgz,并解压到当前目录。这里是 其他Solr版本
需要注意的是,我是昨天晚上(2015.08.20)进入的solr的官网下载solr,结果发现了刚好出了新的版本Solr-5.3.0 (2015.08.20 17:33),就尝试了下新的Solr。发现它和之前4.x的版本差别比较大。4.x版本的启动方式如下,而5.3.0版本的启动方式为
$ ./bin/solr start
和现在大家用的这些比如HBase、Nutch什么的启动方式很像。但是遗憾的是,我没有调试成功与Solr-5.3.0的集成。

$ tar -zxvf solr-4.10.4.tgz
$ cd solr-4.10.4

4.2 尝试启动Solr
$ cd example/
$ java -jar start.jar

4.3 访问  http://localhost:8983/solr/

4.4 集成Solr
4.4.1 备份Solr example下的schema.xml
#mv ${SOLR_HOME}/example/solr/collection1/conf/schema.xml ${SOLR_HOME}/example/solr/collection1/conf/schema.xml.bak

4.4.2 复制Nutch运行目录下的schema.xml到Solr example目录下。这里${NUTCH_RUNTIME_HOME}指/root/nutch/apache-nutch-2.3/runtime/local
#cp ${NUTCH_RUNTIME_HOME}/conf/schema.xml  ${SOLR_HOME}/example/solr/collection1/conf/

4.4.3重启Solr

进入 $SOLR_HOME/example目录,执行:
$ java -jar start.jar
重新启动Solr。

5. 开心使用Nutch来爬取^_^~


参考文章


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值