Rumah pangkalan data tutorial mysql Ubuntu12.04+Nutch2.2.1+MySQL 配置笔记

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

Jun 07, 2016 pm 03:24 PM
perlawanan

日期: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
Salin selepas log masuk

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

CREATE DATABASE nutch DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8;
Salin selepas log masuk
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;
Salin selepas log masuk
注:表中的字段根据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>
Salin selepas log masuk
<span><dependency org="org.apache.gora" name="gora-sql" rev="0.1.1-incubating" conf="*->default"></dependency></span>
Salin selepas log masuk

修改以下行:

<pre class="brush:php;toolbar:false"><span><dependency org="org.apache.gora" name="gora-core" rev="0.3" conf="*->default"></dependency></span>
Salin selepas log masuk
为:

<span><dependencyorg name="gora-core"><span>rev="0.2.1"</span>conf="*->default"/></dependencyorg></span>
Salin selepas log masuk

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密码)
Salin selepas log masuk

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>
Salin selepas log masuk
特别需要注意,本人在配置过程中也遇到了:
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>
Salin selepas log masuk
解决办法就是在上述文件中另外添加一个属性:
<property>

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

    <value>*</value>

</property>
Salin selepas log masuk
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
Salin selepas log masuk
执行爬取操作
bin/nutchcrawl urls -depth 5   -topN 10
Salin selepas log masuk

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






Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kad grafik terbaik untuk i7 3770? Apakah kad grafik terbaik untuk i7 3770? Dec 29, 2023 am 09:12 AM

Apakah kad grafik yang baik untuk Core i73770 ialah kad grafik yang sangat berkuasa dengan prestasi cemerlang dan teknologi canggih. Sama ada anda bermain permainan, memaparkan grafik atau melakukan pembelajaran mesin, RTX3070 boleh mengendalikannya dengan mudah. Ia menggunakan seni bina Ampere NVIDIA, mempunyai teras CUDA 5888 dan memori GDDR6 8GB, yang boleh memberikan pengalaman permainan yang lancar dan kesan grafik berkualiti tinggi. RTX3070 juga menyokong teknologi pengesanan sinar, yang boleh memberikan kesan cahaya dan bayang yang realistik. Secara keseluruhannya, RTX3070 ialah kad grafik yang berkuasa dan canggih yang sesuai untuk mereka yang mengejar prestasi tinggi dan kualiti tinggi. RTX3070 ialah kad grafik siri NVIDIA. Menggunakan NVID generasi ke-2

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

i73770 dengan rx5600xt Oleh kerana kad grafik RX5600XT dipadankan dengan R53600CPU, kami memilih i7-3770. Keputusan penilaian kad grafik RX5600XT adalah seperti berikut: Kad grafik RX5600XT ialah kad grafik yang sangat baik dan berprestasi sangat baik selepas ujian. Ia menggunakan seni bina RDNA AMD, mempunyai memori video 6GBGDDR6 dan antara muka memori 192-bit, menyokong bas PCIe4.0, dan mempunyai prestasi permainan yang sangat baik. Dalam semua ujian, kad grafik RX5600XT menunjukkan prestasi yang baik. Pada resolusi tinggi, ia memberikan pengalaman permainan yang lancar dan mengekalkan kadar bingkai melebihi 60 FPS dalam kebanyakan permainan. Dalam permainan terkini, ia juga boleh memberikan yang baik

Adakah ia sesuai untuk memadankan 11600kf dengan 3070? Adakah ia sesuai untuk memadankan 11600kf dengan 3070? Jan 02, 2024 am 11:54 AM

Adakah munasabah untuk memadankan 13600kf dengan 3070 "Perkataan Bermain dengan Bunga" ialah permainan teka-teki teks yang popular dengan tahap baharu yang dikemas kini setiap hari. Antaranya Nostalgia Cleaning merupakan salah satu peringkat yang memerlukan pemain mencari 12 tempat dalam gambar yang tidak padan dengan zaman. Hari ini, saya akan berkongsi dengan anda strategi untuk membersihkan tahap pembersihan nostalgia "Word Play Flowers", supaya pemain yang belum membersihkan tahap akan mengetahui kaedah operasi tertentu. Jika ia digunakan untuk bermain permainan, maka tidak ada perbezaan antara I513600KF dan I713700KF dari segi pengalaman permainan Dalam kes ini, pilih sahaja I513600KF untuk CPU. Untuk kad grafik, anda boleh memilih RTX3070. Perlu diingatkan bahawa permainan yang berbeza mempunyai keperluan perkakasan yang berbeza Jika si comel hanya bermain DOTALO

Bagaimana untuk memilih aksesori komputer papan induk yang betul untuk meningkatkan prestasi komputer Xiaomi? Bagaimana untuk memilih aksesori komputer papan induk yang betul untuk meningkatkan prestasi komputer Xiaomi? Dec 28, 2023 am 10:11 AM

Papan induk manakah yang lebih baik untuk komputer Xiaomi Dalam era perkembangan pesat teknologi maklumat hari ini, komputer telah menjadi salah satu alat yang sangat diperlukan dalam kehidupan manusia. Apabila memilih komputer, motherboard adalah salah satu komponen yang paling penting. Sebagai sebuah syarikat teknologi yang terkenal, Xiaomi juga telah melancarkan satu siri produk komputer berprestasi tinggi. Jadi, apakah jenis motherboard yang harus dipilih oleh Xiaomi? Artikel ini akan menghuraikan prestasi dari pelbagai aspek seperti prestasi, kestabilan, skalabiliti dan reputasi jenama Prestasi adalah salah satu pertimbangan yang paling penting semasa memilih papan induk. Komputer mewah Xiaomi mempunyai konfigurasi tertinggi, jadi anda perlu memilih papan induk dengan prestasi yang berkuasa untuk dipadankan. Kami boleh mempertimbangkan untuk memilih papan induk yang menyokong pemproses generasi terkini, seperti pemproses Teras generasi ke-10 Intel. Memori papan induk dan pengembangan storan

Papan induk manakah yang sesuai untuk Core generasi ke-10 i5_mx330? Papan induk manakah yang sesuai untuk Core generasi ke-10 i5_mx330? Dec 27, 2023 pm 02:17 PM

1. Gambaran keseluruhan casis MX330 MX330 ialah casis pertengahan menara yang dihasilkan oleh Shenzhen Hangjia Technology Co., Ltd. Ia mempunyai penampilan yang ringkas dan elegan serta diperbuat daripada plat keluli berkualiti tinggi. Ia mempunyai prestasi penyejukan dan kebolehskalaan yang sangat baik, dan sangat sesuai untuk digunakan dengan papan induk dan pemproses berprestasi tinggi 2. Pengenalan kepada pemproses Core 10th Generation i5 Pemproses Core 10th Generation i5 ialah pemproses berprestasi tinggi yang dilancarkan oleh Intel proses, ia mempunyai frekuensi yang lebih tinggi dan penggunaan kuasa yang lebih rendah. Ia mempunyai keupayaan pemprosesan berbilang teras yang berkuasa dan teknologi pecutan pintar, yang boleh memenuhi keperluan penggunaan harian dan keperluan permainan ringan kebanyakan pengguna. 3. Prestasi pelesapan haba casis MX330 Reka bentuk casis MX330 menggunakan gaya grid serba hitam Ia dilengkapi dengan lubang jejaring yang luas di bahagian hadapan dan atas.

CPU minimum yang disyorkan sesuai untuk papan induk 1150 CPU minimum yang disyorkan sesuai untuk papan induk 1150 Jan 04, 2024 pm 09:22 PM

Apabila memilih unit pemprosesan pusat (CPU) spesifikasi minimum, adalah penting untuk mengimbangi kemampuan dengan keperluan asas. Bagi pengguna yang menggunakan papan induk 1150, memilih CPU konfigurasi minimum yang sesuai boleh memenuhi keperluan kerja pejabat harian, pelayaran web dan hiburan ringan. Artikel ini akan mengesyorkan beberapa CPU yang sesuai untuk anda dari segi prestasi, harga, penggunaan kuasa dan skalabiliti Antara pilihan CPU berprestasi terendah, prestasi adalah pertimbangan penting. Untuk pejabat am dan pengguna hiburan ringan, pemproses empat teras sudah cukup untuk memenuhi keperluan. Siri i3 Intel dan siri PentiumG kedua-duanya adalah pilihan yang baik. Siri i3 mempunyai prestasi yang lebih tinggi dan cache yang lebih besar, sesuai untuk mengendalikan aplikasi berbilang tugas dan berbilang benang. Siri PentiumG ialah

Pilih tetikus yang sesuai untuk komputer riba anda Pilih tetikus yang sesuai untuk komputer riba anda Jan 02, 2024 pm 09:54 PM

Apakah jenis tetikus yang harus saya gunakan dengan komputer riba saya. Sebaik-baiknya menggunakan tetikus wayarles. 1. Tetikus wayarles tidak mempunyai masalah wayar berselirat, menjadikan operasi lebih mudah. 2. Dilengkapi dengan tetikus tanpa wayar, anda boleh mengelakkan kabel bersepah dan memberikan lebih kebebasan apabila bergerak. 3. Tidak perlu menggunakan kabel untuk menyambungkan tetikus wayarles ke buku nota, dan kabel tidak akan mudah tercabut, menjadikan pengalaman penggunaan lebih baik. 4. Dalam situasi seperti perjalanan perniagaan, tetikus wayarles lebih mudah dibawa. Apabila menggunakan tetikus dengan komputer riba, anda harus memilih tetikus tanpa wayar. Oleh kerana tetikus wayarles tidak memerlukan kabel, ia lebih mudah digunakan dan boleh mengelakkan kusut dalam kabel. Pada masa yang sama, sensitiviti dan kelajuan tindak balas tetikus wayarles adalah lebih baik daripada tetikus berwayar, yang boleh meningkatkan kecekapan kerja. Jika anda perlu menggunakannya untuk masa yang lama, disyorkan untuk memilih pengecasan

Adakah ia sesuai untuk memasangkan i56500 dengan GTX1070 (Adakah sesuai untuk memasangkan i56500 dengan GTX1070) Adakah ia sesuai untuk memasangkan i56500 dengan GTX1070 (Adakah sesuai untuk memasangkan i56500 dengan GTX1070) Jan 08, 2024 am 08:25 AM

Adakah sesuai untuk memasangkan i56500 dengan GTX1070 Jika anda ingin lebih serius, jawapannya adalah tidak. Tetapi berdasarkan keadaan sebenar, kombinasi ini tidak ada masalah. Kenapa kata tidak? Kerana untuk permainan bersendirian berskala besar yang memerlukan lebih banyak konfigurasi sekarang, jika anda menggunakan i76700k atau i56500 dengan gtx1070, dan konfigurasi serta tetapan lain adalah sama, kadar bingkai biasanya berbeza dan kadar bingkai 6700k akan cenderung lebih tinggi. Sebenarnya, ini lebih seperti prinsip setong Ia bukan persoalan sama ada anda mampu membelinya atau tidak Kuncinya terletak pada seberapa tinggi permintaan untuk CPU dalam permainan itu kebanyakan permainan, kadar bingkai sudah cukup mengagumkan dan mampu memberikan pengalaman permainan yang hebat, jadi sesuatu seperti ini

See all articles