问题标签 [thrift-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
567 浏览

php - PHP - 即使包含它,也找不到类“HbaseClient”

一直在为这个挠头。我刚刚开始使用 PHP/Thrift 与 HBase 进行通信(我可以用 Python 做得很好)。出于某种原因,下面的代码正在生成 $client = new 行上找不到的类“HbaseClient”:

我真的不知道为什么。在 Hbase.php 包含文件中,客户端定义如下:

我在这里错过了一些非常简单的东西吗?(完整的 HBase.php:http: //pastebin.com/6kd9r2Se

提前致谢!

0 投票
3 回答
3091 浏览

php - PHP - Thrift 0.9.0 - Class 'Thrift\Transport\TTransport' not found in TSocket.php

Trying out using PHP with thrift and I can't run it properly due to being unable to find certain classes. I was able to do this in 0.8.0 fine, now that I've downloaded 0.9.0 I'm at a loss as to how I should include the thrift files properly.

Here is my snippet of code:

All files are layed out properly in the directories as seen here:

HBase Includes - PHP But when I run the file from the command line (php -f index.php) I'm receiving this error:

Class 'Thrift\Transport\TTransport' not found in /home/user/final/Thrift/Transport/TSocket.php on line 35

I'm really at a loss as to what I should do next, I'm not familiar with using the "use" command or "namespace" in PHP, which I have a feeling would help solve this. The thrift README for php also mentions using symfony, which is just further confusing me.

Any advice would be greatly appreciated!

Thanks!

0 投票
2 回答
2115 浏览

hbase - Thrift 的调试器?

我正在寻找一种可以通过 Thrift 嗅探、限制和修改消息的工具。与用于 Web 开发的 Charles Web Proxy 非常相似的东西。有这样的事吗?

0 投票
1 回答
1290 浏览

javascript - Node Thrift 反序列化

我正在尝试做一个简单的节俭序列化/反序列化,但是如果我的反序列化失败并显示以下消息:

我不明白为什么会这样。对我来说,这条错误消息听起来像是获取了错误的类型,但我的序列化工作正常,因此序列化对象应该具有正确的类型。在执行 TBinaryProtocol.prototype.skip 时,protocol.js 文件会引发此错误。这是我的代码:

0 投票
1 回答
654 浏览

hive - 如何与运行 NONE 身份验证的 HiveServer2 通信

我正在尝试通过 ruby​​ TCPSocket 与 HiveServer2 通信。根据 Thrift SASL 规范,我发送 START 消息,然后发送普通身份验证信息。服务器返回 COMPLETE 状态,有效负载为空。它应该将挑战作为有效负载返回,但返回一个空字符串。

HiveServer2 返回 5 状态,即 COMPLETE。由于服务器不再返回任何内容,因此无法通过此套接字进行进一步的通信。

我怀疑 auth_message 以错误的方式构造或其他错误。

谁能建议 HiveServer2 理解我的请求的方式?

任何帮助将不胜感激。

UPD:节俭 SASL 规范

UPD2:已解决!STARTTLS 块应如下所示:

从服务器收到 COMPLETE 状态后,我可以使用 TCLIService::Client 与 HiveServer2 进行通信。只有一件事需要注意:

所有对底层传输的写入都必须以有效负载数据的 4 字节长度为前缀,然后是有效负载。从此传输中的所有读取都应读取 4 字节长度的字,然后读取此长度字指定的全部字节数。

0 投票
0 回答
147 浏览

php - Thrift - Scala 到 Php(无法从数据库动态检索数据)

我开发了一个嵌入 Neo4j 作为数据库的 Scala 项目。我使用 Thrift 服务从 Php 文件中调用 Scala 函数。我能够通过使用 Thrift 从 Php 文件中调用 Scala 函数将数据插入到 Neo4j 数据库中。但问题是,每当我尝试从 Neo4j 数据库中获取数据时,都无法获取新插入的数据。只有当我重新启动 Thrift 服务时才能获得完整的数据。我该如何解决这个问题?

0 投票
1 回答
966 浏览

scala - 如何安装和使用 Scrooge

我想使用 Scrooge 编写一个 Thrift 服务。

Thrift 几乎没有文档,而 Scrooge 则更少。

如何在 Ubuntu 或 OSX 机器上安装 Scrooge?

安装后,我创建了一个 .thrift,如何使用 Scrooge 生成服务器代码和客户端代码?

0 投票
0 回答
105 浏览

ruby - 通过节俭直接瞄准客运工人的方法

我正在尝试让我的应用程序使用 Thrift 相互交谈。所有的应用程序都在同一个网络中运行,并且都是使用 Nginx 和 Phusion Passenger 运行的 ruby​​ 应用程序。我使用 thrift 在具有 Thrift::HTTPClientTransport 的应用程序之间进行通信没有问题,但这涉及在接收应用程序上公开 HTTP URL。我已经制作了一个机架中间件,它接受对该路径的请求,调用被调用的方法并通过 thrift 进行响应。

我的问题是如何在运行乘客时绕过对中间件和 thift HTTP 传输的需求。我想到了几个想法,包括制作我自己的代理服务器,在乘客工作人员可用时注册它们并在这些工作上分配端口,以便使用 thrift 的客户端可以直接通过 Thrift::BufferedTransport 或 Thrift::FramedTransport 调用方法。我有一种感觉,必须有一种方法来解决对自定义代理服务的需求。

有任何想法吗?

0 投票
1 回答
348 浏览

c++ - 无法在 Mac OSX for i386 目标上使用我的应用程序构建 Apache Thrift

我正在尝试使用 Thrift 构建我的 C++ 应用程序,但它失败了。我不明白这个错误。

0 投票
0 回答
1288 浏览

python - Apache Thrift 教程错误

我一直在尝试按照本教程学习在 python 中使用 Apache Thrift:http: //www.billdimmick.com/devjournal/building-an-apache-thrift-service-in-python.html。本教程使用的 thrift 文件是:

当我尝试使用 thrift --gen py:new_style demo.thrift 将其编译为 python 代码时,出现以下错误:

我看不出 thrift 文件有什么问题,但我仍然遇到错误。怎么了?