HBase: Thrift写数据报错——socket.error: [Errno 32] Broken pip
生活随笔
收集整理的這篇文章主要介紹了
HBase: Thrift写数据报错——socket.error: [Errno 32] Broken pip
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
博主用的是python來讀寫hbase
需要安裝 pip install thrift 和 pip install hbase-thrift
hbase客戶端創建:
from thrift import Thrift from thrift.transport import TSocket, TTransport from thrift.protocol import TBinaryProtocol from hbase import Hbase#server端地址和端口,web是HMaster也就是thriftServer主機名,9090是thriftServer默認端口 transport = TSocket.TSocket('hadoop4’, 9090) #可以設置超時 transport.setTimeout(5000) #設置傳輸方式(TFramedTransport或TBufferedTransport) trans = TTransport.TBufferedTransport(transport) #設置傳輸協議 protocol = TBinaryProtocol.TBinaryProtocol(trans) #確定客戶端 client = Hbase.Client(protocol) #打開連接 transport.open()如果,在讀寫hbase過程中報錯:socket.error: [Errno 32] Broken pip,原因大致是因為,數據還沒有讀寫進去,socket已經關閉了,解決辦法就是在創建客戶端設置超時時間。
#可以設置超時 transport.setTimeout(5000)或者直接在配置文件conf/hbase-site.xml中添加如下配置(每個節點都添加):
?
<property><name>hbase.thrift.server.socket.read.timeout</name><value>6000000</value><description>eg:milisecond</description> </property>即設置超時時間為60s。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的HBase: Thrift写数据报错——socket.error: [Errno 32] Broken pip的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 各个企业创始人记录--【持续更新中!!!
- 下一篇: GitLab CI持续集成配置方案