【问题标题】:Problem using the Thrift APIs使用 Thrift API 的问题
【发布时间】:2011-01-17 22:19:45
【问题描述】:

我已经在我的 Ubuntu VM 上安装了 Cassandra 并构建了源代码。我试图使用 Thrift API,但我的 bin 中的 libthrift-0.5.jar 似乎不是我与正在运行的 cassandra 实例交互所需的文件。

还有其他安装 Thrift JAR 的方法吗?我找到了

/cassandra/interface/thrift

包含与 Cassandra 接口相关的 Thrift 源的文件夹。当我尝试从命令行执行 ant gen-thrift-java 时,构建失败并显示以下消息:

执行失败:java.io.IOException: 无法运行程序“thrift”(在 目录 “/home/user/cassandra/interface”): java.io.IOException:错误=2,没有这样的 文件或目录

有人可以给我一些想法,让我知道我需要做什么才能在这里与 Thrift 合作吗?

谢谢

【问题讨论】:

  • 每当有人在使用原始 Thrift 时,我都会问一个问题:您为什么不使用像 Hector 这样的现有高级客户端?
  • 我仍在尝试扩展 cassandra 的学习曲线,因此像“Hector”这样的客户对我来说是新的。一些 cassandra 样本在 Thrift/Avro 的环境中工作,所以我只是试图复制他们的结果。这样做的目的纯粹是为了教育。
  • 在域中似乎也不鼓励使用原始 Thrift。为什么会这样?
  • 因为有很多问题,同样的工作不可避免地要一遍又一遍地完成,向邮件列表提出问题等。使用已建立的客户端库,学习曲线要​​好得多,许多怪癖已经处理好了,并且您可以免费获得一些不错的功能,例如连接池、故障转移和一些跨版本兼容性。

标签: cassandra thrift


【解决方案1】:

你需要安装Thrift

$ cd thrift
$ ./bootstrap.sh
$ ./configure
$ make
$ sudo make install

【讨论】:

  • @Schildmeijer - 谢谢。我下载了 Thrift 并提取了文件,但在任何地方都找不到 bootstrap.sh 文件。并且命令 make 和 make install 正在终止而不做任何事情?我在这里还缺少什么?
  • bootstrap.sh 仅包含在源代码分发中(或者可能仅包含在 svn checkouts 中)。如果不存在,您可以跳过该步骤。
  • @Tyler Hobbs - 谢谢。我跳过了这一步,但我是否需要为“make”和“sudo make install”指定一些目标。这两个命令对我来说都失败了。
  • 我遇到了这个链接blog.ibd.com/scalable-deployment/…。这可能会有所帮助...
  • 是的,我忘记了一些依赖项。如果您不想要 ruby​​ 库,您还可以传递选项来配置,例如“--with-ruby=no”。
猜你喜欢
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 2012-11-24
  • 2012-03-13
  • 2011-08-28
  • 1970-01-01
相关资源
最近更新 更多