nutch-2.2.1 hadoop-1.2.1 hbase-0.92.1 集群部署(实用)
原文地址: 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

nutch-2.2.1 hadoop-1.2.1 hbase-0.92.1 集群部署(实用)的更多相关文章
- Hadoop数据分析平台项目实战(基于CDH版本集群部署与安装)
1.Hadoop的主要应用场景: a.数据分析平台. b.推荐系统. c.业务系统的底层存储系统. d.业务监控系统. 2.开发环境:Linux集群(Centos64位)+Window开发模式(win ...
- Hadoop 2.6.0 集群部署
Hadoop的集群部署和单节点部署类似,配置文件不同,另外需要修改网络方面的配置 首先,准备3台虚拟机,系统为CentOS 6.6,其中一台为namenode 剩余两台为 datanode: 修改主机 ...
- 基于Hadoop 2.2.0的高可用性集群搭建步骤(64位)
内容概要: CentSO_64bit集群搭建, hadoop2.2(64位)编译,安装,配置以及测试步骤 新版亮点: 基于yarn计算框架和高可用性DFS的第一个稳定版本. 注1:官网只提供32位re ...
- Hadoop实战:Hadoop分布式集群部署(一)
一.系统参数优化配置 1.1 系统内核参数优化配置 修改文件/etc/sysctl.conf,使用sysctl -p命令即时生效. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- Hadoop系列之(二):Hadoop集群部署
1. Hadoop集群介绍 Hadoop集群部署,就是以Cluster mode方式进行部署. Hadoop的节点构成如下: HDFS daemon: NameNode, SecondaryName ...
- Hadoop(HA)分布式集群部署
Hadoop(HA)分布式集群部署和单节点namenode部署其实一样,只是配置文件的不同罢了. 这篇就讲解hadoop双namenode的部署,实现高可用. 系统环境: OS: CentOS 6.8 ...
- Hadoop分布式集群部署(单namenode节点)
Hadoop分布式集群部署 系统系统环境: OS: CentOS 6.8 内存:2G CPU:1核 Software:jdk-8u151-linux-x64.rpm hadoop-2.7.4.tar. ...
- Hadoop教程(五)Hadoop分布式集群部署安装
Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...
- Hadoop及Zookeeper+HBase完全分布式集群部署
Hadoop及HBase集群部署 一. 集群环境 系统版本 虚拟机:内存 16G CPU 双核心 系统: CentOS-7 64位 系统下载地址: http://124.202.164.6/files ...
- Hadoop记录-Apache hadoop+spark集群部署
Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...
随机推荐
- pycharm中使用redis模块入门
数据缓存系统:1:mongodb:是直接持久化,直接存储于硬盘的缓存系统2:redis: 半持久化,存储于内存和硬盘3:memcache:数据只能存储在内存里的缓存系统 redis是一个key-val ...
- 关于TP5中的依赖注入和容器和facade
看了不少的文章,也看了官方的介绍,还是根据自己的理解,写写看法,理清下思路 只是单纯的说依赖注入Dependency Injection和容器 别的不白扯 比如有A,B,C三个类 A类的1方法依赖B类 ...
- mock 的独立使用
public class Air21QueryMileStoneJobTest{ @InjectMocks Air21QueryMileStoneJob air21QueryMileStoneJob ...
- 在eclipse中使用maven
现在一般的eclipse工具中都自带的有maven插件,我们使用自带的即可,但需要修改二个参数 具体设置为: 1.设置Installations 2.设置user settings
- javascript数组操作(创建、元素删除、数组的拷贝)
这篇文章主要介绍了javascript数组操作,包括创建.元素的访问.元素删除.数组的拷贝等操作,还有其它示例,需要的朋友可以参考下 1.数组的创建 复制代码 代码如下: var arrayObj = ...
- MyEclipse10.0 配置 Tomcat1.7
1 首先 从网上下载Tomcat1.7,然后放到本机目录. 2 然后在MyEclipse10.0菜单Preferences 指向Tomcat的路径,我本机路径是 D:\Program Files (x ...
- Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像。
背景:Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像. 原文地址 https://github.com/weibaohui/springboot ...
- linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)
开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限.主流的有两种方法,改表法和授权法.相对而言,改表法 ...
- 此实现不是Windows平台FIPS验证的加密算法的一部分
运行wpf程序,出现错误“此实现不是Windows平台FIPS验证的加密算法的一部分”. 解决方法: 1.在window中打开功能里输入regedit,回车打开注册器: 2.进入如下路径中 HKEY_ ...
- A survey of best practices for RNA-seq data analysis RNA-seq数据分析指南
A survey of best practices for RNA-seq data analysis RNA-seq数据分析指南 内容 前言 各位同学/老师,大家好,现在由我给大家讲讲我的文献阅读 ...