如何在CentOS 8上安装Apache CouchDB NoSQL数据库

如何在CentOS 8上安装Apache CouchDB NoSQL数据库

Apache CouchDB是一个免费的,开源的,以Erlang编写的面向文档的NoSQL数据库系统。与其他关系数据库相比,它不在表中存储数据或关系。使用JSON来存储数据并为数据建模更可扩展且更容易。它还支持RESTful HTTP API,使您可以创建,编辑和删除数据库文档。

本教程将向您展示如何在CentOS 8上安装Apache CouchDB NoSQL数据库。

前提条件

  • 运行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

将bind-address设置为0.0.0.0以允许从外部IP地址访问,并在内部设置管理员密码 [admin] 下面显示的部分:

[chttpd]
port = 5984
bind_address = 0.0.0.0  

[admins]
admin = password

完成后保存并关闭文件。接下来,启动CouchDB服务,以便可以在启动时启动它。

systemctl start couchdbsystemctl 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。

您可以通过编辑/ etc / selinux / config文件来禁用SELinux。

nano /etc/selinux/config

找到以下行:

SELINUX=enforcing

并将其替换为以下行:

SELINUX=permissive

保存并关闭文件。然后重新引导系统以应用更改。

接下来,您需要通过firewalld允许端口5984。您可以使用以下命令允许它:

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

完成后,您可以继续下一步。

访问CouchDB Web UI

至此,已经安装并配置了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"}}

您还可以使用URL http:// your-server-ip:5984 / _utils /访问CouchDB Web UI。您将被重定向到CouchDB登录页面。

输入管理员用户名和密码, 登录 按钮。下一个屏幕显示CouchDB仪表板。

CouchDB仪表板

使用CouchDB数据库

CouchDB还允许您使用curl命令创建和删除数据库。

要在CouchDB中创建名为testdb的数据库,请运行以下命令。

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

显示以下输出。

{"ok":true}

要在CouchDB中创建名为userdb的数据库,请运行以下命令。

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仪表板以在Web浏览器中查看数据库。

使用CouchDB创建数据库

如果要删除数据库testdb,请运行以下命令:

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

显示以下输出。

{"ok":true}

结论

恭喜你!我已经在CentOS 8上成功安装了Apache CouchDB。访问Apache以获取更多信息。 CouchDB 文档。

Sidebar