2013-10-11 3 views
0

Я хочу создать социальную сеть в каркасе django в Openshift, тогда мне нужен хотя бы граф db (например, Neo4j) и реляционный db (например, Mysql). У меня возникли проблемы с добавлением Neo4j в мой проект, потому что у openshift нет ни одного картриджа для него. Затем я решил установить его с DIY, но я не понимаю, функциональность запуска и остановки файлов в .openshift/action hooks .Затем я делаю следующие шаги для установки Neo4j на сервере:Сервер Neo4j не запускался в openshift

1.ssh на мой счет:

ssh [email protected] 

2.go в папке, у которой есть разрешение на запись (я нахожусь в app-root/repo/и mkdir test в ней) и загружаю пакет neo4j с here. и извлечь его в тестовую папку, которую я создал раньше:

tar -xvzf neo4j-community-1.9.4-unix.tar.gz 

3.And, наконец, запустить файл Neo4j и запустить его:

neo4j-community-1.9.4/bin/neo4j start 

, но я вижу эти журналы и не может запустить Neo4j :

process [3898]... waiting for server to be ready............ Failed 
to start within 120 seconds. 
Neo4j Server may have failed to start, please check the logs. 

Как я могу запустить эту базу данных в сперматозоизме? где я ошибаюсь? и где находятся журналы в please check the logs?

+1

Файлы журнала находятся в 'neo4j-community-1.9.4/data/logs/console.log'. –

+0

Возможно, проблема с портом? Neo4j прослушивает 7474 и некоторые другие порты, настраиваемые в conf/neo4j.properties и conf/neo4j-server.properties –

+0

Я бы тоже не поместил его в app-root/repo, но вместо этого я бы поместил его в app-root/data , – TheSteve0

ответ

0

Я бы также не поместил его в app-root/repo, но вместо этого я бы поместил его в app-root/data.

Вам также необходимо использовать IP-передатчик - я думаю, что env. переменная - это что-то вроде OPENSHIFT_INTERAL_IP. 127.0.0.1 недоступен для привязки, но я думаю, что порты должны быть открыты.

0

Есть 2 способа запускать neo4j: встроенный или автономный (открыт через службу отдыха).

Автономный - это то, что вы пытаетесь сделать. Я думаю, что правильный способ установки neo4j состоял бы в том, чтобы написать патрон для открытия, а затем добавить картридж на свое снаряжение. Об этом шла некоторая дискуссия, но, похоже, никто не нашел времени для этого. Проверьте https://www.openshift.com/forums/openshift/neo4j-cartridge. Если вы решите написать свой собственный картридж, я могу помочь. Вот документы: https://www.openshift.com/developers/download-cartridges.

Другая опция работает в встроенном режиме, который я использовал. Вам необходимо настроить приложение Java EE (потому что библиотеки встроенного режима neo4j доступны только с java) и поместите библиотеки neo4j в ваш проект. Затем вы можете открыть несколько маршрутов, проверить параметры и запустить свои запросы neo4j внутри сервлетов.

1

Я разработал картридж с открывающейся дверью, который исправляет проблему разрешения в спусках. Мне пришлось изменить класс HostBoundSocketFactory и SimpleAppServer в neo4j, чтобы привязать его, не используя порт 0, но используя доступный порт openshift.

Вы можете проверить на сайте: https://github.com/danielnatali/openshift-neo4j-cartridge

это работает для меня.

Смежные вопросы