elasticsearch,Django,elasticsearch" /> elasticsearch,Django,elasticsearch" />

将django elasticsearch dsl与AWS elasticsearch一起使用-引发HTTP_异常.get(状态代码,TransportError)

将django elasticsearch dsl与AWS elasticsearch一起使用-引发HTTP_异常.get(状态代码,TransportError),django,elasticsearch,Django,elasticsearch,我正在尝试使用Django elasticsearch dsl和elasticsearch服务器将Django应用程序转换为使用AWS elasticsearch,我正在使用ElsaticBeanStalk部署它 当我使用 03_elasticsearch: command: "source /opt/python/run/venv/bin/activate && ./src/manage.py search_index --rebuild -f" 我得到这个错误

我正在尝试使用Django elasticsearch dsl和elasticsearch服务器将Django应用程序转换为使用AWS elasticsearch,我正在使用ElsaticBeanStalk部署它

当我使用

03_elasticsearch:   
    command: "source /opt/python/run/venv/bin/activate && ./src/manage.py search_index --rebuild -f"
我得到这个错误

Creating index 'hjsm-local'
Traceback (most recent call last):
  File "./src/manage.py", line 10, in <module>
  execute_from_command_line(sys.argv)
  File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
  utility.execute()
  File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv
  self.execute(*args, **cmd_options)
  File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/base.py", line 353, in execute
  output = self.handle(*args, **options)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 134, in handle
  self._rebuild(models, options)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 114, in _rebuild
  self._create(models, options)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 84, in _create
  index.create()
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch_dsl/index.py", line 102, in create
  self.connection.indices.create(index=self._name, body=self.to_dict(), **kwargs)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/client/utils.py", line 69, in _wrapped
  return func(*args, params=params, **kwargs)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/client/indices.py", line 110, in create
  params=params, body=body)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/transport.py", line 327, in perform_request
  status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 110, in perform_request
  self._raise_error(response.status, raw_data)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/connection/base.py", line 114, in _raise_error
  raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
  elasticsearch.exceptions.TransportError: <exception str() failed>
   (ElasticBeanstalk::ExternalInvocationError)
创建索引“hjsm本地”
回溯(最近一次呼叫最后一次):
文件“/src/manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/opt/python/run/venv/local/lib64/python3.6/site packages/django/core/management/_init__.py”,第381行,从命令行执行
utility.execute()
文件“/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/_-init__.py”,执行中第375行
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/base.py”,第316行,从_argv运行
self.execute(*args,**cmd_选项)
文件“/opt/python/run/venv/local/lib64/python3.6/site packages/django/core/management/base.py”,第353行,在execute中
输出=self.handle(*args,**选项)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/django_elasticsearch_dsl/management/commands/search_index.py”,第134行,在handle中
自我重建(模型、选项)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/django_elasticsearch_dsl/management/commands/search_index.py”,第114行,在
自创建(模型、选项)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/django_elasticsearch_dsl/management/commands/search_index.py”,第84行,在创建
index.create()
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch_dsl/index.py”,第102行,在create中
self.connection.index.create(index=self.\u name,body=self.to\u dict(),**kwargs)
文件“/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/client/utils.py”,第69行,以
返回函数(*args,params=params,**kwargs)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch/client/index.py”,第110行,在create中
参数=参数,主体=主体)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch/transport.py”,执行请求中的第327行
状态、标题、数据=连接。执行_请求(方法、url、参数、正文、忽略=忽略、超时=超时)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch/connection/http_urllib3.py”,执行请求中的第110行
self.\u raise\u错误(response.status,原始数据)
文件“/opt/python/run/venv/local/lib/python3.6/site packages/elasticsearch/connection/base.py”,第114行,出现错误
引发HTTP_异常。获取(状态代码,传输错误)(状态代码,错误消息,附加信息)
elasticsearch.exceptions.TransportError:
(ElasticBeanstalk::ExternalInvocationError)
我不明白这是在告诉我什么——有人能给我建议吗

更新


我想我得到了一个HTTP406错误,但我不明白为什么。如果我使用localhost:9200而不是我的aws eleasticsearch服务器在本地运行,它可以正常工作

问题在于它需要ElasticSearch 2.4。我必须设置一个运行此服务器的服务器,当我通过它连接时,它工作了

问题在于它需要ElasticSearch 2.4。我必须设置一个运行此服务器的服务器,当我通过它连接时,它工作了

您可能需要检查您正在使用的django elasticsearch dsl版本是否支持您正在使用的AWS ES版本。我得出了相同的结论。我认为当前系统使用的是elasticsearch2.4(这令人惊讶,因为它使用的是django2.1)。我正试图找到一个提供2.4版的elasticsearch服务,所以我不需要自己去鼓动它。你可能想检查你正在使用的django elasticsearch dsl版本是否支持你正在使用的AWS ES版本。我得出了不同的结论。我认为当前系统使用的是elasticsearch2.4(这令人惊讶,因为它使用的是django2.1)。我正试图找到一个提供2.4版本的elasticsearch服务,这样我就不需要自己去鼓动它了