Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Kafka >> mail # user >> StreamCorruptedException when running ZkUtils.getCluster(zKclient);


Copy link to this message
-
Re: StreamCorruptedException when running ZkUtils.getCluster(zKclient);
Hi David,

The zkclient needs a ZKSerializer: https://gist.github.com/3842975

Thanks,

Joel

On Fri, Oct 5, 2012 at 10:18 AM, David Harris <[EMAIL PROTECTED]> wrote:

> I’m writing a simple java program to play around with the Kafka API and I’m
> running into an issue try to get the Cluster object.  The code is:
>
>
>
> ZkClient client = new ZkClient(KafkaProperties.zkConnect, 6000);
>
> Cluster cluster = ZkUtils.getCluster(client);
>
>
>
> But I’m getting the following error from the ZkUtils.getCluster(client)
> method when I try and run it:
>
> Exception in thread "main"
> org.I0Itec.zkclient.exception.ZkMarshallingError:
> java.io.StreamCorruptedException: invalid stream header: 3139322E
>
>                 at
>
> org.I0Itec.zkclient.serialize.SerializableSerializer.deserialize(SerializableSerializer.java:37)
>
>                 at
> org.I0Itec.zkclient.ZkClient.derializable(ZkClient.java:740)
>
>                 at org.I0Itec.zkclient.ZkClient.readData(ZkClient.java:773)
>
>                 at org.I0Itec.zkclient.ZkClient.readData(ZkClient.java:761)
>
>                 at org.I0Itec.zkclient.ZkClient.readData(ZkClient.java:750)
>
>                 at org.I0Itec.zkclient.ZkClient.readData(ZkClient.java:744)
>
>                 at kafka.utils.ZkUtils$.readData(ZkUtils.scala:162)
>
>                 at
> kafka.utils.ZkUtils$$anonfun$getCluster$1.apply(ZkUtils.scala:204)
>
>                 at
> kafka.utils.ZkUtils$$anonfun$getCluster$1.apply(ZkUtils.scala:203)
>
>                 at
> scala.collection.Iterator$class.foreach(Iterator.scala:631)
>
>                 at
>
> scala.collection.JavaConversions$JIteratorWrapper.foreach(JavaConversions.scala:474)
>
>                 at
> scala.collection.IterableLike$class.foreach(IterableLike.scala:79)
>
>                 at
>
> scala.collection.JavaConversions$JListWrapper.foreach(JavaConversions.scala:521)
>
>                 at kafka.utils.ZkUtils$.getCluster(ZkUtils.scala:203)
>
>                 at kafka.utils.ZkUtils.getCluster(ZkUtils.scala)
>
>                 at com.company.ClassName.main(ClassName.java:44)
>
> Caused by: java.io.StreamCorruptedException: invalid stream header:
> 3139322E
>
>                 at
> java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
>
>                 at
> java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
>
>                 at
>
> org.I0Itec.zkclient.serialize.SerializableSerializer.deserialize(SerializableSerializer.java:31)
>
>                 ... 15 more
>
>
>
> I’m not sure if I’m doing something wrong or misusing the API can anyone
> offer me any guidance?
>
>
> Thanks
> David Harris
>