2015-01-21 3 views
3

Я получаю ConnectionRefused Ошибка при запуске свиньи в режиме mapreduce.Ошибка подключения Pig и Hadoop

Детали:
Я установил Свиньи из tarball (pig-0.14) и экспортировал путь класса в bashrc.
У меня есть все демоны Hadoop (hadoop-2.5) и работают (подтверждено JPS).

[[email protected] sbin]# jps 
2272 Jps 
2130 DataNode 
2022 NameNode 
2073 SecondaryNameNode 
2238 NodeManager 
2190 ResourceManager 

Я бегу свинью в режиме MapReduce:

[[email protected] sbin]# pig 
grunt> file = LOAD '/input/pig_input.csv' USING PigStorage(',') AS (col1,col2,col3); 
grunt> dump file; 

А потом я получаю сообщение об ошибке:

java.io.IOException: java.net.ConnectException: Call From localhost.localdomain/127.0.0.1 to 0.0.0.0:10020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused 
    at org.apache.hadoop.mapred.ClientServiceDelegate.invoke(ClientServiceDelegate.java:334) 
    at org.apache.hadoop.mapred.ClientServiceDelegate.getJobStatus(ClientServiceDelegate.java:419) 
    at org.apache.hadoop.mapred.YARNRunner.getJobStatus(YARNRunner.java:532) 
    at org.apache.hadoop.mapreduce.Cluster.getJob(Cluster.java:183) 
    at org.apache.pig.backend.hadoop.executionengine.shims.HadoopShims.getTaskReports(HadoopShims.java:231) 
    at org.apache.pig.tools.pigstats.mapreduce.MRJobStats.addMapReduceStatistics(MRJobStats.java:352) 
    at org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil.addSuccessJobStats(MRPigStatsUtil.java:233) 
    at org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil.accumulateStats(MRPigStatsUtil.java:165) 
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:360) 
    at org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.launchPig(HExecutionEngine.java:280) 
    at org.apache.pig.PigServer.launchPlan(PigServer.java:1390) 
    at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1375) 
    at org.apache.pig.PigServer.storeEx(PigServer.java:1034) 
    at org.apache.pig.PigServer.store(PigServer.java:997) 
    at org.apache.pig.PigServer.openIterator(PigServer.java:910) 
    at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:746) 
    at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:372) 
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:230) 
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:205) 
    at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:66) 
    at org.apache.pig.Main.run(Main.java:558) 
    at org.apache.pig.Main.main(Main.java:170) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212) 
Caused by: java.net.ConnectException: Call From localhost.localdomain/127.0.0.1 to 0.0.0.0:10020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408) 
    at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:783) 
    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:730) 
    at org.apache.hadoop.ipc.Client.call(Client.java:1415) 
    at org.apache.hadoop.ipc.Client.call(Client.java:1364) 
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206) 
    at com.sun.proxy.$Proxy15.getJobReport(Unknown Source) 
    at org.apache.hadoop.mapreduce.v2.api.impl.pb.client.MRClientProtocolPBClientImpl.getJobReport(MRClientProtocolPBClientImpl.java:133) 
    at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.hadoop.mapred.ClientServiceDelegate.invoke(ClientServiceDelegate.java:320) 
    ... 26 more 
Caused by: java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:712) 
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529) 
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493) 
    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:606) 
    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:700) 
    at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367) 
    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1463) 
    at org.apache.hadoop.ipc.Client.call(Client.java:1382) 
    ... 34 more 

Я не настроен любой файл конфигурации в свиноводстве tarball.Do Мне нужно внести какие-либо изменения в конфигурацию свиньи, чтобы он идентифицировал установку hadoop? В bashrc установлен HADOOP_HOME.
Пожалуйста, помогите.

ответ

5

Чтобы запустить его, перейдите в директорию SBIN Hadoop, а затем введите команду

mr-jobhistory-server.sh start historyserver --config $HADOOP_CONF_DIR 

$HADOOP_CONF_DIR это каталог, где файлы конфигурации Hadoop как hdfs-site.xml и т.д. проживают.

3

Найдено решение.
Линия:

Caused by: java.net.ConnectException: Call From localhost.localdomain/127.0.0.1 to 0.0.0.0:10020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused 

приходит, когда JobHistoryServer не вверх.
Таким образом, запуск JobHistoryServer устранит эту проблему.
Чтобы запустить его, перейдите в sbin директорию Hadoop, а затем команду:

mr-jobhistory-server.sh start 

сделать jps, чтобы проверить, если JobHistoryServer вверх, а затем повторно выполнять ваши команды Pig.

+0

Это работает для меня. –

+0

Также см. Http://stackoverflow.com/questions/17930644/connection-error-in-apache-pig для обсуждения расширения mapred-site.xml с координатами истории заданий. Свинья, кажется, предполагает localhost, что неправильно при работе на краевом узле. – chrisinmtown

0

ОБНОВЛЕНО команды (по состоянию на 2017 г.):

./mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR start historyserver 

проверка

jps 
Смежные вопросы