首頁 資料庫 mysql教程 Ubuntu12.04+Nutch2.2.1+MySQL 配置笔记

Ubuntu12.04+Nutch2.2.1+MySQL 配置笔记

Jun 07, 2016 pm 03:24 PM

日期:2013/10/13 系统 :Ubuntu12.04LTS JDK :1.7.0_21 Nutch :2.2.1 MySQL :5.5.32 ------------------------------------------------------------------------------------------------------------------------------------------------------------

    

日期:2013/10/13

系统:Ubuntu12.04LTS

JDK:1.7.0_21

Nutch:2.2.1

MySQL:5.5.32

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Pre1:安装配置OracleJDK

Pre2:安装配置MySQL      sudo apt-get install mysql-server,mysql-client

Pre3:安装配置Apache Ant  sudo apt-get install ant

Start:Ubuntu下搭建Nutch2.2.1,并以MySQL作为数据库,UTF-8为默认编码综合配置

     

Step1:MySQL配置

首先编辑 /etc/mysql/my.cnf 文件在[mysqld]下面添加以下内容:

innodb_file_format=barracuda
innodb_file_per_table=true
innodb_large_prefix=true
character-set-server=utf8
collation-server=utf8mb4_unicode_ci
max_allowed_packet=500M
登入後複製

然后创建数据库与数据表:

CREATE DATABASE nutch DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8;
登入後複製
CREATE TABLE `webpage` (
`id` varchar(767) NOT NULL,
`headers` blob,
`text` mediumtext DEFAULT NULL,
`status` int(11) DEFAULT NULL,
`markers` blob,
`parseStatus` blob,
`modifiedTime` bigint(20) DEFAULT NULL,
`score` float DEFAULT NULL,
`typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
`batchId` varchar(32) CHARACTER SET latin1 DEFAULT NULL, 
`baseUrl` varchar(767) DEFAULT NULL,
`content` longblob,
`title` varchar(2048) DEFAULT NULL,
`reprUrl` varchar(767) DEFAULT NULL,
`fetchInterval` int(11) DEFAULT NULL,
`prevFetchTime` bigint(20) DEFAULT NULL,
`inlinks` mediumblob,
`prevSignature` blob,
`outlinks` mediumblob,
`fetchTime` bigint(20) DEFAULT NULL,
`retriesSinceFetch` int(11) DEFAULT NULL,
`protocolStatus` blob,
`signature` blob,
`metadata` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
DEFAULT CHARSET=utf8;
登入後複製
注:表中的字段根据nutch的conf文件“gora-sql-mapping”进行设置。同时也可通过自动方式生成数据库和表:配置好“gora-sql-mapping”、“gora.properties”及其它文件后,首次通过运行”bin/nutchinject urls”即可自动生成数据库和表,不过或许在自动生成的时候你会遇到问题,不过没有关系,通过及时查看hadoop.log文件你便会发现很多问题(如下图之一)与MySQL支持的数据类型、数据长度有关,只需要根据日志提示做修改、调试(可借助navicat工具像SQLServer方便操作数据库),然后再重复自动生成过程,直到成功为止。


Step2:Nutch配置

获取Nutch2.2.1,从官网http://www.apache.org/dyn/closer.cgi/nutch/下载,然后解压至本地安装目录,如本地根目录为${APACHE_NUTCH_HOME}

 配置nutch对mysql的支持,修改${APACHE_NUTCH_HOME}/ivy/ivy.xml文件

将以下行的注释取消:

<dependency org="”mysql”" name="”mysql-connector-java”" rev="”5.1.18″" conf="”*-">default”/></dependency>
登入後複製
<span><dependency org="org.apache.gora" name="gora-sql" rev="0.1.1-incubating" conf="*->default"></dependency></span>
登入後複製

修改以下行:

<pre class="brush:php;toolbar:false"><span><dependency org="org.apache.gora" name="gora-core" rev="0.3" conf="*->default"></dependency></span>
登入後複製
为:

<span><dependencyorg name="gora-core"><span>rev="0.2.1"</span>conf="*->default"/></dependencyorg></span>
登入後複製

Step3:数据库连接配置

编辑${APACHE_NUTCH_HOME}/conf/gora.properties文件,注释掉默认的数据库连接配置,同时添加以下配置内容:

###############################
#  MySQL configure   #
###############################
gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
gora.sqlstore.jdbc.url=jdbc:mysql://localhost:3306/nutch?createDatabaseIfNotExist=true
gora.sqlstore.jdbc.user=xxxx(MySQL用户名)
gora.sqlstore.jdbc.password=xxxx(MySQL密码)
登入後複製

Step4:数据表映射配置

修改${APACHE_NUTCH_HOME}/conf/gora.properties文件,这里的修改建议按照前面介绍的自动生成数据表的方法进行修改,网上说的要将primarykey的长度从512修改成767,即:

改:  为:

Step5:nutch-site.xml配置

添加以下配置:

<property>
	<name>http.agent.name</name>
	<value>Your Nutch Spider</value>
</property>
<property>
	<name>http.accept.language</name>
	<value>zh-cn, en-us,en-gb,en;q=0.7,*;q=0.3</value>
	<description>*</description>
</property>
<property>
	<name>parser.character.encoding.default</name>
	<value>utf-8</value>
	<description>*</description>
</property>
<property>
	<name>storage.data.store.class</name>
	<value>org.apache.gora.sql.store.SqlStore</value>
	<description>*</description>
</property>
登入後複製
特别需要注意,本人在配置过程中也遇到了:
java.lang.NullPointerException 
at org.apache.avro.util.Utf8.<init>(Utf8.java:37) 
at org.apache.nutch.crawl.GeneratorReducer.setup(GeneratorReducer.java:100) 
at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174) 
at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) 
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:418) 
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:398) </init>
登入後複製
解决办法就是在上述文件中另外添加一个属性:
<property>

    <name>generate.batch.id</name>

    <value>*</value>

</property>
登入後複製
Step6:使用ant 构建Nutch

(关于ant的命令,这里就不说明了),只需要切换到${APACHE_NUTCH_HOME}下执行ant clean 然后ant 即可。构建完毕后会在${APACHE_NUTCH_HOME}目录下生成runtime 文件夹。

Step:7 网页抓取,种子配置

创建种子文件

cd${APACHE_NUTCH_HOME}/runtime/local 
mkdir -p urls 
echo 'http://www.sina.com.cn' > urls/seed.txt
echo 'http://www.ifeng.com' > urls/seed.txt
登入後複製
执行爬取操作
bin/nutchcrawl urls -depth 5   -topN 10
登入後複製

至此,已经完成了基本的配置。






本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

i7 3770的最佳搭配顯示卡是什麼? i7 3770的最佳搭配顯示卡是什麼? Dec 29, 2023 am 09:12 AM

酷睿i73770配什麼顯卡好啊RTX3070是一款非常強大的顯示卡,它具有出色的性能和先進的技術。無論是玩遊戲、渲染圖形或是進行機器學習,RTX3070都能輕鬆應付。它採用了NVIDIA的Ampere架構,擁有5888個CUDA核心和8GB的GDDR6內存,能夠提供流暢的遊戲體驗和高品質的圖形效果。 RTX3070也支援光線追蹤技術,能夠呈現逼真的光影效果。總而言之,RTX3070是一款強大且先進的顯示卡,適合那些追求高效能和高品質的使用者使用。 RTX3070是一款NVIDIA系列的顯示卡。採用第2代NVID

i73770配rx5600xt(i73770配rx5600xt) i73770配rx5600xt(i73770配rx5600xt) Jan 04, 2024 am 11:26 AM

i73770配rx5600xt因為RX5600XT顯示卡與R53600CPU配套,所以我們選擇了i7-3770。 RX5600XT顯示卡的評測結果如下:RX5600XT顯示卡是一款性能優異的顯示卡,經過測試表現非常出色。它採用了AMD的RDNA架構,擁有6GBGDDR6記憶體和192-bit記憶體接口,支援PCIe4.0匯流排,具備卓越的遊戲效能。在各項測試中,RX5600XT顯示卡都表現優異。在高解析度下,它能夠提供流暢的遊戲體驗,並且在大多數遊戲中都能夠保持60幀以上的幀率。在最新的遊戲中,它也能夠提供很好的

11600kf搭配3070是否適合? 11600kf搭配3070是否適合? Jan 02, 2024 am 11:54 AM

13600kf配3070合理嗎《文字玩出花》是一款備受歡迎的文字解謎遊戲,每天都會更新新的關卡。其中,懷舊大掃除是其中一個關卡,要求玩家在圖中找出12個與年代不符的地方。今天,我將為大家分享《文字玩出花》懷舊大掃除關卡的通關攻略,讓還未通關的玩家們了解具體的操作方法。如果是用來玩遊戲,那麼I513600KF和I713700KF是對遊戲體驗沒什麼差別,這時候CPU選擇I513600KF就可以。顯示卡就可以選擇RTX3070啦。要注意的是,不同的遊戲對硬體需求也會不同,如果小可愛只是玩DOTALO

如何選擇合適的主機板電腦配件來提升小米電腦的效能? 如何選擇合適的主機板電腦配件來提升小米電腦的效能? Dec 28, 2023 am 10:11 AM

小米配什麼主機板電腦好些在當今資訊科技快速發展的時代,電腦已經成為人們生活中不可或缺的工具之一。而在選擇電腦時,主機板是其中最重要的組件之一。小米作為一家著名的科技公司,也推出了一系列高性能的電腦產品。那麼,小米該選擇什麼樣的主機板電腦呢?本文將從性能、穩定性、擴展性和品牌聲譽等多個方面進行詳細闡述性能性能是選擇主機板時最重要的考慮因素之一。小米的高階電腦配置最高,因此需要選擇一款性能強勁的主機板來搭配。我們可以考慮選擇一款支援最新一代處理器的主機板,例如英特爾的第十代酷睿處理器。主機板的記憶體和儲存擴展

酷睿10代i5適合搭配哪一台主機板_mx330? 酷睿10代i5適合搭配哪一台主機板_mx330? Dec 27, 2023 pm 02:17 PM

1.MX330機箱概述MX330是由深圳航嘉科技有限公司生產的中塔式機箱,外觀簡約大方,採用優質鋼板材質。它具備出色的散熱性能和可擴展性,非常適合與高性能的主機板和處理器搭配使用2.酷睿10代i5處理器介紹酷睿10代i5處理器是英特爾公司推出的一款高性能處理器,採用了10奈米製程,擁有更高的頻率和更低的功耗。它具備強大的多核心處理能力和智慧加速技術,能夠滿足大多數使用者日常使用的需求和輕度遊戲需求。 3.MX330機殼的散熱性能MX330機殼的設計採用了全黑格風格,前置和頂部都配備了大面積的網孔,可

建議適合1150主機板的最低配CPU 建議適合1150主機板的最低配CPU Jan 04, 2024 pm 09:22 PM

在選擇最低配置的中央處理器(CPU)時,平衡經濟實惠和基本需求非常重要。對於使用1150主機板的使用者來說,選擇一款適合的最低配置的CPU能夠滿足日常辦公室、網頁瀏覽和輕度娛樂的需求。本文將從效能、價格、功耗和擴展性等方面為您推薦幾款適合的CPU效能最低配CPU的選擇中,效能是一個重要的考量。對於一般辦公室和輕度娛樂用戶來說,四核心處理器已經足夠滿足需求。 Intel的i3系列和PentiumG系列都是不錯的選擇。 i3系列具有更高的效能和更大的緩存,適合處理多任務和多執行緒應用。而PentiumG系列則

選擇合適的滑鼠為筆記本配備 選擇合適的滑鼠為筆記本配備 Jan 02, 2024 pm 09:54 PM

筆記本配什麼滑鼠回最好是配上無線滑鼠。 1.無線滑鼠不會有線纏繞在一起的問題,操作更加方便。 2.配備無線滑鼠可避免電纜雜亂的場面,且移動時更自由。 3.無線滑鼠和筆記本之間不需要使用線纜來連接,也不會出現線材容易拔出的情況,使用體驗更佳。 4.在商務旅行等情況下,無線滑鼠更方便攜帶。滑鼠配合筆記本使用,應該選擇無線滑鼠。因為無線滑鼠不需要連接線,使用起來更方便,而且可以避免連接線的糾纏。同時,無線滑鼠的靈敏度和反應速度也比有線滑鼠更好,可以提高工作效率。如果需要長時間使用,建議選擇有充電

i56500配GTX1070合適嗎(i56500配gtx1070合適嗎) i56500配GTX1070合適嗎(i56500配gtx1070合適嗎) Jan 08, 2024 am 08:25 AM

i56500配GTX1070合適嗎如果要比較真的話,答案是不能。但是結合實際情況來看,這樣的搭配並沒有什麼問題。為什麼說不能呢?因為對於現在那些比較吃配置的大型單機遊戲來說,如果你用i76700k和i56500帶gtx1070,其他配置和設定都一樣的話,幀數通常會有所不同,6700k的幀數往往會更高一些。其實這更像是木桶原理,不是說你買得起還是買不起的問題,關鍵在於遊戲對cpu的需求有多高但考慮到i56500與gtx1070在大多數遊戲中的兼容性,幀率已經相當可觀,能夠提供出色的遊戲體驗,因此這樣的

See all articles