Ari*_*rie 7 java macos homebrew apache-kafka apache-zookeeper
我正面临这个错误流
2020-03-10 13:43:33 NIOServerCnxnFactory [ERROR] Thread Thread[NIOWorkerThread-7,5,main] died
java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:331)
at org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:530)
at org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:155)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
...
Run Code Online (Sandbox Code Playgroud)
使用Java版本
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
Run Code Online (Sandbox Code Playgroud)
在本地mac Os Catalina上2.4.0使用zookeeper启动kafka时,我遇到了这个问题3.5.7,安装了自制软件。如何解决这个问题?
Ari*_*rie 13
在其他服务(如hazelcast和dopio)中解释说这是由 jdk 9 到 jdk 8 的向后兼容性问题引起的。
有两个明显的选择,您可以:
将您的 jdk 更新为 9
将您的动物园管理员降级为 3.4.x
我选择3.4.14使用以下方法将我的动物园管理员降级为:
# force install zookeeper first
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/6d8197bbb5f77e62d51041a3ae552ce2f8ff1344/Formula/zookeeper.rb
# then force install kafka compatible with zookeeper 3.4.14
brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/6d8197bbb5f77e62d51041a3ae552ce2f8ff1344/Formula/kafka.rb
Run Code Online (Sandbox Code Playgroud)