Nutch环境搭建
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环境搭建的更多相关文章
- Nutch1.7学习笔记:基本环境搭建及使用
Nutch1.7学习笔记:基本环境搭建及使用 作者:雨水,时间:2013-10-31博客地址:http://blog.csdn.net/gobitan 说明:Nutch有两个主版本1.x和2.x,它们 ...
- 一、hadoop 及 hadoop的环境搭建
一.Hadoop引言 Hadoop是在2006年雅虎从Nutch(给予Java爬虫框架)工程中剥离一套分布式的解决方案.该方案参考了Goggle的GFS(Google File System)和Map ...
- 01-Hadoop概述及基础环境搭建
1 hadoop概述 1.1 为什么会有大数据处理 传统模式已经满足不了大数据的增长 1)存储问题 传统数据库:存储亿级别的数据,需要高性能的服务器:并且解决不了本质问题:只能存结构化数据 大数据存储 ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
随机推荐
- jQuery插件之validate
一.jQuery.validate.js插件用于对表单输入进行验证,其使用配置非常简单.支持多事件触发,自带多种验证规则,还支持自定义验证规则. 1.配置方法. 先导入jQuery库,然后导入Vali ...
- iOS开发之property属性介绍
大家都知道@property和@synthesize可以自动生成某个类成员变量的存取方法,但可能对property中的一些属性不是很了解,网上的一些介绍有的不是很正确,感觉会误导新手,于是准备详细介绍 ...
- 2014第一周五开发问题记URL传参乱码等
今天修改了页面中URL传中文参数乱码问题,本来远离通过在tomcat中配置URIEncoder是可以解决所有乱码问题的,但怕以后有人下载一个新的tomcat然后直接把程序放里面运行然后再发现乱码问题而 ...
- Grid++Report支持CS/BS模式的表报插件
Grid++Report 可用于开发桌面C/S报表与WEB报表(B/S报表),C/S报表开发适用于VB.NET.C#.VB.VC.Delphi等.WEB报表开发适用于ASP.ASP.NET.JSP/J ...
- Binary Tree Level Order Traversal 解答
Question Given a binary tree, return the level order traversal of its nodes' values. (ie, from left ...
- XMPP通讯开发-1
有关XMPP的相关知识这里就不讲解了,网上有很多,这里我使用的NetBeans+Openire+smack搭建一个以XMPP协议的通讯工具,对于这部分知识我也不是很了解,也是初识吧,可能有些概念会混淆 ...
- Django的安装配置和开发
参考:<Django Web开发指南> Django的安装配置 1.https://www.djangoproject.com/download/下载Django-1.5.1.tar.gz ...
- function overloading/ declare function
Declare a function To declare a function without identifying the argument list, you can do it in thi ...
- @Override报错的解决方法
有时候Java的Eclipse工程换一台电脑后编译总是@override报错,把@override去掉就好了,但不能从根本上解决问题,因为有时候有@override的地方超级多. 这是jdk的问题,@ ...
- Router和History (路由控制)-backbone
Router和History (路由控制) Backbone.Router担任了一部分Controller(控制器)的工作,它一般运行在单页应用中,能将特定的URL或锚点规则绑定到一个指定的方法(后文 ...