pyspider +elasticsearch ,启动时报错

如题,我用最新的pyspider版本,连接远程的elasticsearch ,会说host无法识别

 File "D:\Anaconda2\lib\site-packages\pyspider\run.py", line 43, in <lambda>
    return utils.Get(lambda: connect_database(value))
  File "D:\Anaconda2\lib\site-packages\pyspider\database\__init__.py", line 44, in connect_database
    db = _connect_database(url)
  File "D:\Anaconda2\lib\site-packages\pyspider\database\__init__.py", line 170, in _connect_database
    return TaskDB([parsed.netloc], index=index)
  File "D:\Anaconda2\lib\site-packages\pyspider\database\elasticsearch\taskdb.py", line 23, in __init__
    self.es = Elasticsearch(hosts=hosts)
  File "D:\Anaconda2\lib\site-packages\elasticsearch\client\__init__.py", line 168, in __init__
    self.transport = transport_class(_normalize_hosts(hosts), **kwargs)
  File "D:\Anaconda2\lib\site-packages\elasticsearch\transport.py", line 112, in __init__
    self.set_connections(hosts)
  File "D:\Anaconda2\lib\site-packages\elasticsearch\transport.py", line 165, in set_connections
    connections = map(_create_connection, hosts)
  File "D:\Anaconda2\lib\site-packages\elasticsearch\transport.py", line 164, in _create_connection
    return self.connection_class(**kwargs)
  File "D:\Anaconda2\lib\site-packages\elasticsearch\connection\http_urllib3.py", line 72, in __init__
    self.pool = pool_class(host, port=port, timeout=self.timeout, maxsize=maxsize, **kw)
  File "D:\Anaconda2\lib\site-packages\urllib3\connectionpool.py", line 173, in __init__
    ConnectionPool.__init__(self, host, port)
  File "D:\Anaconda2\lib\site-packages\urllib3\connectionpool.py", line 70, in __init__
    raise LocationValueError("No host specified.")
urllib3.exceptions.LocationValueError: No host specified.

基本的配置参数如下,其中host是远程的ip

{"taskdb": "elasticsearch+taskdb:http://host:9200/taskdb",
  "projectdb": "elasticsearch+projectdb:http://host:9200/projectdb",
  "resultdb": "elasticsearch+resultdb:http://host:9200/resultdb"
}

急求大神帮忙

阅读 4.4k
3 个回答

已解决问题,是config 里面的配置写的有点问题

新手上路,请多包涵

通过 Elasticsearch(['ip:port'],http_auth=(username,pwd),timeout=30) 解决,是因为密码用到了@#,希望帮到需要的人

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进