我正在尝试在kubernetes中运行Kafka Streams应用程序。当启动Pod时,出现以下异常:
Exception in thread "streams-pipe-e19c2d9a-d403-4944-8d26-0ef27ed5c057-StreamThread-1"
java.lang.UnsatisfiedLinkError: /tmp/snappy-1.1.4-5cec5405-2ce7-4046-a8bd-922ce96534a0-libsnappyjava.so:
Error loading shared library ld-linux-x86-64.so.2: No such file or directory
(needed by /tmp/snappy-1.1.4-5cec5405-2ce7-4046-a8bd-922ce96534a0-libsnappyjava.so)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:179)
at org.xerial.snappy.SnappyLoader.loadSnappyApi(SnappyLoader.java:154)
at org.xerial.snappy.Snappy.<clinit>(Snappy.java:47)
at org.xerial.snappy.SnappyInputStream.hasNextChunk(SnappyInputStream.java:435)
at org.xerial.snappy.SnappyInputStream.read(SnappyInputStream.java:466)
at java.io.DataInputStream.readByte(DataInputStream.java:265)
at org.apache.kafka.common.utils.ByteUtils.readVarint(ByteUtils.java:168)
at org.apache.kafka.common.record.DefaultRecord.readFrom(DefaultRecord.java:292)
at org.apache.kafka.common.record.DefaultRecordBatch$1.readNext(DefaultRecordBatch.java:264)
at org.apache.kafka.common.record.DefaultRecordBatch$RecordIterator.next(DefaultRecordBatch.java:563)
at org.apache.kafka.common.record.DefaultRecordBatch$RecordIterator.next(DefaultRecordBatch.java:532)
at org.apache.kafka.clients.consumer.internals.Fetcher$PartitionRecords.nextFetchedRecord(Fetcher.java:1060)
at org.apache.kafka.clients.consumer.internals.Fetcher$PartitionRecords.fetchRecords(Fetcher.java:1095)
at org.apache.kafka.clients.consumer.internals.Fetcher$PartitionRecords.access$1200(Fetcher.java:949)
at org.apache.kafka.clients.consumer.internals.Fetcher.fetchRecords(Fetcher.java:570)
at org.apache.kafka.clients.consumer.internals.Fetcher.fetchedRecords(Fetcher.java:531)
at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1146)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1103)
at org.apache.kafka.streams.processor.internals.StreamThread.pollRequests(StreamThread.java:851)
at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:808)
at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:774)
at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:744)
以前,我曾尝试使用docker容器启动kafka和kafka-streams-app,它们运行得很好。这是我第一次尝试使用Kubernetes。
这是我的 DockerFile StreamsApp :
FROM openjdk:8u151-jdk-alpine3.7
COPY /target/streams-examples-0.1.jar /streamsApp/
COPY /target/libs /streamsApp/libs
CMD ["java", "-jar", "/streamsApp/streams-examples-0.1.jar"]
我该怎么做才能克服这个问题?请帮我。
编辑:
/ # ldd /usr/bin/java
/lib/ld-musl-x86_64.so.1 (0x7f03f279a000)
Error loading shared library libjli.so: No such file or directory (needed by /usr/bin/java)
libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f03f279a000)
Error relocating /usr/bin/java: JLI_Launch: symbol not found
错误消息指出* libsnappyjava.so无法找到ld-
linux-x86-64.so.2。这是一个glibc动态加载程序,而Alpine映像无法与glibc一起运行。您可以尝试通过在Dockerfile中安装libc6-compat软件包来使其运行,例如:
RUN apk update && apk add --no-cache libc6-compat
问题内容: 我正在Linux上构建C ++可执行文件。可执行文件链接到一些Boost库中。 这是我尝试运行二进制文件时的输出: 然后,我在二进制文件上运行ldd来检查依赖关系: 我不确定为什么找不到liboos_system.sl.1.45.0 SO。我今天早些时候成功构建了它。谁能解释? 问题答案: 找不到该库。 默认情况下会在中查找库,并在中指定目录。 通常,系统库(例如boost,如果通过软
问题内容: 我正在使用Amazon EC2 Ubuntu 11.04服务器 我也尝试下载软件包并输入“ sudo python setup.py install” 我得到了错误: 我如何摆脱这个错误? 来源:https : //github.com/andrix/python-snappy 问题答案: 您需要Snappy C库 然后,您必须安装python-snappy包装器。 似乎您没有安装Sn
我正在编写一个在后端使用redis的C程序。 我尝试过构建/安装hiredis(make 使用以下命令行构建:gcc-v example.c-l hiredis-I/usr/local/include/hiredis/ 我尝试过的事情: pkg info hiredis返回0 通过(make)卸载/重新安装 都没有运气。 我猜我没有为gcc正确链接程序,但是文档中没有任何构建示例。 我做错了什么,
问题内容: 该程序是Xenomai测试套件的一部分,可从Linux PC交叉编译为Linux + Xenomai ARM工具链。 编辑: 确定,我没有注意到.1结尾是文件名的一部分。那到底是什么意思呢? 问题答案: 更新 尽管下面我写的是关于共享库的一般答案,但我认为这类消息的最常见原因是因为您已经安装了一个软件包,但没有安装该软件包的“ -dev”版本。 好吧,这不是在说谎-该列表中没有任何内容
docker和yml gitlab yml文件 测试脚本中的远程url 执行阶段:测试时出现管道错误 有人能帮我解决这个Gitlab管道问题吗? 我已经使用docker compose yml文件将Gitlab pipeline设置为使用网格设置运行selenium测试,但似乎remoteWebdriver url连接无法使用网格设置 本地工作正常,当我有docker运行,docker组成,然后运