thrift的使用及遇到的问题

傻傻小菜鸟 傻傻小菜鸟     2022-09-05     690

关键词:

centos 系统安装官方文档:http://thrift.apache.org/docs/install/centos

一、按该文档安装出现了一系列的问题,记录如下:

1.安装thrift时./bootstrap.sh出错,然后安装libevent问题解决
(首先:git gc,清除./configure 和make错误的信息)
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz

# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install

2.安装thrift到make步骤时出现如下错误:

  g++: error: /usr/lib64/libboost_unit_test_framework.a: No such file or directory

3.../../../lib/cpp/.libs/libthriftnb.so: undefined reference to `evutil_make_socket_closeonexec‘

  ../../../lib/cpp/.libs/libthriftnb.so: undefined reference to `evbuffer_get_length‘

  ../../../lib/cpp/.libs/libthriftnb.so: undefined reference to `evbuffer_pullup‘

  collect2: error: ld returned 1 exit status

4.automake --add-missing”时出错及解决办法:

a. configure.ac: error: no proper invocaction of AM_INIT_AUTOMAKE was found.
b. Makefile.am: error: required file ‘./NEWS‘ not found
    Makefile.am: error: required file ‘./README‘ not found
    Makefile.am: error: required file ‘./AUTHORS‘ not found
    Makefile.am: error: required file ‘./ChangeLog‘ not found
    使用命令:automake --add-missing --copy --foreign
c. required file `config.h.in‘ not found 
  解决:在执行automake --add-missing之前执行autoheader,生成config.h.in
d. Libtool library used but `LIBTOOL‘ is undefined?
  解决:重装libtool 然后再运行
  try run “libtoolize” in that directory first, and then re-run autoreconf
e. /usr/share/automake-1.14/am/depend2.am: error: am__fastdepCXX does not appear in AM_CONDITIONAL
  在configure.ac 中加入
AC_INIT
AM_INIT_AUTOMAKE

dnl add this
AC_PROG_CXX

AC_PROG_LIBTOOL

  本人安装thrift遇到了各种各样的坑,真是一波三折,差点放弃,希望thrift能把安装过程完善一下,让使用者投入更多的时间在使用上而不是安装上。

二、Thrift python使用过程遇到的错误:

No handlers could be found for logger "thrift.server.TServer"

参考网址:http://blog.csdn.net/mantoureganmian/article/details/48340215

  thrift框架做的很好,封装的也很好,不仅仅有代码生成功能,而且还有错误处理机制。这种错误处理机制处理过程是:当Handler类中的出现错误时,一律提示:“No handlers could be found for logger "thrift.server.TServer"”。换句话说,当变量拼写错误时,不会提示某个变量未命名,而提示“No handlers could be found for logger "thrift.server.TServer"”,这样无疑增加了改错难度,坑啊!!!

   对于此,比较好的解决方案是:使用try....except  Exception as e:模块来手动打印错误。try模块代码示例如下:

try:  
    a=b  
except Exception as  e:  
    print e  

  我代码出错的原因是:server端返回给了client端字符串为汉字,改成拼音问题解决。

  thrift整体来说还是很好用的,特别是支持跨多种语言,减少了开发者间的通信难度。

  本人菜鸟一枚,但不会在菜鸟的路上越走越远,thrift遇到问题还会持续更新。。。

highcharts使用时遇到的问题及解决方案

Highcharts使用时遇到的问题及解决方案Highcharts图表控件功能强大,对细节处理得很细致,是目前使用最为广泛的图表控件。本文总结了作者在使用Highcharts时遇到的问题及解决方案。1. 图表颜色设置图表的边框色,背景色及点... 查看详情

bootstraptable使用及遇到的问题

本人前端菜鸟一枚,最近使用bootstraptable实现表格,记录一下以便日后翻阅,废话不多说,先看效果图:1、首先说下要实现该效果需要添加的css样式及所需的js文件,具体下载地址就不粘贴了(因为太懒)<linkrel="stylesheet"href="css/b... 查看详情

htmlmap实际使用中遇到的问题及解决方案

...用的,这明显就是照搬文档自己再改一下嘛,难道你们在使用中没遇到什么特别的需求或者什么问题?怎么不写出来?所以我就不介绍map了,直接说遇到的问题。问题一:如果图片原始尺寸是900px,但是你展示的尺寸是450px,那map... 查看详情

vue使用技巧,及遇到的问题

这里给大家分享一下vue中的一些技巧,希望对大家有用处。(话不多说上代码)1,vue路由拦截浏览器后退实现表单保存类似需求(为了防止用户突然离开,没有保存已输入的信息。)//在路由组件中:mounted(){},beforeRouteLeave(to,from... 查看详情

使用composer遇到的问题及解决方法

  可以尝试利用composer下载Yii框架,编辑composer.json文件:{"require":{"yiisoft/yii2":"~2.0.0"}}   然后在这个包含composer.json文件的目录下执行命令:composerinstall  然后就等待下载完成 问题零:Yourrequirementscouldnotberesolvedtoanin... 查看详情

使用gomonkeymock函数及方法时遇到panic:permissiondenied的问题及解决方法(代码片段)

文章目录问题描述解决方法问题描述基于Golang语言,使用gomonkey来mock函数及方法,在Mac环境执行的时候,遇到如下错误:panic:permissiondenied[recovered]panic:permissiondenied显然,执行单测的时候,遇到了权限问题... 查看详情

pyspark使用过程中遇到的典型问题及处理办法

PySpark使用过程中遇到的典型问题及处理办法前言不知道为啥,现在写博客总得弄点前言,观者无不叹息为何生命中宝贵的20秒钟要浪费在这无意义的前言上????????????好吧,就是想水点文字,今天是7月的最后一天,距离零点还有1个小时... 查看详情

使用 Apache Thrift 时如何检测协议不匹配?

】使用ApacheThrift时如何检测协议不匹配?【英文标题】:HowtodetectprotocolmismatchwhileusingApacheThrift?【发布时间】:2015-08-0709:23:03【问题描述】:我正在我的Mac上运行一对使用ApacheThrift进行通信的客户端和服务器程序。在我们的生产... 查看详情

使用tensorflow及anaconda(spyder)时遇到的问题(代码片段)

(1)问题一:如何在tensorflow环境下使用spyder答:在anacondanavigator中environment中搜索tensorflow,安装适合tensorflow的spyder(2)问题二:在在tensorflow环境下使用spyder时有些库文件(比如matplotlib)显示nomodule,如何解决答:anaconda下已经... 查看详情

element-ui使用及遇到的问题

参考技术A原因:Popover默认是插入到body元素上的,此时得修改成插入到父级元素中当插入到父元素后悔发现原本的弹框边界悔自动变换位置的特性失效了解决办法:设置popper-options中的boundariesElement为边界判定的HTMLElement元素解决... 查看详情

flutter单线程异步及isolate使用过程遇到的问题(代码片段)

遇到两个问题:官方子isolate内不能使用插件.解决方案:使用isolate_handler/flutter_isolate代替官方isolate参考链接子isolate处理完耗时操作,传递结果给主isolate的方法:voidsend(Object?message);耗时严重,达秒级,顿了一下,页面才刷新的感觉(未解决... 查看详情

flutter单线程异步及isolate使用过程遇到的问题(代码片段)

遇到两个问题:官方子isolate内不能使用插件.解决方案:使用isolate_handler/flutter_isolate代替官方isolate参考链接子isolate处理完耗时操作,传递结果给主isolate的方法:voidsend(Object?message);耗时严重,达秒级,顿了一下,页面才刷新的感觉(未解决... 查看详情

thrift官方安装手册(译)

本篇是Thrift官网安装文档的翻译,原地址点击这里。Thrift之前是不支持Windows的。但是似乎0.9版本以后已经支持Window了。介绍了Thrift安装的环境要求以及在centos,Debian/Ubuntu,OSX和Windows下的安装过程。并提出了一些安装过程中可能遇... 查看详情

java遇到的问题及解答

...用?当一个Swing程序需要执行一个长时间的任务,通常将使用一个工作线程来完成。每个任务在一个工作线程中执行,它是一个javax.swing.SwingWorker类的实例。SwingWorker类是抽象类;你必须定义它的子类来创建一个SwingWorker对象;通... 查看详情

使用tensorflowobject_detectionapi训练自己的数据遇到的问题及解决方法

1.Windows下出现找不到object_detection包的问题。解决方法  在Anaconda3\soft\Lib\site-packages新建一个pth文件,将PedestrianDetection文件夹和slim文件夹路径写入。2.训练中出现的问题①raiseValueError(‘Firststepcannotbezero.‘)ValueError:Firststepcannotb 查看详情

Thrift 库:TServerEventHandler 的使用

】Thrift库:TServerEventHandler的使用【英文标题】:ThriftLibrary:UsageofTServerEventHandler【发布时间】:2014-10-1310:49:13【问题描述】:我是Thrift新手,我想知道是否有任何方法可以知道/区分传入Thrift服务器和前往Thrift客户端(RPC响应)的... 查看详情

git使用具体解释egit使用过程中遇到的问题及解决的方法

1.   Git错误non-fast-forward后的冲突解决问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不同意你直接把你的代码覆盖上去。于是你有2个选择方式:1.强推,即利用强覆盖方式用你本地的代码... 查看详情

嵌套fragment的使用及遇到thespecifiedchildalreadyhasaparent.youmustcallremoveview()问题的解决

...了“TabActivitywasdeprecatedinAPIlevel13.",并且建议大家使用Fragment。所以学习了嵌套Fragment的使用,参考了这个博客中的相关思路和代码。 在Android 查看详情