Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 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
>
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB