Thanks for the update Steve! This is very helpful and I find the blog is a
good read too! Appreciate your contribution to the community.


Guozhang

On Thu, Aug 27, 2020 at 11:06 AM Steve Jones <jones.ste...@gmail.com> wrote:

> Ok so an update here, it's just a learning thing alongside the day job so
> it took a little longer than expected.  I upgraded to 2.6 but the same
> thing happened, the reason is that rocksDB doesn't include the .so for the
> Raspberry Pi platform, hence the linker error.  Solution was to build the
> JNI jar on the Raspberry PI.
>
> Blogged it so there is a record in case someone else has the challenge.
> One 'interesting' piece was that although the application had never
> successfully run there was a record of the state somewhere in the broker so
> once the linker issue was the resolved it failed because it couldn't access
> the RocksDB database in the state that it thought existed, changed the
> application.id and it all worked fine.  Not sure that counts as a defect
> on
> the Kafka side and I didn't have time to track down the root cause.
>
>
> http://service-architecture.blogspot.com/2020/08/getting-rocksdb-working-on-raspberry-pi.html
>
> On Mon, 24 Aug 2020 at 20:53, John Roesler <vvcep...@apache.org> wrote:
>
> > Ah, yes, before messing with rocksjni. As Sophie said, you'll probably
> > just want to try using 2.6.0. It should work "out of the box".
> >
> > Thanks,
> > -John
> >
> > On Mon, Aug 24, 2020, at 21:08, Steve Jones wrote:
> > > Version: *kafka_2.12-2.5.0*
> > >
> > > RocksDB compiles fine, Kafka compiles fine, I'm just trying to work out
> > > where the linking is done and if that can be changed to a static rather
> > > than a dynamic link.  Any hints appreciated, and I'll document out what
> > > I've found.   Its very stable on the Raspberry Pi as a broker, and for
> > > streams if the streams is run on another machine.
> > >
> > > Steve
> > >
> > > On Mon, 24 Aug 2020 at 17:49, Sophie Blee-Goldman <sop...@confluent.io
> >
> > > wrote:
> > >
> > > > Yeah, if you weren't already running it, try upgrading Streams to
> 2.6.
> > They
> > > > recently
> > > > added support for "all" platforms to rocksdb and we updated the
> > dependency
> > > > to
> > > > get this fix in 2.6. See KAFKA-9225
> > > > <https://issues.apache.org/jira/browse/KAFKA-9225>
> > > >
> > > > If you already were running 2.6, then, that's unfortunate. You might
> > have
> > > > some luck
> > > > asking the rocksdb folks if all else fails
> > > >
> > > > On Mon, Aug 24, 2020 at 5:46 PM John Roesler <vvcep...@apache.org>
> > wrote:
> > > >
> > > > > Hi Steve,
> > > > >
> > > > > Which version of Streams is this? I vaguely recall that we updated
> > to a
> > > > > version of Rocks that’s compiled for ARM, and I think some people
> > have
> > > > used
> > > > > it on ARM, but I might be misremembering.
> > > > >
> > > > > I’m afraid I can’t be much help in debugging this, but maybe some
> > others
> > > > > on the list have more context. If all else fails, you can probably
> > narrow
> > > > > it down to the Java RocksDB library. If you create a standalone
> java
> > > > > program using the same rocks dependency that we do, then you can
> > pretty
> > > > > confidently raise it with the Rocks folks.
> > > > >
> > > > > If you want to side-step the issue while debugging this, plugging
> in
> > a
> > > > > different store implementation (like the in-memory one) would
> > probably
> > > > > work, although I’m sure memory is scarce on a Raspberry Pi.
> > > > >
> > > > > I hope this helps,
> > > > > -John
> > > > >
> > > > > On Mon, Aug 24, 2020, at 19:26, Steve Jones wrote:
> > > > > > I'm trying to install Kafka Streams on a Raspberry PI, it works
> > fine
> > > > as a
> > > > > > broker, works fine as both a producer and consumer, but when I
> try
> > and
> > > > > run
> > > > > > streams on the PI rather than on the Mac there is a linker issue:
> > > > > >
> > > > > > Exception in thread
> > > > > > "main-broker-f53264a1-0c70-445f-bf3f-bf634a9a1ed2-StreamThread-1"
> > > > > > java.lang.UnsatisfiedLinkError:
> > > > > /tmp/librocksdbjni15158764823832728522.so:
> > > > > > /tmp/librocksdbjni15158764823832728522.so: cannot open shared
> > object
> > > > > file:
> > > > > > No such file or directory (Possible cause: can't load IA 32 .so
> on
> > a
> > > > ARM
> > > > > > platform)
> > > > > >
> > > > > > at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native
> > Method)
> > > > > >
> > > > > > at
> > > > >
> > java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2452)
> > > > > >
> > > > > > at
> > > > > >
> > > > >
> > > >
> >
> java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2508)
> > > > > >
> > > > > > at
> > java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2704)
> > > > > >
> > > > > > at
> > java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2637)
> > > > > >
> > > > > >
> > > > > > I've recompiled rocksdb on the RaspberryPI and added that to the
> > > > loadpath
> > > > > > but the same error occurs.  I've done the Google search but not
> > found
> > > > > > anything around streams on ARM (Raspberry PI) and what needs to
> be
> > > > > > recompiled/linked for this to work.
> > > > > >
> > > > > >
> > > > > > Help appreciated.
> > > > > >
> > > > > >
> > > > > > Steve Jones
> > > > > >
> > > > >
> > > >
> > >
> >
>


-- 
-- Guozhang

Reply via email to