CN104050003B - 一种采用shell脚本启动Nutch采集系统的方法 - Google Patents

一种采用shell脚本启动Nutch采集系统的方法 Download PDF

Info

Publication number
CN104050003B
CN104050003B CN201410295739.XA CN201410295739A CN104050003B CN 104050003 B CN104050003 B CN 104050003B CN 201410295739 A CN201410295739 A CN 201410295739A CN 104050003 B CN104050003 B CN 104050003B
Authority
CN
China
Prior art keywords
nutch
node
namenode
variable
acquisition systems
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410295739.XA
Other languages
English (en)
Other versions
CN104050003A (zh
Inventor
戴鸿君
于治楼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201410295739.XA priority Critical patent/CN104050003B/zh
Publication of CN104050003A publication Critical patent/CN104050003A/zh
Application granted granted Critical
Publication of CN104050003B publication Critical patent/CN104050003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种采用shell脚本启动Nutch采集系统的方法,属于搜索引擎启动技术领域,基于Nutch的服务器上,对Nutch采集系统进行启动,将命令写在一个shell脚本中,并在启动命令前做检查工作,Nutch采集系统是应用在硬件服务器内、一个安装了Hadoop、Hbase、Zookeeper的集群系统,各个节点之间要实现NameNode到DataNode、JobTracker到TaskTracker无密码登陆,shell脚本在运行NameNode的节点上执行。本发明的一种采用shell脚本启动Nutch采集系统的方法,使系统的启动方便快捷,不再是一个个的分别手动启动对应进程,而是将之一体化,高效快速开启集群。

Description

一种采用shell脚本启动Nutch采集系统的方法
技术领域
本发明涉及一种搜索引擎启动技术领域,具体地说是一种采用shell脚本启动Nutch采集系统的方法。
背景技术
Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。相对于那些商用的搜索引擎, Nutch作为开放源代码搜索引擎将会更加透明, 从而更值得大家信赖. 现在所有主要的搜索引擎都采用私有的排序算法, 而不会解释为什么一个网页会排在一个特定的位置. 除此之外, 有的搜索引擎依照网站所付的费用, 而不是根据它们本身的价值进行排序. 与它们不同, Nutch没有什么需要隐瞒, 也没有动机去扭曲搜索的结果. Nutch尽自己最大的努力为用户提供最好的搜索结果。Nutch主要分为两个部分:爬虫crawler和查询searcher。Crawler主要用于从网络上抓取网页并为这些网页建立索引。Searcher主要利用这些索引检索用户的查找关键词来产生查找结果。两者之间的接口是索引,所以除去索引部分,两者之间的耦合度很低。Crawler和Searcher两部分尽量分开的目的主要是为了使两部分可以分布式配置在硬件平台上,例如将Crawler和Searcher分别放在两个主机上,这样可以提升性能。
Nutch采集系统是汇总各各种数据信息的基于Nutch的服务器数据系统。要启动Nutch采集系统,要分别去执行Hadoop的启动脚本,Zookeeper的启动脚本,Hbase的启动脚本,这三者的脚本分别控制着各自进程的启动,如果分别取手动运行这些脚本,就降低了工作的效率。
HadoopHadoop 是一个能够对大量数据进行分布式处理的软件框架。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集,是Hadoop和Hbase的重要组件。HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为Java。
发明内容
本发明的技术任务是提供一种使系统的启动方便快捷,不再是一个个的分别手动启动对应进程,而是将之一体化,高效快速开启集群的一种采用shell脚本启动Nutch采集系统的方法。
本发明的技术任务是按以下方式实现的,一种采用shell脚本启动Nutch采集系统的方法,将命令写在一个shell脚本中,并在启动命令前做检查工作,Nutch采集系统是一个安装了Hadoop、Hbase、Zookeeper的集群系统,各个节点之间要实现NameNode到DataNode、JobTracker到TaskTracker无密码登陆,shell脚本在运行NameNode的节点上执行,包括如下步骤:
(1)、将shell脚本运行时传递的第一个参数所代表的文件的内容导出到一个名为SLAVES的变量中;
(2)、将shell脚本运行时传递的第二个参数所代表的文件的内容导出到一个名为ZOOKEEPERHOSTS的变量中;
(3)、要被检查的节点机的数量导出到一个名为SLAVESCOUNT的变量中;
(4)、将被检查的节点机的数量赋值给一个shell变量i;
(5)、遍历SLAVES的内容,然后对每个节点检查是否可以连通,以此来判断节点是否工作;
(6)、用jps命令查看正在运行的java进程,然后查看NameNode关键词的内容,并统计内容行数;
(7)判断变量i是否等于0,即是否所有被检查节点都可以连通;若非连通,则给出未连通的提示信息;若连通则继续判断NN变量是否等于0,即是否有NameNode进程运行;
(8)、若判断NameNode进程已经在运行,给出已经在运行的提示;若判断NameNode进程没有在运行,则启动动Nutch采集系统。
步骤(1)中的参数是一个文件的路径,此文件的内容是被检查的节点机的机器名,每行一个。
步骤(2)中的参数也是一个文件的路径,而这个文件的内容是安装有Zookeeper服务器的节点的机器名,每行一个。
Shell:壳层,在计算机科学中,是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器。它类似于DOS下的command.com。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。
本发明的一种采用shell脚本启动Nutch采集系统的方法具有以下优点:
1、使用脚本的方式依次统一启动Hadoop,Zookeeper,Hbase,将现有技术分别手动启动Hadoop,Zookeeper,Hbase的费力工作简化,将之合并在一起,提高工作的效率;
2、还可以判断节点机的运行状况,如果应用在节点非常多的集群中,比起要一个一个检查,方便很多。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种采用shell脚本启动Nutch采集系统的方法的流程图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种采用shell脚本启动Nutch采集系统的方法作以下详细地说明。
实施例1:
本发明的一种采用shell脚本启动Nutch采集系统的方法,将命令写在一个shell脚本中,并在启动命令前做检查工作,Nutch采集系统是一个安装了Hadoop、Hbase、Zookeeper的集群系统,各个节点之间要实现NameNode到DataNode、JobTracker到TaskTracker无密码登陆,shell脚本在运行NameNode的节点上执行,包括如下步骤:
(1)、将shell脚本运行时传递的第一个参数所代表的文件的内容导出到一个名为SLAVES的变量中;
(2)、将shell脚本运行时传递的第二个参数所代表的文件的内容导出到一个名为ZOOKEEPERHOSTS的变量中;
(3)、要被检查的节点机的数量导出到一个名为SLAVESCOUNT的变量中;
(4)、将被检查的节点机的数量赋值给一个shell变量i;
(5)、遍历SLAVES的内容,然后对每个节点检查是否可以连通,以此来判断节点是否工作;
(6)、用jps命令查看正在运行的java进程,然后查看NameNode关键词的内容,并统计内容行数;
(7)判断变量i是否等于0,即是否所有被检查节点都可以连通;若非连通,则给出未连通的提示信息;若连通则继续判断NN变量是否等于0,即是否有NameNode进程运行;
(8)、若判断NameNode进程已经在运行,给出已经在运行的提示;若判断NameNode进程没有在运行,则启动动Nutch采集系统。
步骤(1)中的参数是一个文件的路径,此文件的内容是被检查的节点机的机器名,每行一个。
步骤(2)中的参数也是一个文件的路径,而这个文件的内容是安装有Zookeeper服务器的节点的机器名,每行一个。
实施例2:
本发明的一种采用shell脚本启动Nutch采集系统的方法
一种采用shell脚本启动Nutch采集系统的方法,其特征在于将命令写在一个shell脚本中,并在启动命令前做检查工作,Nutch采集系统是一个安装了Hadoop、Hbase、Zookeeper的集群系统,各个节点之间要实现NameNode到DataNode、JobTracker到TaskTracker无密码登陆,shell脚本在运行NameNode的节点上执行,包括如下步骤:
(1)、将shell脚本运行时传递的第一个参数所代表的文件的内容导出到一个名为SLAVES的变量中;
(2)、将shell脚本运行时传递的第二个参数所代表的文件的内容导出到一个名为ZOOKEEPERHOSTS的变量中;
(3)、要被检查的节点机的数量导出到一个名为SLAVESCOUNT的变量中;
(4)、将被检查的节点机的数量赋值给一个shell变量i;
(5)、遍历SLAVES的内容,然后对每个节点检查是否可以连通,以此来判断节点是否工作;
set `ping -c 4 $host | grep loss`这行代码将对$host节点ping4次,然后查找loss的关键词所在的行,再将这行set到一个变量中,if [ $6 != "100%" ]这个代码的作用是判断set到的变量中的第七个参数内容是否等于“100%”,等于100%说明完全ping不通,节点未工作,不等于100%说明节点可以ping通,正在工作,如果ping通就将变量i减去1,如果ping不通就在终端上提示"Can't connect host $host,please check"的信息,同时将信息写入一个在/tmp/下的名为start-cluster-info.log的日志文件;
(6)、用jps命令查看正在运行的java进程,然后查看NameNode关键词的内容,并统计内容行数;
(7)判断变量i是否等于0,即是否所有被检查节点都可以连通;若非连通,则给出未连通的提示信息;若连通则继续判断NN变量是否等于0,即是否有NameNode进程运行;
(8)、若判断NameNode进程已经在运行,给出已经在运行的提示;若判断NameNode进程没有在运行,则启动动Nutch采集系统。
在if条件满足后,代码第26行start-all.sh用来启动Hadoop集群。
用来在安装有Zookeeper的服务器上启动Zookeeper,代码执行前要在对应节点上安装一个名为“expect”的软件包,这个软件包可以ssh远程登陆到节点,运行交互式的命令,来一个个的启动Zookeeper,代码第39行start-hbase.sh用来启动Hbase集群。如果不满足if条件,就说明有节点连不通或者已经有NameNode进程在运行,然后在终端输出日志信息,并且也输出同样信息到日志文件中。
步骤(1)中的参数是一个文件的路径,此文件的内容是被检查的节点机的机器名,每行一个。
步骤(2)中的参数也是一个文件的路径,而这个文件的内容是安装有Zookeeper服务器的节点的机器名,每行一个。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种采用shell脚本启动Nutch采集系统的方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (1)

1.一种采用shell脚本启动Nutch采集系统的方法,其特征在于基于Nutch的服务器上,对Nutch采集系统进行启动,将命令写在一个shell脚本中,并在启动命令前做检查工作,Nutch采集系统是应用在硬件服务器内、一个安装了Hadoop、Hbase、Zookeeper的集群系统,各个节点之间要实现NameNode到DataNode、JobTracker到TaskTracker无密码登陆,shell脚本在运行NameNode的节点上执行,包括如下步骤:
(1)、将shell脚本运行时传递的第一个参数所指向的文件的内容导出到一个名为SLAVES的变量中;第一个参数是一个文件的路径,第一个参数所指向的文件的内容是被检查的节点机的机器名,每行一个;
(2)、将shell脚本运行时传递的第二个参数所指向的文件的内容导出到一个名为ZOOKEEPERHOSTS的变量中;第二个参数也是一个文件的路径,第二个参数所指向的文件的内容是安装有Zookeeper服务器的节点的机器名,每行一个;
(3)、要被检查的节点机的数量导出到一个名为SLAVESCOUNT的变量中;
(4)、将被检查的节点机的数量赋值给一个shell变量i;
(5)、遍历SLAVES的内容,然后对每个节点机检查是否可以连通,以此来判断节点机是否工作;
set `ping -c 4 $host | grep loss`这行代码将对节点机检查4次,然后查找loss的关键词所在的行,再将这行set到一个变量中,if [ $6 != "100%" ]这个代码的作用是判断set到的变量中的第七个参数内容是否等于100%,等于100%说明完全不连通,节点机未工作,不等于100%说明节点机可以连通,正在工作,如果连通就将变量i减去1,如果不连通就在终端上提示Can't connect host $host,please check的信息,同时将信息写入一个在/tmp/下的名为start-cluster-info.log的日志文件;
(6)、用jps命令查看正在运行的java进程,然后查看NameNode关键词的内容,并统计内容行数;
(7)判断变量i是否等于0,若i等于0,即所有被检查节点机都可以连通;若非连通,则给出未连通的提示信息;若连通则继续判断NN变量是否等于0,即是否有NameNode进程运行;
(8)、若判断NameNode进程已经在运行,给出已经在运行的提示;若判断NameNode进程没有在运行,则启动Nutch采集系统。
CN201410295739.XA 2014-06-27 2014-06-27 一种采用shell脚本启动Nutch采集系统的方法 Active CN104050003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410295739.XA CN104050003B (zh) 2014-06-27 2014-06-27 一种采用shell脚本启动Nutch采集系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410295739.XA CN104050003B (zh) 2014-06-27 2014-06-27 一种采用shell脚本启动Nutch采集系统的方法

Publications (2)

Publication Number Publication Date
CN104050003A CN104050003A (zh) 2014-09-17
CN104050003B true CN104050003B (zh) 2017-06-09

Family

ID=51502909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410295739.XA Active CN104050003B (zh) 2014-06-27 2014-06-27 一种采用shell脚本启动Nutch采集系统的方法

Country Status (1)

Country Link
CN (1) CN104050003B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461721B (zh) * 2014-12-11 2017-11-14 北京国双科技有限公司 工作流的调用方法和装置
CN104991904A (zh) * 2015-06-16 2015-10-21 浪潮软件集团有限公司 一种动态网页的页面数据采集方法
CN105045854A (zh) * 2015-07-07 2015-11-11 国家电网公司 一种基于Nutch的垂直搜索引擎及方法
CN105677382A (zh) * 2015-12-28 2016-06-15 深圳市华讯方舟软件技术有限公司 一种大数据库系统的安装工具
CN107332926A (zh) * 2017-07-28 2017-11-07 郑州云海信息技术有限公司 一种应用服务器集群启动方法及装置
CN111914250B (zh) * 2020-08-18 2022-05-17 中科方德软件有限公司 一种Linux系统脚本程序运行时验证与管控方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412768A (zh) * 2013-07-19 2013-11-27 蓝盾信息安全技术股份有限公司 一种基于脚本程序自动化部署Zookeeper集群的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412768A (zh) * 2013-07-19 2013-11-27 蓝盾信息安全技术股份有限公司 一种基于脚本程序自动化部署Zookeeper集群的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"hadoop+zookeeper+hbase集群配置";jpiversion;《http://www.linuxidc.com/Linux/2013-06/86347p6.htm》;20130621;第1-7页 *
"using hbase";Aurelius titan;《http://titan.thinkaurelius.com/wikidoc/0.3.2/Using-HBase.html》;20130728;全文 *

Also Published As

Publication number Publication date
CN104050003A (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
CN104050003B (zh) 一种采用shell脚本启动Nutch采集系统的方法
CN104639653B (zh) 基于云架构的自适应方法及系统
CN106708719B (zh) 业务功能的测试方法和装置
CN107193962A (zh) 一种互联网推广信息的智能配图方法及装置
WO2015058578A1 (zh) 一种分布式计算框架参数优化方法、装置及系统
CN103927314B (zh) 一种数据批量处理的方法和装置
CN104268064A (zh) 产品日志的异常诊断方法和装置
CN107911251A (zh) 一种网络设备配置方法、装置和介质
CN110851234A (zh) 基于docker容器的日志处理方法及装置
CN103514189A (zh) 一种基于搜索引擎的网络爬虫的实现方法
CN109992478A (zh) 一种服务器巡检方法及装置
CN104216766A (zh) 对流数据进行处理的方法及装置
CN115240048A (zh) 面向图像分类的深度学习的算子定位融合方法及装置
CN108733698A (zh) 一种日志消息的处理方法及后台服务系统
CN114385150A (zh) 基于智能引擎的低代码开发方法
CN106789205A (zh) 机群命令运行方法及系统
CN114817389A (zh) 数据处理方法、装置、存储介质及电子设备
CN102546235B (zh) 云计算环境下面向web应用的性能诊断方法和系统
CN106371931A (zh) 一种基于Web框架的高性能地学计算服务系统
CN106354493B (zh) 一种解决传统软件开发痛点的开发模式的实现方法
CN111966903A (zh) 应用软件功能推荐方法及装置
CN104516970B (zh) 一种进行日志分析的方法和装置
CN106294058A (zh) 处理运营问题单据的目标策略确定方法及装置
US20210311843A1 (en) System verification program generation device, system verification program generation method, and recording medium storing system verification program generation program
CN105389253B (zh) 基于多线程技术模拟客户端执行网元管理的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180807

Address after: 250100 S06 tower, 1036, Chao Lu Road, hi tech Zone, Ji'nan, Shandong.

Patentee after: Shandong wave cloud Mdt InfoTech Ltd

Address before: No. 1036, Shun Ya Road, Ji'nan high tech Zone, Shandong Province

Patentee before: Inspur Group Co., Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Inspur cloud Information Technology Co., Ltd

Address before: 250100 Ji'nan science and technology zone, Shandong high tide Road, No. 1036 wave of science and Technology Park, building S06

Patentee before: SHANDONG LANGCHAO YUNTOU INFORMATION TECHNOLOGY Co.,Ltd.