- nebula 版本:2.0.0beta
- nebula-python版本: 2.0.0.post1
- 部署方式(分布式 / 单机 / Docker / DBaaS):docker
- 硬件信息
- 磁盘( 必须为 SSD ,不支持 HDD)500GB SSD
- CPU、内存信息:128G 40C
- 问题的具体描述
按照nebula-python的官方说明,进行连接池的初始化,执行到验证用户名和密码那一步时报错:
Traceback (most recent call last):
File "D:\projects\nebula_networkX\venv\lib\site-packages\nebula2\gclient\net\__init__.py", line 349, in authenticate
resp = self._connection.authenticate(user_name, password)
File "D:\projects\nebula_networkX\venv\lib\site-packages\nebula2\graph\GraphService.py", line 892, in authenticate
return self.recv_authenticate()
File "D:\projects\nebula_networkX\venv\lib\site-packages\nebula2\graph\GraphService.py", line 904, in recv_authenticate
(fname, mtype, rseqid) = self._iprot.readMessageBegin()
File "D:\projects\nebula_networkX\venv\lib\site-packages\thrift\protocol\TBinaryProtocol.py", line 153, in readMessageBegin
name = self.trans.readAll(sz)
File "D:\projects\nebula_networkX\venv\lib\site-packages\thrift\transport\TTransport.py", line 75, in readAll
chunk = self.read(need)
File "D:\projects\nebula_networkX\venv\lib\site-packages\thrift\transport\TTransport.py", line 186, in read
self.__rbuf = StringIO(self.__trans.read(max(sz, self.__rbuf_size)))
File "D:\projects\nebula_networkX\venv\lib\site-packages\thrift\transport\TSocket.py", line 300, in read
raise TTransportException(type=TTransportException.END_OF_FILE,
thrift.transport.TTransport.TTransportException: TSocket read 0 bytes
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Program Files\JetBrains\PyCharm Community Edition 2018.1.3\helpers\pydev\pydevd.py", line 1664, in <module>
main()
File "D:\Program Files\JetBrains\PyCharm Community Edition 2018.1.3\helpers\pydev\pydevd.py", line 1658, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "D:\Program Files\JetBrains\PyCharm Community Edition 2018.1.3\helpers\pydev\pydevd.py", line 1068, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "D:\Program Files\JetBrains\PyCharm Community Edition 2018.1.3\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:/projects/nebula_networkX/main/main.py", line 111, in <module>
session = connection_pool.get_session('root', 'password')
File "D:\projects\nebula_networkX\venv\lib\site-packages\nebula2\gclient\net\__init__.py", line 178, in get_session
session_id = connection.authenticate(user_name, password)
File "D:\projects\nebula_networkX\venv\lib\site-packages\nebula2\gclient\net\__init__.py", line 356, in authenticate
raise IOErrorException(IOErrorException.E_CONNECT_BROKEN, te.message)
nebula2.Exception.IOErrorException: TSocket read 0 bytes
报错代码和官网提供的例子基本一致
# define a config
config = Config()
config.max_connection_pool_size = 10
# init connection pool
connection_pool = ConnectionPool()
# if the given servers are ok, return true, else return false
ok = connection_pool.init([('192.168.xxx.xxx', 7001)], config)
# get session from the pool
session = connection_pool.get_session('root', 'password')
# show hosts
result = session.execute('SHOW HOSTS')
print(result)
# release session
session.release()
# close the pool
connection_pool.close()
报错语句:session = connection_pool.get_session('root', 'password')