1. 程式人生 > >happybase(TSocket read 0 bytes)

happybase(TSocket read 0 bytes)

關於報錯

happybase 是使用python連線hbase的一個第三方庫,目前基於thrift1 。在使用過程中經常碰到報錯

TTransportException(type=4, message='TSocket read 0 bytes')

即使使用thrift server首頁上提供了連線Apache HBase Wiki on Thrift裡的demo也一樣報錯。

測試程式碼

import happybase
def get_tables_name(host,port):
    conn = happybase.Connection(host=host,port=port)
    return conn.tables()

很簡單,就是連線hbase,返回所有table名稱。

報錯可能原因

  • hbase 未開啟thrift服務
  • Connection引數與thrift服務不匹配

Connection引數

看一下官網wiki上建立連線的例子

from thrift.transport.TSocket import TSocket
from thrift.transport.TTransport import TBufferedTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase

transport = TBufferedTransport(TSocket(host, port))
transport.open()
protocol = TBinaryProtocol.TBinaryProtocol(transport)

client = Hbase.Client(protocol)

構建一個連線需要兩個輔助類 TBufferedTransportTBinaryProtocol。其中transport負責通訊協議,protocol負責序列化協議。

happybase connection

happybase官網上對於connection的介紹connection的介紹

總結有三個引數需要匹配

  • protocol: binary (the default) and compact
  • compat :0.90, 0.92, 0.94, or 0.96 (the default)
  • transport :buffered (the default) and framed

在我將上述測試程式碼改為

import happybase
def get_tables_name(host,port):
    conn = happybase.Connection(host=host,port=port,protocol='compact',transport='framed')
    return conn.tables()

就沒問題了。

相關推薦

happybase(TSocket read 0 bytes)

關於報錯 happybase 是使用python連線hbase的一個第三方庫,目前基於thrift1 。在

hue集成hbase出現TSocket read 0 bytes

cor hdfs bytes hba sin hdf 集成 name 啟動 解決辦法:修改hbase的配置文件 添加以下配置 https://stackoverflow.com/questions/20415493/api-error-tsocket-read-0-byte

python使用thrift出現TTransportException: TSocket read 0 bytes

今天使用python寫的thrift客戶端來連線server,server收不到任何request。 client端出現了這個exception Traceback (most recent call last): ... ... ... message='TSocket

thrift TSocket read 0 bytes(string型別中的一個坑)

最近把thrif從0.9版本升級到0.10版本之後,一些一直在報thrift TSocket read 0 bytes 錯誤。 此篇文章記錄thrift中的一個坑。 從thrift的官方文件中可以知道,如下: Base Types The b

web服務連線mysql報錯 解析:Can not read response from server. Expected to read 4 bytes, read 0 bytes before c

報錯內容: The last packet successfully received from the server was 3,087,649 milliseconds ago.  The last packet sent successfully to the ser

python藉助pysh2連線hiveserver2操作hive資料庫時thrift.transport.TTransport.TTransportException: TSocket read 0

2017-10-12T14:20:45,755 INFO [HiveServer2-Handler-Pool: Thread-42] session.SessionState: Resetting thread name to HiveServer2-Handler-Pool: Thread-42 201

ERROR Error when sending message to topic test with key: null, value: 0 bytes with error: 錯誤解決

錯誤資訊 [[email protected] kafka_2.11-0.10.0.1]# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test hello [2018-09

Flume檔案通道(file channel)報錯:Usable space exhausted, only 0 bytes remaining, required 524288000 bytes

檔案通道是資料儲存在磁碟中,錯誤原因,磁碟空間不足,具體來說,是一下兩個配置目錄空間不足: a1.channels.c2.checkpointDir = /mnt/flume/checkpoint a1

Disk Read Latency Avg. Disk sec/Read:0.02 sec報警

Disk Read Latency Avg. Disk sec/Read:0.02 sec Disk Read Latency - 持續 5 分鐘 - ××× (>20 毫秒) 說明 Avg.Disk sec/Read 效能計數器表示從磁碟讀取資料所需的平均時間(秒)。 此

tensorflow存取模型報錯 read less bytes than requested

這幾天在用tensorflow的時候,存取模型遇到了read less bytes than requested的錯誤。 簡單的說就是tf.restore()取出來的一堆引數跟應該有的對不上。 一直不知道錯在哪裡,卡了好幾天。 最後發現是因為是我是邊訓練模型邊定期存

InnoDB: Error: log file .ib_logfile0 is of different size 0 10485760 bytes

ren code window windows 技術分享 watermark specified engine completed 啟動WAMP Server的時候報例如以下的錯誤: 140618 23:12:32 [Note] Plugin 'FEDER

Cannot read property 'component' of undefined 即vue-router 0.x轉化為2.x

path 解決 red out json enc pos 配置 routes 原文鏈接:http://blog.csdn.net/m0_37754657/article/details/71269988 由於vue版本為1.0,沒有一些vue-router指令;因而需要vu

[Vue warn]: Error in render: "TypeError: Cannot read property '0' of undefined

來看 for per 字段 後來 AD cannot fine size   註意,只要出現Error in render,即渲染時候報錯,此時應該去渲染位置去找錯誤,而不是函數裏面。   今天就碰到這個錯誤,我一直只註意著Cannot read property ‘0‘

查看邏輯卷出現 read failed after 0 of 4096 at 0

set oot home led vol -s ORC block ice 1、問題描述# lvdisplay /dev/VolGroup1/LVdata1: read failed after 0 of 4096 at 0: Input/output error /d

could not read block 0 in file "base/16389/17624"

解決 應用 做了 block 創建 erro 可用 從庫 失敗 PGSQL查詢數據出現錯誤錯誤信息:ERROR: could not read block 0 in file "base/16389/17624": read only 0 of 8192

select()返回不為0,但是read()返回0個位元組??

我有一段程式碼這樣寫的: char buf[maxMessageSize]; int maxfdp1; fd_set rset; FD_ZERO(&rset); //setbuf(stdout,NULL); while(1){

vue報錯Error in render: "TypeError: Cannot read property '0' of undefined"

通常有兩種情況: 1、在模板的html標籤上使用length報錯 vue 中使用 length判斷的時候,有時會報錯,如下: <div class="item_list" v-if="form.checkVal.length > 0" >列表1</div><div c

上傳文件報錯:Warning: POST Content-Length of 9443117 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

The lin clas php 但是 exce 小文件 情況 lan 只需在php.ini中設置: upload_max_filesize = 1000M; post_max_size = 1000M;還有一種情況就是小文件可以上傳成功,但是大文件上傳,$_FILES

Write and read opencv3.0 ml files(random forest)

using namespace cv; using namespace std; int main() { { auto rtrees = cv::ml::RTrees::create(); rtrees->setMaxDepth(10);

關於sklearn中MINST資料的讀取報錯OSError: could not read bytes

執行: from sklearn.datasets import fetch_mldata mnist=fetch_mldata('MNIST original') 出現如下圖所示錯誤:  解決方法: 通過其它方法獲取mnist-original.mat檔案,在