Вступление
OrientDB - это многомодельная база данных NoSQL с поддержкой баз данных графов и документов. Это приложение Java и может работать в любой операционной системе. Это также полностью ACID-жалоба с поддержкой репликации нескольких мастеров.
В этой статье вы узнаете, как установить и настроить последнюю версию OrientDB для сообщества на сервере Ubuntu 14.04.
Предпосылки
Чтобы следовать этому уроку, вам понадобится следующее:
-
Ubuntu 14.04 Droplet
-
Пользователь без полномочий root с привилегиями sudo (Initial Server Setup with Ubuntu 14.04 объясняет, как это настроить.)
[[step-1 -—- install-oracle-java]] == Шаг 1. Установка Oracle Java
OrientDB - это Java-приложение, которое требует Java версии 1.6 или выше. Поскольку Java намного быстрее, чем Java 6 и 7, настоятельно рекомендуется Java 8. И это версия Java, которую мы установим на этом шаге.
Чтобы установить Java JRE, добавьте следующие Личные архивы пакетов (PPA):
sudo add-apt-repository ppa:webupd8team/java
Обновите базу данных пакетов:
sudo apt-get update
Затем установите Oracle Java. Установка этого конкретного пакета не только устанавливает его, но и делает его Java JRE по умолчанию. При появлении запроса примите лицензионное соглашение:
sudo apt-get install oracle-java8-set-default
После установки убедитесь, что теперь это Java JRE по умолчанию:
java -version
Ожидаемый результат следующий (точная версия может отличаться):
outputjava version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
[[шаг-2 -—- загрузка-и установка-orientdb]] == Шаг 2 - Загрузка и установка OrientDB
На этом этапе мы загрузим и установим последнюю версию OrientDB для сообщества. На момент публикации этой публикации, OrientDB Community 2.1.3 является последней версией. Если была выпущена более новая версия, измените номер версии на соответствующий:
wget https://orientdb.com/download.php?file=orientdb-community-2.1.3.tar.gz
Загруженный архив содержит предварительно скомпилированные двоичные файлы, которые вам нужны для запуска OrientDB в вашей системе, поэтому все, что вам нужно сделать, это распаковать его в подходящий каталог. Поскольку/opt
является традиционным местом размещения сторонних программ в Linux, давайте развернем его там:
sudo tar -xf download.php?file=orientdb-community-2.1.3.tar.gz -C /opt
Файлы извлекаются в каталог с именемorientdb-community-2.1.3
. Чтобы было легче работать с ним, давайте переименуем его:
sudo mv /opt/orientdb-community-2.1.3 /opt/orientdb
[[step-3 -—- start-the-server]] == Шаг 3 - Запуск сервера
Теперь, когда двоичный файл установлен, вы можете запустить сервер и подключиться к консоли. Перед этим перейдите в каталог установки:
cd /opt/orientdb
Затем запустите сервер:
sudo bin/server.sh
Помимо создания набора выходных данных, при первом запуске сервера вам будет предложено указать пароль для учетной записи пользователяroot. Это внутренняя учетная запись OrientDB, которая будет использоваться для доступа к серверу. Например, это комбинация имени пользователя и пароля, которая будет использоваться для доступа к OrientDB Studio, веб-интерфейсу для управления OrientDB. Если вы не укажете пароль, он будет создан автоматически. Тем не менее, лучше указать один из них, сделать это при появлении соответствующего запроса.
Часть выходных данных, генерируемых при запуске сервера, сообщает, какие порты прослушивают сервер и OrientDB Studio:
Output2015-10-12 11:27:45:095 INFO Databases directory: /opt/orientdb/databases [OServer]
2015-10-12 11:27:45:263 INFO Listening binary connections on 0.0.0.0:2424 (protocol v.32, socket=default) [OServerNetworkListener]
2015-10-12 11:27:45:285 INFO Listening http connections on 0.0.0.0:2480 (protocol v.10, socket=default) [OServerNetworkListener]
...
2015-10-12 11:27:45:954 INFO OrientDB Server v2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) is active. [OServer]
Поскольку OrientDB теперь работает в окне вашего терминала, во втором окне терминала для того же Droplet убедитесь, что сервер прослушивает порты 2424 (для двоичных соединений) и 2480 (для соединений HTTP). Чтобы убедиться, что он прослушивает двоичные соединения, выполните:
sudo netstat -plunt | grep 2424
Вывод должен выглядеть примерно так:
Outputtcp6 0 0 :::2424 :::* LISTEN 1617/java
Чтобы убедиться, что он прослушивает HTTP-соединения, выполните:
sudo netstat -plunt | grep 2480
Ожидаемый результат выглядит следующим образом:
Outputtcp6 0 0 :::2480 :::* LISTEN 1617/java
[[step-4 -—- connected-to-the-console]] == Шаг 4 - Подключение к консоли
Теперь, когда сервер работает, вы можете подключиться к нему с помощью консоли, то есть интерфейса командной строки:
sudo /opt/orientdb/bin/console.sh
Вы увидите следующее:
OutputOrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0
orientdb>
Теперь подключитесь к экземпляру сервера. Требуемый пароль тот, который вы указали при первом запуске сервера ранее:
connect remote:127.0.0.1 root root-password
Если подключен, выход должен быть:
OutputConnecting to remote Server instance [remote:127.0.0.1] with user 'root'...OK
orientdb {server=remote:127.0.0.1/}>
Введитеexit
, чтобы выйти:
exit
Итак, вы только что установили OrientDB, запустили его вручную и подключились к нему. Это все хорошо. Однако это также означает, что запускать его нужно каждый раз, когда вы перезагружаете сервер. Это не хорошо. На следующих шагах мы настроим и настроим OrientDB для работы так же, как и для любого другого демона на сервере.
ВведитеCTRL-C
в окне терминала, пока OrientDB все еще работает, чтобы остановить его.
[[step-5 -—- configuring-orientdb]] == Шаг 5 - Настройка OrientDB
На данный момент OrientDB установлен в вашей системе, но это всего лишь набор сценариев на сервере. На этом этапе мы изменим файл конфигурации, а также настроим его для запуска в системе в качестве демона. Это предполагает изменение сценария/opt/orientdb/bin/orientdb.sh
и файла конфигурации/opt/orientdb/config/orientdb-server-config.xml
.
Давайте начнем с изменения сценария/opt/orientdb/bin/orientdb.sh
, чтобы указать OrientDB пользователю, от имени которого он должен запускаться, и указать ему каталог установки.
Итак, сначала создайте системного пользователя, от которого вы хотите, чтобы OrientDB запускался. Команда также создаст группуorientdb:
sudo useradd -r orientdb -s /bin/false
Передайте права собственности на каталог и файлы OrientDB только что созданному пользователю и группе OrientDB:
sudo chown -R orientdb:orientdb /opt/orientdb
Теперь внесем несколько изменений в скриптorientdb.sh
. Мы начинаем с открытия его с помощью:
sudo nano /opt/orientdb/bin/orientdb.sh
Во-первых, нам нужно указать его в правильном каталоге установки, а затем указать, с каким пользователем он должен работать. Посмотрите на следующие две строки в верхней части файла:
/opt/orientdb/bin/orientdb.sh# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="YOUR_ORIENTDB_INSTALLATION_PATH"
ORIENTDB_USER="USER_YOU_WANT_ORIENTDB_RUN_WITH"
И измените их на:
/opt/orientdb/bin/orientdb.sh# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="/opt/orientdb"
ORIENTDB_USER="orientdb"
Теперь позвольте системному пользователю запускать скрипт с помощьюsudo
.
Ниже, в функции скриптаstart, найдите следующую строку и закомментируйте ее, добавив перед ней символ#
. Он должен выглядеть так, как показано:
/opt/orientdb/bin/orientdb.sh#su -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &" - $ORIENTDB_USER
Скопируйте и вставьте следующую строку сразу после той, которую вы только что закомментировали:
/opt/orientdb/bin/orientdb.shsudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./server.sh 1>../log/orientdb.log 2>../log/orientdb.err &"
Под функциейstop найдите следующую строку и закомментируйте ее. Он должен выглядеть так, как показано.
/opt/orientdb/bin/orientdb.sh#su -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &" - $ORIENTDB_USER
Скопируйте и вставьте следующую строку сразу после той, которую вы только что закомментировали:
/opt/orientdb/bin/orientdb.shsudo -u $ORIENTDB_USER sh -c "cd \"$ORIENTDB_DIR/bin\"; /usr/bin/nohup ./shutdown.sh 1>>../log/orientdb.log 2>>../log/orientdb.err &"
Сохраните и закройте файл.
Далее откройте файл конфигурации:
sudo nano /opt/orientdb/config/orientdb-server-config.xml
Мы собираемся изменить тегstorages и, при желании, добавить еще одного пользователя в тегusers. Прокрутите до элементаstorages и измените его так, чтобы он выглядел следующим образом. username иpassword - это ваши учетные данные для входа, то есть те, которые вы использовали для входа на свой сервер:
/opt/orientdb/config/orientdb-server-config.xml
Если вы прокрутите до тегаusers, вы должны увидеть имя пользователя и пароль пользователя root, который вы указали при первом запуске сервера OrientDB на шаге 3. Также в списке будет гостевой аккаунт. Вам не нужно добавлять других пользователей, но если вы хотите, вы можете добавить имя пользователя и пароль, которые вы использовали для входа на сервер DigitalOcean. Ниже приведен пример того, как добавить пользователя в тегusers:
/opt/orientdb/config/orientdb-server-config.xml
Сохраните и закройте файл.
Наконец, измените права доступа к файлу, чтобы предотвратить его чтение неавторизованными пользователями:
sudo chmod 640 /opt/orientdb/config/orientdb-server-config.xml
[[step-6 -—- install-the-startup-script]] == Шаг 6 - Установка сценария запуска
Теперь, когда скрипты настроены, вы можете скопировать их в соответствующие системные каталоги. Скопируйте сценарий, отвечающий за запуск консоли, в каталог/usr/bin
:
sudo cp /opt/orientdb/bin/console.sh /usr/bin/orientdb
Затем скопируйте сценарий, отвечающий за запуск и остановку службы или демона, в каталог/etc/init.d
:
sudo cp /opt/orientdb/bin/orientdb.sh /etc/init.d/orientdb
Перейдите в каталог/etc/init.d
:
cd /etc/init.d
Затем обновите каталогrc.d
, чтобы система знала о новом сценарии и запускала его при загрузке, как и другие системные демоны.
sudo update-rc.d orientdb defaults
Вы должны получить следующий вывод:
Outputupdate-rc.d: warning: /etc/init.d/orientdb missing LSB information
update-rc.d: see
Adding system startup for /etc/init.d/orientdb ...
/etc/rc0.d/K20orientdb -> ../init.d/orientdb
/etc/rc1.d/K20orientdb -> ../init.d/orientdb
/etc/rc6.d/K20orientdb -> ../init.d/orientdb
/etc/rc2.d/S20orientdb -> ../init.d/orientdb
/etc/rc3.d/S20orientdb -> ../init.d/orientdb
/etc/rc4.d/S20orientdb -> ../init.d/orientdb
/etc/rc5.d/S20orientdb -> ../init.d/orientdb
[[step-7 -—- start-orientdb]] == Шаг 7. Запуск OrientDB
Теперь, когда все готово, вы можете запустить сервис:
sudo service orientdb start
Убедитесь, что это действительно началось:
sudo service orientdb status
Вы также можете использовать командыnetstat
из шага 3, чтобы убедиться, что сервер прослушивает порты. Если сервер не запускается, поищите подсказки в файле журнала ошибок в каталоге/opt/orientdb/log
.
[[step-8 -—- connected-to-orientdb-studio]] == Шаг 8 - Подключение к OrientDB Studio
OrientDB Studio - это веб-интерфейс для управления OrientDB. По умолчанию он прослушивает порт 2480. Чтобы подключиться к нему, откройте браузер и введите в адресную строку следующее:
http://server-ip-address:2480
Если страница загружается, вы должны увидеть экран входа в систему. Вы должны иметь возможность войти какroot
и пароль, который вы установили ранее.
Если страница не загружается, возможно, это связано с тем, что она заблокирована брандмауэром. Поэтому вам нужно добавить правило в брандмауэр, чтобы разрешить трафик OrientDB через порт 2480. Для этого откройте файл правил брандмауэра IPTables для трафика IPv4:
sudo /etc/iptables/rules.v4
В цепочкуINPUT добавьте следующее правило:
/etc/iptables/rules.v4-A INPUT -p tcp --dport 2480 -j ACCEPT
Перезапустите iptables:
sudo service iptables-persistent reload
Это следует сделать для подключения к OrientDB Studio.
Заключение
Поздравляем! Вы только что установили версию OrientDB для сообщества на свой сервер. Чтобы узнать больше, ознакомьтесь со статьямиHow To Back Up Your OrientDB Databases on Ubuntu 14.04 иHow To Import and Export an OrientDB Database on Ubuntu 14.04.
Дополнительную информацию и ссылки на официальную документацию OrientDB можно найти наorientdb.com.