1. 环境准备

HOST:Ubuntu12.04LTS

JDK: jdk-7u45-linux-i586.rpm

Nutch:apache-nutch-1.7-bin.tar.gz

Solr:solr-4.6.0-src.tgz

工作目录: /home/zephyr/

 

1.1JDK安装

为了下载快点,一下脑残下了rpm.

可Ubuntu上没有rpm工具apt-get install rpm 后rpm -ivh jdk-7u45-linux-i586.rpm

提示要使用alien

apt-get install alien alien -i jdk-7u45-linux-i586.rpm

alien -d jdk-7u45-linux-i586.rpm 生成deb文件 不可用

无奈,重新使用apt-get install oracle-java7-installer* 直接使用失败

add-apt-repository ppa:webupd8team/java

apt-get update

apt-get install oracle-java7-installer

到/etc/profile 文件的最后增加上以下几行

export JAVA_HOME=/usr/java/jdk1.7.0_45

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

export NUTCH_HOME=/home/zephyr/apache-nutch-1.7

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$NUTCH_HOME/bin:$PATH

 

1.2Tomcat安装

apt-get install tomcat7 下载tomcat

修改tomcat的端口使用情况为

vi /etc/tomcat7/server.xml

<Connector port="8088" protocol="HTTP/1.1"

connectionTimeout="20000"

URIEncoding="UTF-8"

redirectPort="8443" />

/etc/init.d/tomcat7 start

 

1.3Nutch 安装

工作目录下解压 tar xzvf apache-nutch-1.7-bin.tar.gz

测试Nutch 是否能正常工作

在urls目录touch一个seed.txt echo http://nutch.apache.org/ >> seed.txt

修改conf/regex-urlfilter.txt

   # accept anything else

     +.

   +^http://([a-z0-9]*\.)*nutch.apache.org/

编辑conf/nutch-site.xml

<property>
 <name>http.agent.name</name>
 <value>My Nutch Spider</value>
</property>
.nutch crawl ../urls -dir ../test -depth 1 -topN 10

报错

java/lang/NoClassDefFoundError: java/lang/Object

Exception in thread "main" java.lang.InternalError: internal error: SHA-1 not available

修正JDK

cd /usr/java/jdk1.7.0_45/lib 将pack结尾的文件都转成 jar 如:unpack200 tools.pack tools.jar

/usr/java/jdk1.7.0_45/jre/lib 也做相同操作

再操作成功。

 

1.4 Solr安装

tar xzvf solr-4.6.0-src.tgz

ivy未安装,先安装ivy, apt-get install ivy

ant compile 失败,修正ln -s -T /usr/share/java/ivy.jar /usr/share/ant/lib

/ivy.jar 编译无响应

tar xzvf solr-4.6.0.tgz

把Solr 预设的core 范例collection1 复制为core-nutch

把Nutch 提供的conf/schema-solr4.xml 覆盖掉Solr core-nutch 的conf/schema.xml

将Solr core-nutch conf/schema.xml补上一行漏掉的栏位设定<field name=”_version_” type=”long” stored=”true” indexed=”true” multiValued=”false”/>

将core.properties中的name 改为 core-nutch

nutch crawl /home/zephyr/apache-nutch-1.7/urls -solr http://192.168.153.128:8983/solr/core-nutch/ -threads 20 -depth 1 -topN 10

也可以使用nutch solrindex http://192.168.153.128:8983/solr/core-nutch/ /home/zephyr/apache-nutch-1.7/test/crawldb -linkdb /home/zephyr/apache-nutch-1.7/test/linkdb/ /home/zephyr/apache-nutc

h-1.7/test/segments/*

 

1.5 solr通过tomcat7部署

apt-get install tomcat7-admin

/etc/tomcat7编辑tomcat-users.xml

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>

cp /home/zephyr/solr-4.6.0/example/webapps/solr.war /var/lib/tomcat7/webapps/solr.war

cp –r /home/zephyr/solr-4.6.0/example/solr /var/lib/tomcat7/solr

cd /var/lib/tomcat7/conf/Catalina/localhost

vi solr.xml

<Context docBase="/var/lib/tomcat7/webapps/solr.war" debug="0" crossContext="true" >

   <Environment name="solr/home" type="java.lang.String" value="/var/lib/tomcat7/solr" override="true" />

</Context>

cp /home/zephyr/solr-4.6.0/example/lib/ext/*.jar /usr/share/tomcat7/lib

cp /home/zephyr/solr-4.6.0/example/resources/log4j.properties /usr/share/tomcat7/lib/

vi log4j.properties 修改 solr.log=/var/logs/tomcat7/

否则solr无法在tomcat启动

“One of the things about running Solr in a container other than the embedded Jetty is that we need to setup the logging. This step is crucial, without doing this solr will never start and you will pull all of your hair out trying to figure out why”

启动运行提示出错:

SolrCore 'collection1' is not available due to init failure: Index locked for write for core collection1

cd /var/lib/tomcat7/solr/ collection1

chown tomcat7 data -R

cd /var/lib/tomcat7/solr/core-nutch

chown tomcat7 data –R

 

1.6 Nutch添加中文支持

编辑/home/zephyr/apache-nutch-1.7/conf/nutch-site.xml

<property>

<name>http.accept.language</name>

<value>ja-jp, en-us, zh-cn,en-gb,en;q=0.7,*;q=0.3</value>

<description>Value of the “Accept-Language” request header field.

   This allows selecting non-English language as default one to retrieve.

   It is a useful setting for search engines build for certain national group.

</description>

</property>

Nutch环境搭建的更多相关文章

  1. Nutch1.7学习笔记:基本环境搭建及使用

    Nutch1.7学习笔记:基本环境搭建及使用 作者:雨水,时间:2013-10-31博客地址:http://blog.csdn.net/gobitan 说明:Nutch有两个主版本1.x和2.x,它们 ...

  2. 一、hadoop 及 hadoop的环境搭建

    一.Hadoop引言 Hadoop是在2006年雅虎从Nutch(给予Java爬虫框架)工程中剥离一套分布式的解决方案.该方案参考了Goggle的GFS(Google File System)和Map ...

  3. 01-Hadoop概述及基础环境搭建

    1 hadoop概述 1.1 为什么会有大数据处理 传统模式已经满足不了大数据的增长 1)存储问题 传统数据库:存储亿级别的数据,需要高性能的服务器:并且解决不了本质问题:只能存结构化数据 大数据存储 ...

  4. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  5. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  6. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  7. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  8. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  9. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

随机推荐

  1. usb mass storage之旅

    前面总结了usb hid keyboard,现在总结usb mass storage,在枚举阶段没什么好总结的,hid和mass storage差不多,都是同样的枚举过程,但是在他们的配置描述符.接口 ...

  2. WebSocket 简介

    在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API.WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术.这个新的API提供了一个方法 ...

  3. H.264 RTP 封包格式

    H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+      |0|1|2|3|4|5|6|7 ...

  4. bzoj1649 [Usaco2006 Dec]Cow Roller Coaster

    Description The cows are building a roller coaster! They want your help to design as fun a roller co ...

  5. 04747_Java语言程序设计(一)_第2章_运算和语句

    推荐使用f2 public class Aserver { public static void main(String args[]) { float f1 = (float) 12.345; fl ...

  6. Struts2+Spring+Ibatis集成合并

    上一篇博客讲述了Struts2+Spring的集成合并,主要是利用了一个中间jar包,这篇博客在加上Ibatis持久层框架,三个框架进行合并.其中Struts2和Spring部分和前边的一样,主要是讲 ...

  7. [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏]

    [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏] 原片名:The World at War  中文名:战争中的世界  导 演:Ted Childs, ...

  8. cocos2d-x结合cocosbuilder,不同屏幕适配小结

    这个问题搞了好几天才解决,在此总结一下: 首先约定只使用一套图片资源同时应用于iphon4和iphon5(测试过在ipad下也能显示正常), 这里我们将需要全屏显示的背景制作为iphon5的尺寸即:1 ...

  9. 初次使用Oracle

    这是我第一次写博客,主要是记录下自己这半个多月以来的学习笔记,以备以后可以随时查看. 首先就是安装Oracle的问题的,我系统是Win7 64位的,出现各种问题郁闷得不行,最终安装个Oracle102 ...

  10. DWZ在APS.NET WebForm中的使用(二)

    任何框架由于个人理解不到位或者框架自身的局限性,在项目实施中,大家或多或少都会遇到一些问题,下面我就讲述下我在使用DWZ开发过程中的几个问题.如有一点能帮助到你,这篇文章也算有存在的意义了. 1.树菜 ...