Сервер Titan Gremlin выдает ошибку, а не запрос рукопожатия WebSocket: отсутствует обновление

Я загрузил Titan Version 1.0 на сервер EC2 с URL-адреса.

Titan 1.0.0 с Hadoop 1 — рекомендуется

Затем я распаковал и запустил сервер титанов с помощью следующей команды:

bin/titan.sh старт

Forking Cassandra...
Running `nodetool statusthrift`... OK (returned exit status 0 and printed string "running").
Forking Elasticsearch...
Connecting to Elasticsearch (127.0.0.1:9300).... OK (connected to 127.0.0.1:9300).
Forking Gremlin-Server...
Connecting to Gremlin-Server (127.0.0.1:8182).... OK (connected to 127.0.0.1:8182).
Run gremlin.sh to connect.

Затем я попытался выполнить HTTP-запрос в версии Titan 1.0 (в версии Titan 0.4 Rexster работает правильно), но я получаю следующую ошибку.

не запрос рукопожатия WebSocket: отсутствует обновлениеОшибка HTTP-запроса Titan 1.0


person Sumit Chourasia    schedule 17.05.2016    source источник


Ответы (1)


Используя настройку по умолчанию, вы не можете подключиться к Titan v1.0.0 через HTTP-соединение. Точнее, вы не можете подключиться к Gremlin Server через HTTP.

При использовании Titan вы также используете Gremlin Server из инфраструктуры Apache TinkerPop. Gremlin Server принимает соединения WebSocket (по умолчанию) и перенаправляет запросы на сервер Titan.

Для Titan v1.0.0, который поставляется с TinkerPop v3.0.1 (поэтому сервер Gremlin v3.0.1), вам необходимо вручную настроить HttpChannelizer в файле conf/gremlin-server/gremlin-server.yaml:

  channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer

См. также: документацию TinkerPop v3.0.1: подключение через REST .

Это заменяет WebSocketChannelizer по умолчанию и позволяет отправлять запросы на сервер Gremlin через HTTP. Когда вы запускаете ./bin/titan.sh start, вы фактически запускаете Gremlin Server вместе со всем, что связано с Titan (экземпляр Titan, Cassandra и Elasticsearch в настройках по умолчанию).

Если вы должны использовать браузер и по-прежнему хотите использовать соединение WebSocket, вы можете использовать https://github.com/jbmusso/gremlin-javascript, который является клиентом JavaScript (Node.js/Browser) для сервера Gremlin. Он поддерживает соединения WebSocket в браузере. При использовании этой настройки вам не нужно ничего редактировать в файле gremlin-server.yaml.

person jbmusso    schedule 17.05.2016