2
내 Java 웹 앱에서 메시지를 kafka으로 보내고 있습니다.UnsatisfiedLinkError kafka에 압축 된 (snappy) 메시지를 보낼 때
내가 너무 내 생산 속성에서 설정하고있어 보내기 전에 내 메시지를 압축하고 싶은:
props.put를 ("compression.codec", "2");
내가 알고있는 것처럼
는 "2"물어을 의미하지만, 메시지를 보낼 때 나는군요 :<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>${snappy-version}</version>
<scope>provided</scope>
</dependency>
: 내 치어에 물어 의존성을 추가하는 시도
java.lang.UnsatisfiedLinkError: org.xerial.snappy.SnappyNative.maxCompressedLength(I)I
at org.xerial.snappy.SnappyNative.maxCompressedLength(Native Method)
at org.xerial.snappy.Snappy.maxCompressedLength(Snappy.java:316)
at org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:79)
at org.xerial.snappy.SnappyOutputStream.<init>(SnappyOutputStream.java:66)
at kafka.message.SnappyCompression.<init>(CompressionUtils.scala:61)
at kafka.message.CompressionFactory$.apply(CompressionUtils.scala:82)
at kafka.message.CompressionUtils$.compress(CompressionUtils.scala:109)
at kafka.message.MessageSet$.createByteBuffer(MessageSet.scala:71)
at kafka.message.ByteBufferMessageSet.<init>(ByteBufferMessageSet.scala:44)
at kafka.producer.async.DefaultEventHandler$$anonfun$3.apply(DefaultEventHandler.scala:94)
at kafka.producer.async.DefaultEventHandler$$anonfun$3.apply(DefaultEventHandler.scala:82)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:95)
at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:95)
at scala.collection.Iterator$class.foreach(Iterator.scala:772)
at scala.collection.mutable.HashTable$$anon$1.foreach(HashTable.scala:157)
at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:190)
at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:45)
at scala.collection.mutable.HashMap.foreach(HashMap.scala:95)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
at scala.collection.mutable.HashMap.map(HashMap.scala:45)
at kafka.producer.async.DefaultEventHandler.serialize(DefaultEventHandler.scala:82)
at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:44)
at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:116)
at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:95)
at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:71)
at scala.collection.immutable.Stream.foreach(Stream.scala:526)
at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:70)
at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:41)
이 문제를 해결하려면/lib/ext 아래에있는 내 부두 서버에 병을 추가하십시오.이 오류는 계속 발생합니다. .
"compression.codec"속성에서 "2"대신 "0"을 설정하면 예외가 발생하지 않습니다.
멋진 압축을 사용하려면 어떻게해야합니까?
이 내 물어 버전 (나는 다른 하나를 사용해야합니까?)입니다 : 나는 우분투 12.10에서 실행 부두 8.1.9에 내 응용 프로그램을 배포하고 있습니다 1.1.0.1
.
Snappy가 기본 라이브러리를로드 할 수 없기 때문에 오류가 발생합니다. 어떤 OS 및 스냅 샷 버전을 사용하고 있습니까? 이 @Wildfire – Wildfire
내 물어 버전 (? 내가 다른 하나를 사용해야합니다)입니다 : \t \t <이따위 버전> 1.1.0.1 이따위 버전> 나는 실행 부두 8.1.9에 내 응용 프로그램을 배포하고 있습니다 우분투 12.10에서. – forhas