Hadoop Nutch Rest在分布式模式下不在EMR上工作
我正在EMR上运行Nutch2.3(AMI版本2.4.2)。爬网步骤在本地和分布式模式下运行良好(Hadoop Nutch Rest在分布式模式下不在EMR上工作,hadoop,amazon-web-services,nutch,emr,amazon-emr,Hadoop,Amazon Web Services,Nutch,Emr,Amazon Emr,我正在EMR上运行Nutch2.3(AMI版本2.4.2)。爬网步骤在本地和分布式模式下运行良好(hadoop-jar apache-nutch-2.3.job),我可以通过在本地模式下旋转rest服务来调用这些步骤。但是,当我尝试在分布式模式下运行其余部分时(hadoop-jar apache-nutch-2.3.job org.apache.nutch.api.NutchServer),其余部分正在接收调用,但没有完成任务。在分布式模式下运行nutch的正确方法是什么 信息 当Injecto
hadoop-jar apache-nutch-2.3.job
),我可以通过在本地模式下旋转rest服务来调用这些步骤。但是,当我尝试在分布式模式下运行其余部分时(hadoop-jar apache-nutch-2.3.job org.apache.nutch.api.NutchServer
),其余部分正在接收调用,但没有完成任务。在分布式模式下运行nutch的正确方法是什么
信息
当InjectorJob以分布式模式脱机运行时,输出如下:
COMMAND:
hadoop jar ./apache-nutch-2.3.job org.apache.nutch.crawl.InjectorJob s3://myemrbucket/urls -crawlId 2
通过调用REST,在发出以下输出后,作业将被卡住:
POST ARGS:
{
"crawlId":"11",
"confId":"default",
"type":"INJECT",
"args":{"seedDir":"s3://myemrbucket/urls"}
}
不前进。你有什么解决办法吗?不幸的是,没有。我们不得不改变我们的堆栈,并从本质上说这是可以做到的。您应该从$nutch home/runtime/deploy启动nutch服务器。您可能是从本地目录中的jar启动的。我的工作完成了:)你有什么解决办法吗?不幸的是,没有。我们必须改变我们的堆栈,从坚果中移开。事实上,这是可以做到的。您应该从$nutch home/runtime/deploy启动nutch服务器。您可能是从本地目录中的jar启动的。我的工作:)
POST ARGS:
{
"crawlId":"11",
"confId":"default",
"type":"INJECT",
"args":{"seedDir":"s3://myemrbucket/urls"}
}
15/11/19 09:46:14 INFO api.NutchServer: Starting NutchServer on port: 8081 with logging level: INFO ...
Nov 19, 2015 9:46:14 AM org.restlet.engine.connector.NetServerHelper start
INFO: Starting the internal [HTTP/1.1] server on port 8081
15/11/19 09:46:14 INFO api.NutchServer: Started NutchServer on port 8081
Nov 19, 2015 9:46:25 AM org.restlet.engine.log.LogFilter afterHandle
INFO: 2015-11-19 09:46:25 1xx.xx.x.xx - - 8081 POST /job/create - 200 28 110 498 http://ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com:8081 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36-
15/11/19 09:46:25 INFO s3native.NativeS3FileSystem: Created AmazonS3 with InstanceProfileCredentialsProvider
15/11/19 09:46:27 WARN store.HBaseStore: Mismatching schema's names. Mappingfile schema: 'webpage'. PersistentClass schema's name: '11_webpage'Assuming they are the same.
15/11/19 09:46:28 INFO crawl.InjectorJob: InjectorJob: Using class org.apache.gora.hbase.store.HBaseStore as the Gora storage class.
15/11/19 09:46:28 INFO mapred.JobClient: Default number of map tasks: null
15/11/19 09:46:28 INFO mapred.JobClient: Setting default number of map tasks based on cluster size to : 4
15/11/19 09:46:28 INFO mapred.JobClient: Default number of reduce tasks: 0
15/11/19 09:46:28 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.