nutch-2.2.1 hadoop-1.2.1 hbase-0.92.1 集群部署

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为中国PE第一股,市值超1000亿元。 

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

 

原文地址: http://www.cnblogs.com/i80386/p/3540389.html

参考网站:
http://blog.csdn.net/weijonathan/article/details/10178919 一个完整的部署过程,只是版本有所区别
http://m.blog.csdn.net/blog/WeiJonathan/9251597 杨尚川的博客(nutch 分布式运行)
http://qindongliang1922.iteye.com/blog/1977053 三劫散仙博客(如何部署hbase)
http://wiki.apache.org/nutch/Nutch2Tutorial 官网

一:nutch2.x与nutch1.x的主要区别:数据访问层的抽象
nutch 2.x----gora-core-0.3----gora-hbase----hbase

gora-core-0.3 apache-gora提供了对nosql访问的统一接口。(注解:在上述链接里可以看到对其他数据库的支持)
gora-hbase 针对hbase实现了gora的接口

 

:
有了这两步nutch2.x就可以运行在Hbase上了。
支持nosql的优势:
当获取了外链要进行url排重的时候,以前基于hdfs的时候是读取之前全部的url用mapreduce实现排重(好沉重的赶脚),支持了nosql只需要一步查找即可。

二:准备材料

hadoop-1.2.1 http://archive.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz
hbase-0.92.1 http://archive.apache.org/dist/hbase/hbase-0.92.1/hbase-0.92.1.tar.gz
nutch-2.2.1 http://archive.apache.org/dist/nutch/2.2.1/apache-nutch-2.2.1-src.tar.gz

 

 

 

使用wget下载。

三:安装hadoop(略)
我这里做了2个机器的hadoop集群,如下所示:

192.168.2.51 Master.Hadoop
192.168.2.52 Slave1.Hadoop


 
 

四:安装Hbase(第一次配置简单点,使用自带的zookeeper)
将hbase拷贝到Hadoop根目录下 参考命令:

cp hbase-0.92.1.tar.gz /home/hadoop-1.2.1/ (之所以这样做可以方便以后扩展hadoop集群,直接scp就行了)

 

解压并重命名 参考命令:

tar -zxvf hbase-0.92.1.tar.gz
mv hbase-0.92.1 hbase
cd hbase 

 

修改 hbase-env.sh,参考配置:

# The java implementation to use. Java 1.6 required.
# export JAVA_HOME=/usr/java/jdk1.6.0/ 
export JAVA_HOME=/usr/java/jdk 注解:设置java_home
export HBASE_CLASSPATH=/home/hadoop-1.2.1/conf 
export HBASE_MANAGES_ZK=true
...
# The directory where pid files are stored. /tmp by default. 
export HBASE_PID_DIR==/home/hadoop-1.2.1/hbase/pids (注解:这个最好不要采用默认,放在/tmp很不安全,有可能被误删)

 


修改hbase-site.xml,参考配置:

<configuration>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://Master.Hadoop:9000/hbase</value> // 注解:这里与hadoop的hdfs建立了联系,如果你hadoop dfs -ls 发现没有hbase这个文件夹,
  </property> 运行:hadoop dfs -ls /hbase
  <property>
    <name>hbase.master</name>
    <value>192.168.2.51:60000</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>192.168.2.52</value>
  </property>
</configuration>

 

vim regionservers 参考配置:

192.168.2.51
192.168.2.52

 

hadoop版本一致化:(版本不一致会出现异常)

cp /home/hadoop-1.2.1/hadoop-core-1.2.1.jar /home/hadoop-1.2.1/hbase/lib/

 

并删除hbase自带的hadoop版本。

将配置好的hbase拷贝到slave节点(192.168.2.52)

cd /home/hadoop-1.2.1
scp -r hbase root@192.168.2.52:/home/hadoop-1.2.1/

 

启动hbase

cd /home/hbase/
bin/start-hbase.sh

 


启动成功,运行jps命令:

16572 Resin
30282 HMaster
5275 NameNode
5563 JobTracker
5461 SecondaryNameNode
5886 Jps
30470 HRegionServer

 


其中HMaster即hbase的主进程。


五:安装nutch
解压(注:这个不需要解压到hadoop根目录,因为nutch是才操作hadoop的,在master上有就可以了)

cd /home/
tar -zxvf apache-nutch-2.2.1-src.tar.gz //将nutch解压到home下

 

vim /home/nutch-2.2.1/ivy/ivy.xml

 

将此行的注释去掉 <dependency org="org.apache.gora" name="gora-core" rev="0.3" conf="*->default"/> 
将hbase-site.xml拷贝到nutch的配置文件(建立与hbase的联系???)
ant 注解:编译过程很慢,会去加载大量的jar包。
注入种子:

mkdir urls
vim seed.txt
http://news.163.com/
http://www.gov.cn/
http://www.sbsm.gov.cn/
http://news.stnn.cc/china/
http://www.zaobao.com/wencui/social
http://www.xinhuanet.com/politics/1.htm
http://news.china.com.cn/shehui/node_7185045.htm

 

上传的hdfs,完成种子url的注入

hadoop dfs -put urls urls

 

修改采集规则:

regex-urlfilter.txt 
# accept anything else
+^http://news.163.com/
+^http://www.sbsm.gov.cn/
+^http://www.gov.cn/
+^http://news.stnn.cc/china/
+^http://www.zaobao.com/wencui/social
+^http://www.xinhuanet.com/politics
+^http://news.xinhuanet.com/politics/\d+-\d+/\d+/c_\d+.htm
+^http://news.china.com.cn/\d+-\d+/\d+/content_\d+.htm
+^http://news.china.com.cn/shehui/node_\d+(_\d+)?.htm

 

注解:conf 下面的配置文件都会被打包到ant后生成的job文件中,所以这里要提前修改(以后要是要注入新的采集规则需要解压job文件修改)
修改配置(集群环境运行)

cd runtime/deploy 
unzip -d apache-nutch-2.2.1 apache-nutch-2.2.1.job 
rm apache-nutch-2.2.1.job 
cd apache-nutch-2.2.1 
rm lib/hbase-***.jar 
cp /home/hadoop-1.2.1/hbase/hbase-0.92.1.jar lib 
zip -r ../apache-nutch-2.1.job ./* 
cd .. 
rm -r apache-nutch-2.1 

 

运行命令:

cd runtime/deploy/bin
vim nutch 阅读shell发现:
# figure out which class to run
if [ "$COMMAND" = "crawl" ] ; then
class="org".apache.nutch.crawl.Crawler

 

发现crawl命令运行Crawler类

vim org.apache.nutch.crawl.Crawler (参考这个命令找到那个Crawler类)

 

得到命令格式为:

System.out.println("Usage: Crawler (<seedDir> | -continue) [-solr <solrURL>] [-threads n] [-depth i] [-topN N] [-numTasks N]");
cd /runtime/deploy

 

于是运行如下命令:

bin/nutch crawl urls -topN 1000 -depth 50

 

如果运气足够好,你会在Hbase shell 后 list 后 发现一个 'webpage' 表

附本人配置时候设置的 /etc/profile:

#java
export JAVA_HOME=/usr/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#hadoop
export HADOOP_HOME=/home/hadoop-1.2.1
export PATH=$PATH:$HADOOP_HOME/bin

#zookeeper
export ZOOKEEPER_HOME=${HADOOP_HOME}/zookeeper
export PATH=${PATH}:${ZOOKEEPER_HOME}/bin

#hbase
export HBASE_HOME=/home/hadoop-1.2.1/hbase
export PATH=$PATH:$HBASE_HOME/bin
export CLASSPATH=$CLASSPATH:$HBASE_HOME/lib

#nutch 2.2
export NUTCH_HOME=/home/hadoop-1.2.1/nutch/runtime/local

 

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
91 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
70 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
33 3
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
75 2
|
1月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
53 2
|
5月前
|
分布式计算 资源调度 Hadoop
大数据Hadoop集群部署与调优讨论
大数据Hadoop集群部署与调优讨论
|
5月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储HBase设计目的
【6月更文挑战第2天】
62 6
|
5月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase高可靠性
【6月更文挑战第2天】
91 2
|
5月前
|
存储 分布式计算 Hadoop
Hadoop节点文件存储Hbase面向列
【6月更文挑战第2天】
41 2