Как установить базу данных Apache CouchDB NoSQL на CentOS 8
На этой странице
- Предпосылки
- Установите Apache CouchDB
- Настройка CouchDB
- Настройка SELinux и брандмауэра
- Доступ к веб-интерфейсу CouchDB
- Работа с базой данных CouchDB
- Заключение
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.