Cassandra 不使用本机方法
Posted
技术标签:
【中文标题】Cassandra 不使用本机方法【英文标题】:Cassandra not using native methods 【发布时间】:2012-02-10 11:22:15 【问题描述】:我希望 cassandra 使用本地方法。
我安装jna如下:
#install JNA
zypper install --no-confirm jna
#create a link to it for cassandra
ln -s /usr/share/java/jna.jar $PATH_TO_CASSANDRA/apache-cassandra-1.0.7/lib/
但是当我运行时
$PATH_TO_CASSANDRA/apache-cassandra-1.0.7/bin/cassandra -f
我收到以下消息:
INFO 10:36:05,594 无法链接 C 库。本机方法将是 已禁用。
我进行了一些研究,发现它发出了该消息,因为它在调用Native.register("c");
时得到了UnsatisfiedLinkError
(找到here)。它应该与jna有关。
我该如何解决?我做错了什么?
【问题讨论】:
在调用 Cassandra 之前是否设置了jna.library.path
? libc 是否正确安装在系统上?
如何在linux上设置jna.library.path?或者我如何检查它是否已设置? glibc 已安装。
【参考方案1】:
zypper好像只有jna的3.1版本,而Cassandra要的是3.2.7。
我拿了一份here,现在它就像一个魅力。
【讨论】:
以上是关于Cassandra 不使用本机方法的主要内容,如果未能解决你的问题,请参考以下文章
Cassandra 2.2.1 不会开始使用 cassandra -f
Spark-Cassandra 与 Spark-Elasticsearch