Поиск по сайту:

Как установить базу данных Apache CouchDB NoSQL на CentOS 8


На этой странице

  1. Предпосылки
  2. Установите Apache CouchDB
  3. Настройка CouchDB
  4. Настройка SELinux и брандмауэра
  5. Доступ к веб-интерфейсу CouchDB
  6. Работа с базой данных CouchDB
  7. Заключение

Apache CouchDB — это бесплатная документно-ориентированная система баз данных NoSQL с открытым исходным кодом, написанная на Erlang. По сравнению с другими реляционными базами данных он не хранит данные и отношения в таблицах. Он использует JSON для хранения данных, что делает его более масштабируемым и простым для моделирования данных. Он также поддерживает спокойный HTTP API, который позволяет создавать, редактировать и удалять документы базы данных.

В этом руководстве мы объясним, как установить базу данных Apache CouchDB NoSQL на CentOS 8.

Предпосылки

  • Сервер под управлением CentOS 8.
  • На вашем сервере установлен пароль root.

Установите Apache CouchDB

По умолчанию Apache CouchDB недоступен в стандартном репозитории CentOS 8. Поэтому вам нужно будет создать репозиторий Apache CouchDB в вашей системе.

Репозиторий CouchDB зависит от репозитория EPEL, поэтому вам необходимо установить репозиторий EPEL в вашей системе. Вы можете установить его с помощью следующей команды:

dnf install epel-release -y

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

nano /etc/yum.repos.d/apache-couchdb.repo

Добавьте следующие строки:

[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1

Сохраните и закройте файл, когда закончите. Затем установите Apache CouchDB с помощью следующей команды:

dnf install couchdb -y

После успешного завершения установки можно переходить к следующему шагу.

Настроить CouchDB

Вы можете настроить CouchDB как в автономном режиме, так и в кластерном режиме. В этом руководстве мы настроим сервер CouchDB в одиночном режиме. По умолчанию CouchDB прослушивает локальный хост, и во время установки учетная запись администратора не создается. Поэтому вам нужно будет создать учетную запись администратора для CouchDB. Вы можете создать его, отредактировав файл local.ini:

nano /opt/couchdb/etc/local.ini

Установите адрес привязки на 0.0.0.0, чтобы разрешить доступ с внешних IP-адресов, а также установите пароль администратора в разделе [admin], как показано ниже:

[chttpd]
port = 5984
bind_address = 0.0.0.0  

[admins]
admin = password

Сохраните и закройте файл, когда закончите. Затем запустите службу CouchDB и включите ее запуск при загрузке:

systemctl start couchdb
systemctl enable couchdb

Теперь вы можете проверить статус службы CouchDB, используя следующую команду:

systemctl status couchdb

Вы должны получить следующий результат:

? couchdb.service - Apache CouchDB
   Loaded: loaded (/usr/lib/systemd/system/couchdb.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-04-11 07:40:47 EDT; 35s ago
 Main PID: 11992 (beam.smp)
    Tasks: 43 (limit: 26213)
   Memory: 36.4M
   CGroup: /system.slice/couchdb.service
           ??11992 /opt/couchdb/bin/../erts-9.3.3.14/bin/beam.smp -K true -A 16 -Bd -- -root /opt/couchdb/bin/.. -progname couchdb -- -home /o>
           ??12004 /opt/couchdb/bin/../erts-9.3.3.14/bin/epmd -daemon
           ??12023 erl_child_setup 1024
           ??12045 sh -s disksup
           ??12047 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/memsup
           ??12048 /opt/couchdb/bin/../lib/os_mon-2.4.4/priv/bin/cpu_sup

Apr 11 07:40:47 centos8 systemd[1]: Started Apache CouchDB.

Вы также можете проверить порт прослушивания CouchDB с помощью следующей команды:

netstat -pnltu | grep 5984

Вы должны увидеть следующий вывод:

tcp        0      0 0.0.0.0:5984            0.0.0.0:*               LISTEN      11992/beam.smp

Настройте SELinux и брандмауэр

По умолчанию SELinux включен в вашей системе. Поэтому рекомендуется отключить SELinux в вашей системе.

Вы можете отключить SELinux, отредактировав файл /etc/selinux/config:

nano /etc/selinux/config

Найдите следующую строку:

SELINUX=enforcing

И замените его следующей строкой:

SELINUX=permissive

Сохраните и закройте файл. Затем перезагрузите систему, чтобы применить изменения:

Далее вам нужно будет разрешить порт 5984 через firewalld. Вы можете разрешить это с помощью следующей команды:

firewall-cmd --zone=public --permanent --add-port=5984/tcp
firewall-cmd --reload

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к веб-интерфейсу CouchDB

На этом этапе CouchDB установлен и настроен. Пришло время подтвердить, работает CouchDB или нет.

Вы можете использовать команду curl для проверки CouchDB:

curl http://your-server-ip:5984/

Если все в порядке, вы должны получить следующий вывод:

{"couchdb":"Welcome","version":"3.0.0","git_sha":"03a77db6c","uuid":"d0406ea8f0b1a3f18020ec90e627ae35","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

Вы также можете получить доступ к веб-интерфейсу CouchDB, используя URL-адрес http://your-server-ip:5984/_utils/. Вы будете перенаправлены на страницу входа в CouchDB:

Введите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов CouchDB на следующем экране:

Работа с базой данных CouchDB

CouchDB также позволяет создавать и удалять базы данных с помощью команды curl.

Чтобы создать базу данных с именем testdb в CouchDB, выполните следующую команду:

curl -u admin:password -X PUT http://your-server-ip:5984/testdb

Вы должны увидеть следующий вывод:

{"ok":true}

Чтобы создать базу данных с именем userdb в CouchDB, выполните следующую команду:

curl -u admin:password -X PUT http://your-server-ip:5984/userdb

Вы должны получить следующий результат:

{"ok":true}

Вы также можете проверить базу данных с помощью команды curl, как показано ниже:

curl -u admin:password -X GET http://your-server-ip:5984/testdb

Вы должны получить следующий результат:

{"db_name":"testdb","purge_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","update_seq":"0-g1AAAABXeJzLYWBgYMpgTmEQTM4vTc5ISXIwNDLXMwBCwxyQVB4LkGRoAFL_gSArkQGP2kSGpHqIoiwAtOgYRA","sizes":{"file":16700,"external":0,"active":0},"props":{},"doc_del_count":0,"doc_count":0,"disk_format_version":8,"compact_running":false,"cluster":{"q":2,"n":1,"w":1,"r":1},"instance_start_time":"0"}

Вы также можете обновить панель инструментов CouchDB, чтобы просмотреть базы данных в своем веб-браузере.

Если вы хотите удалить базу данных testdb, выполните следующую команду:

curl -u admin:password -X DELETE http://your-server-ip:5984/testdb

Вы должны получить следующий результат:

{"ok":true}

Заключение

Поздравляем! вы успешно установили Apache CouchDB на CentOS 8. Дополнительную информацию можно найти в документации по Apache CouchDB.