【问题标题】:Facing issue while installing Cassandra on MacOs在 MacO 上安装 Cassandra 时面临的问题
【发布时间】:2021-08-12 10:15:18
【问题描述】:

我正在尝试在 MacOs (M1) 上安装 Cassandra 3.11。我正在使用 tarball 安装并遵循官方安装指南。但是当我尝试使用 bin/cassandra ,我遇到以下错误。

CompilerOracle: dontinline org/apache/cassandra/db/Columns$Serializer.deserializeLargeSubset (Lorg/apache/cassandra/io/util/DataInputPlus;Lorg/apache/cassandra/db/Columns;I)Lorg/apache/cassandra/db/Columns;
CompilerOracle: dontinline org/apache/cassandra/db/Columns$Serializer.serializeLargeSubset (Ljava/util/Collection;ILorg/apache/cassandra/db/Columns;ILorg/apache/cassandra/io/util/DataOutputPlus;)V
CompilerOracle: dontinline org/apache/cassandra/db/Columns$Serializer.serializeLargeSubsetSize (Ljava/util/Collection;ILorg/apache/cassandra/db/Columns;I)I
CompilerOracle: dontinline org/apache/cassandra/db/transform/BaseIterator.tryGetMoreContents ()Z
CompilerOracle: dontinline org/apache/cassandra/db/transform/StoppingTransformation.stop ()V
CompilerOracle: dontinline org/apache/cassandra/db/transform/StoppingTransformation.stopInPartition ()V
CompilerOracle: dontinline org/apache/cassandra/io/util/BufferedDataOutputStreamPlus.doFlush (I)V
CompilerOracle: dontinline org/apache/cassandra/io/util/BufferedDataOutputStreamPlus.writeExcessSlow ()V
CompilerOracle: dontinline org/apache/cassandra/io/util/BufferedDataOutputStreamPlus.writeSlow (JI)V
CompilerOracle: dontinline org/apache/cassandra/io/util/RebufferingInputStream.readPrimitiveSlowly (I)J
CompilerOracle: inline org/apache/cassandra/io/util/Memory.checkBounds (JJ)V
CompilerOracle: inline org/apache/cassandra/io/util/SafeMemory.checkBounds (JJ)V
CompilerOracle: inline org/apache/cassandra/utils/AsymmetricOrdering.selectBoundary (Lorg/apache/cassandra/utils/AsymmetricOrdering/Op;II)I
CompilerOracle: inline org/apache/cassandra/utils/AsymmetricOrdering.strictnessOfLessThan (Lorg/apache/cassandra/utils/AsymmetricOrdering/Op;)I
CompilerOracle: inline org/apache/cassandra/utils/ByteBufferUtil.compare (Ljava/nio/ByteBuffer;[B)I
CompilerOracle: inline org/apache/cassandra/utils/ByteBufferUtil.compare ([BLjava/nio/ByteBuffer;)I
CompilerOracle: inline org/apache/cassandra/utils/ByteBufferUtil.compareUnsigned (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
CompilerOracle: inline org/apache/cassandra/utils/FastByteOperations$UnsafeOperations.compareTo (Ljava/lang/Object;JILjava/lang/Object;JI)I
CompilerOracle: inline org/apache/cassandra/utils/FastByteOperations$UnsafeOperations.compareTo (Ljava/lang/Object;JILjava/nio/ByteBuffer;)I
CompilerOracle: inline org/apache/cassandra/utils/FastByteOperations$UnsafeOperations.compareTo (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
CompilerOracle: inline org/apache/cassandra/utils/vint/VIntCoding.encodeVInt (JI)[B

我已经安装了 openjdk 版本 "1.8.0_292" 。谁能指导我错过了什么并帮助我解决这个错误。

错误

INFO  18:22:13 DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap
INFO  18:22:14 Global memtable on-heap threshold is enabled at 499MB
INFO  18:22:14 Global memtable off-heap threshold is enabled at 499MB
ERROR 18:22:14 Port already in use: 7199; nested exception is: 
    java.net.BindException: Address already in use (Bind failed)
java.net.BindException: Address already in use (Bind failed)
    at java.net.PlainSocketImpl.socketBind(Native Method) ~[na:1.8.0_292]
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) ~[na:1.8.0_292]
    at java.net.ServerSocket.bind(ServerSocket.java:390) ~[na:1.8.0_292]
    at java.net.ServerSocket.<init>(ServerSocket.java:252) ~[na:1.8.0_292]
    at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231) ~[na:1.8.0_292]
    at org.apache.cassandra.utils.RMIServerSocketFactoryImpl.createServerSocket(RMIServerSocketFactoryImpl.java:37) ~[apache-cassandra-3.0.24.jar:3.0.24]
    at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:670) ~[na:1.8.0_292]
    at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:335) ~[na:1.8.0_292]
    at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:254) ~[na:1.8.0_292]
    at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:412) ~[na:1.8.0_292]
    at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:147) ~[na:1.8.0_292]
    at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:237) ~[na:1.8.0_292]
    at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:213) ~[na:1.8.0_292]
    at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:173) ~[na:1.8.0_292]
    at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:144) ~[na:1.8.0_292]
    at org.apache.cassandra.service.CassandraDaemon$JmxRegistry.<init>(CassandraDaemon.java:869) ~[apache-cassandra-3.0.24.jar:3.0.24]
    at org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:148) [apache-cassandra-3.0.24.jar:3.0.24]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:197) [apache-cassandra-3.0.24.jar:3.0.24]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:611) [apache-cassandra-3.0.24.jar:3.0.24]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:804) [apache-cassandra-3.0.24.jar:3.0.24]


【问题讨论】:

  • 真的有错吗?看起来像编译器消息
  • 我同意亚历克斯的观点。那不是错误。你确定卡桑德拉没有跑吗?请记住,只需运行 bin/cassandra 就会在 前台 中运行它,因此该终端上的下一个操作会终止该进程。
  • 我已经编辑了我的问题的描述并添加了确切的错误。希望有帮助。此外,当我尝试访问 cqlsh 时,出现错误 Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(61, "Tried connected to [('127.0.0.1', 9042)] . 最后一个错误:连接被拒绝")})

标签: java macos cassandra jmx cassandra-3.0


【解决方案1】:
ERROR 18:22:14 Port already in use: 7199; nested exception is: 
  java.net.BindException: Address already in use (Bind failed)

好的,Mac 上的其他设备正在使用 JMX 端口 (7199)。找到并停止它,或将cassandra-env.sh 中的JMX_PORT 设置为空闲端口。

【讨论】:

  • 感谢 Aaron 帮我解决了这个问题 :)
【解决方案2】:

尝试使用 brew 安装 Cassandra

brew update

brew install cassandra

【讨论】:

  • 我尝试使用 brew 安装,但出现错误。 Error: cassandra: no bottle available!
猜你喜欢
  • 1970-01-01
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
相关资源
最近更新 更多