ERROR o.a.s.d.executor -
java.io.IOException: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag.; Host Details : local host is: "DESK/192.168.0.1"; destination host is: "hadoop":9000;
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:776) ~[hadoop-common-2.7.4.jar:?]
at org.apache.hadoop.ipc.Client.call(Client.java:1480) ~[hadoop-common-2.7.4.jar:?]
at org.apache.hadoop.ipc.Client.call(Client.java:1413) ~[hadoop-common-2.7.4.jar:?]
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229) ~[hadoop-common-2.7.4.jar:?]
at com.sun.proxy.$Proxy43.create(Unknown Source) ~[?:?]
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.create(ClientNamenodeProtocolTranslatorPB.java:296) ~[hadoop-hdfs-2.7.4.jar:?]
at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_91]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_91]
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191) ~[hadoop-common-2.7.4.jar:?]
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102) ~[hadoop-common-2.7.4.jar:?]
at com.sun.proxy.$Proxy44.create(Unknown Source) ~[?:?]
at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1834) ~[hadoop-hdfs-2.7.4.jar:?]
at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1689) ~[hadoop-hdfs-2.7.4.jar:?]
at org.apache.hadoop.hdfs.DFSClient.create(DFSClient.java:1624) ~[hadoop-hdfs-2.7.4.jar:?]
at org.apache.hadoop.hdfs.DistributedFileSystem$7.doCall(DistributedFileSystem.java:448) ~[hadoop-hdfs-2.7.4.jar:?]
at org.apache.hadoop.hdfs.DistributedFileSystem$7.doCall(DistributedFileSystem.java:444) ~[hadoop-hdfs-2.7.4.jar:?]
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) ~[hadoop-common-2.7.4.jar:?]
at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:459) ~[hadoop-hdfs-2.7.4.jar:?]
at org.apache.hadoop.hdfs.DistributedFileSystem.create(DistributedFileSystem.java:387) ~[hadoop-hdfs-2.7.4.jar:?]
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:911) ~[hadoop-common-2.7.4.jar:?]
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:892) ~[hadoop-common-2.7.4.jar:?]
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:789) ~[hadoop-common-2.7.4.jar:?]
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:778) ~[hadoop-common-2.7.4.jar:?]
at org.apache.storm.hdfs.bolt.HdfsBolt.makeNewWriter(HdfsBolt.java:116) ~[storm-hdfs-1.1.1.jar:1.1.1]
at org.apache.storm.hdfs.bolt.AbstractHdfsBolt.getOrCreateWriter(AbstractHdfsBolt.java:211) ~[storm-hdfs-1.1.1.jar:1.1.1]
at org.apache.storm.hdfs.bolt.AbstractHdfsBolt.execute(AbstractHdfsBolt.java:151) [storm-hdfs-1.1.1.jar:1.1.1]
at org.apache.storm.daemon.executor$fn__5030$tuple_action_fn__5032.invoke(executor.clj:729) [storm-core-1.1.1.jar:1.1.1]
at org.apache.storm.daemon.executor$mk_task_receiver$fn__4951.invoke(executor.clj:461) [storm-core-1.1.1.jar:1.1.1]
at org.apache.storm.disruptor$clojure_handler$reify__4465.onEvent(disruptor.clj:40) [storm-core-1.1.1.jar:1.1.1]
at org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:482) [storm-core-1.1.1.jar:1.1.1]
at org.apache.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:460) [storm-core-1.1.1.jar:1.1.1]
at org.apache.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:73) [storm-core-1.1.1.jar:1.1.1]
at org.apache.storm.daemon.executor$fn__5030$fn__5043$fn__5096.invoke(executor.clj:848) [storm-core-1.1.1.jar:1.1.1]
at org.apache.storm.util$async_loop$fn__557.invoke(util.clj:484) [storm-core-1.1.1.jar:1.1.1]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
代码
HdfsBolt hdfsBolt = new HdfsBolt()
.withFsUrl("hdfs://hadoop0:9000")
需使用8020端口,如果使用9000端口,会报Protocol message end-group tag did not match expected tag
修改为
HdfsBolt hdfsBolt = new HdfsBolt()
.withFsUrl("hdfs://hadoop0:8020")