优选主流主机商
任何主机均需规范使用

CentOS 8.2系统下安装与配置CouchDB 3.3数据库详细指南

couchdb是一个开源的,面向文档的nosql数据库。在本文中,您将学习如何在centos 8上安装apache couchdb。

什么是apache couchdb?

couchdb是由apache software foundation开发的开源数据库管理系统。它是在erlang中开发的nosql文档存储数据库。

couchdb使用多种格式和协议来存储,传输和处理其数据,它使用json(javascript对象表示法)存储数据,使用mapreduce将javascript作为查询语言以及api的http。

与关系数据库不同,couchdb数据库不在表中存储数据和关系。相反,每个数据库都是独立文档的集合。每个文档都维护自己的数据和独立的架构。

couchdb软件包括一个本地web界面,即用于管理couchdb数据库服务器的fauxton。

  • cpu:3.4 ghz(2核)
  • 内存:2 gb
  • 储存空间:20 gb
  • 作业系统:centos 8.2
  • 主机名:couchdb.lianglab.cn
  • ip地址:192.168.6.200/24

第一步:更新centos 8软件包

通过使用ssh客户端,以root用户身份与couchdb.lianglab.cn连接。

最佳做法是在centos 8操作系统上安装任何新东西之前,先更新已安装的软件包。

使用dnf命令更新centos 8中已安装的软件包。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [root@solrserver ~]# hostnamectl set -hostname couchdb.lianglab.cn   [root@couchdb ~]# dnf -y update ... upgraded:   networkmanager-1:1.22.8-5.el8_2.x86_64   networkmanager-libnm-1:1.22.8-5.el8_2.x86_64   networkmanager-team-1:1.22.8-5.el8_2.x86_64   networkmanager-tui-1:1.22.8-5.el8_2.x86_64   bind-export-libs-32:9.11.13-5.el8_2.x86_64   ca-certificates-2020.2.41-80.0.el8_2.noarch   dbus-1:1.12.8-10.el8_2.x86_64   dbus-common-1:1.12.8-10.el8_2.noarch   dbus-daemon-1:1.12.8-10.el8_2.x86_64   dbus-libs-1:1.12.8-10.el8_2.x86_64   dbus-tools-1:1.12.8-10.el8_2.x86_64   dnf-4.2.17-7.el8_2.noarch   dnf-data-4.2.17-7.el8_2.noarch   gnutls-3.6.8-11.el8_2.x86_64   grub2-common-1:2.02-87.el8_2.noarch   grub2-pc-1:2.02-87.el8_2.x86_64   grub2-pc-modules-1:2.02-87.el8_2.noarch   grub2-tools-1:2.02-87.el8_2.x86_64   grub2-tools-efi-1:2.02-87.el8_2.x86_64   grub2-tools-extra-1:2.02-87.el8_2.x86_64   grub2-tools-minimal-1:2.02-87.el8_2.x86_64   iptables-1.8.4-10.el8_2.1.x86_64   iptables-ebtables-1.8.4-10.el8_2.1.x86_64   iptables-libs-1.8.4-10.el8_2.1.x86_64   kernel-tools-4.18.0-193.14.2.el8_2.x86_64   kernel-tools-libs-4.18.0-193.14.2.el8_2.x86_64   libdnf-0.39.1-6.el8_2.x86_64   libnghttp2-1.33.0-3.el8_2.1.x86_64   microcode_ctl-4:20191115-4.20200609.1.el8_2.x86_64   open -vm-tools-11.0.5-3.el8.x86_64   python3-dnf-4.2.17-7.el8_2.noarch   python3-hawkey-0.39.1-6.el8_2.x86_64   python3-libdnf-0.39.1-6.el8_2.x86_64   python3-perf-4.18.0-193.14.2.el8_2.x86_64   selinux-policy-3.14.3-41.el8_2.5.noarch   selinux-policy-targeted-3.14.3-41.el8_2.5.noarch   systemd-239-31.el8_2.2.x86_64   systemd-libs-239-31.el8_2.2.x86_64   systemd-pam-239-31.el8_2.2.x86_64   systemd-udev-239-31.el8_2.2.x86_64   yum-4.2.17-7.el8_2.noarch   installed:   kernel-4.18.0-193.14.2.el8_2.x86_64   kernel-core-4.18.0-193.14.2.el8_2.x86_64   kernel-modules-4.18.0-193.14.2.el8_2.x86_64   removed:   kernel-4.18.0-147.5.1.el8_1.x86_64   kernel-core-4.18.0-147.5.1.el8_1.x86_64   kernel-modules-4.18.0-147.5.1.el8_1.x86_64 complete!

升级软件包后,请验证新的内核版本。

1 2 3 4 [root@couchdb ~]# uname -r 4.18.0-193.el8.x86_64 [root@couchdb ~]# cat /etc/redhat-release centos linux release 8.2.2004 (core)

第二步:centos 8上安装epel yum存储库

couchdb数据库服务器需要一些标准yum存储库中不可用的软件包,因此,我们在centos 8服务器上安装了epel(企业linux的额外软件包) yum存储库。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [root@couchdb ~]# dnf install -y epel-release ================================================================================   package    architecture version   repository  size ================================================================================ installing:   epel-release   noarch   8-8.el8   extras   23 k   transaction summary ================================================================================ install 1 package   total download size : 23 k installed size : 32 k downloading packages: epel-release-8-8.el8.noarch.rpm     34 kb/s | 23 kb  00:00 -------------------------------------------------------------------------------- total           7.4 kb/s | 23 kb  00:03 running transaction check transaction check succeeded. running transaction test transaction test succeeded. running transaction   preparing  :              1/1   installing  : epel-release-8-8.el8.noarch       1/1   running scriptlet: epel-release-8-8.el8.noarch       1/1   verifying  : epel-release-8-8.el8.noarch       1/1   installed:   epel-release-8-8.el8.noarch   complete!

第三步:centos 8上安装couchdb yum存储库

可以通过源或rpm软件包将couchdb数据库安装在centos 8上。基于rpm的安装非常简单明了,因此我们从rpm软件包中安装couchdb。

couchdb数据库rpm软件包通过它们自己的正式yum存储库分发。因此,我们在centos 8操作系统中添加了couchdb yum存储库。

【1】 使用vim编辑器创建一个repo文件

1 [root@couchdb ~]# vi /etc/yum.repos.d/bintray-apache-couchdb-rpm.repo

以下内容添加到到文件。

1 2 3 4 5 6 [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

【2】新添加的reop文件yum存储库构建缓存

1 2 3 4 5 6 7 8 9 10 [root@couchdb ~]# dnf makecache centos-8 - base - mirrors.tongdun.cn              centos-8 - extras - mirrors.tongdun.cn              centos-8 - appstream - mirrors.tongdun.cn             bintray --apache-couchdb-rpm                extra packages for enterprise linux 8 - x86_64            extra packages for enterprise linux 8 - x86_64 - debug          extra packages for enterprise linux 8 - x86_64 - source         metadata cache created. [root@couchdb ~]#

第四步:centos 8上安装apache couchdb

【1】我们已经建立了所需的yum存储库。现在,我们可以使用dnf命令安装couchdb软件。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [root@couchdb ~]# dnf list couchdb last metadata expiration check : 0:00:39 ago on fri 25 dec 2020 10:42:23 pm cst. available packages couchdb.x86_64     3.1.1-1.el8     bintray --apache-couchdb-rpm [root@couchdb ~]# dnf install -y couchdb last metadata expiration check : 0:00:52 ago on fri 25 dec 2020 10:42:23 pm cst. dependencies resolved. ==========================================================================================   package  architecture version   repository       size ========================================================================================== installing:   couchdb  x86_64  3.1.1-1.el8  bintray --apache-couchdb-rpm   24 m   transaction summary ========================================================================================== install 1 package   total download size : 24 m installed size : 51 m downloading packages: couchdb-3.1.1-1.el8.x86_64.rpm       3.5 mb/s | 24 mb  00:06 ------------------------------------------------------------------------------------------ total              3.5 mb/s | 24 mb  00:06  running transaction check transaction check succeeded. running transaction test transaction test succeeded. running transaction   preparing  :                 1/1   running scriptlet: couchdb-3.1.1-1.el8.x86_64          1/1   installing  : couchdb-3.1.1-1.el8.x86_64          1/1   running scriptlet: couchdb-3.1.1-1.el8.x86_64          1/1   verifying  : couchdb-3.1.1-1.el8.x86_64          1/1 installed products updated.   installed:   couchdb-3.1.1-1.el8.x86_64                  complete!

couchdb软件安装在/opt/couchdb目录中。

【2】使用vi编辑器编辑couchdb配置文件。

1 [root@couchdb ~]# vi /opt/couchdb/etc/ local .ini

【3】创建一个管理员用户并为其设置一个强密码。您必须找到[admins]部分,然后在此部分下添加一个admin用户,可以在此处添加任意数量的管理员用户。

1 2 3 4 5 6 7 修改之前 [admins] ;admin = mysecretpassword   修改之后 [admins] admin = lianglab@pssword

不用担心纯文本密码,因为couchdb在服务启动时会自动将其转换为哈希值。

【4】couchdb仅在localhost界面上运行其web ui(即fauxton)。但是要从网络访问它,我们也需要在其他网络接口上运行它。

找到[chttpd]部分并在其中设置以下指令。

1 2 3 4 5 6 7 修改之前 [chttpd] ;port = 5984 ;bind_address = 127.0.0.1 [chttpd] port = 5984 bind_address = 0.0.0.0

【5】启动couchdb服务。

1 2 [root@couchdb ~]# systemctl enable --now couchdb.service created symlink /etc/systemd/system/multi- user .target.wants/couchdb.service → /usr/lib/systemd/system/couchdb.service.

【6】查看服务状态和监控端口信息

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@couchdb ~]# systemctl status couchdb.service ● couchdb.service - apache couchdb   loaded: loaded (/usr/lib/systemd/system/couchdb.service; enabled; vendor preset: disab>   active: active (running) since fri 2020-12-25 23:00:03 cst; 1min 43s ago   main pid: 109712 (beam.smp)   tasks: 40 (limit: 49642)   memory: 34.3m   cgroup: /system.slice/couchdb.service     ├─109712 /opt/couchdb/bin/../erts-9.3.3.14/bin/beam.smp -k true -a 16 -bd -- ->     ├─109737 /opt/couchdb/bin/../erts-9.3.3.14/bin/epmd -daemon     └─109756 erl_child_setup 65536   dec 25 23:00:03 couchdb.lianglab.cn systemd[1]: started apache couchdb.   [root@couchdb ~]# netstat -anptl | grep 5984 tcp  0  0 0.0.0.0:5984   0.0.0.0:*    listen  109712/beam.smp

【7】linux防火墙中允许端口5984/tcp。

couchdb服务使用默认端口5984。因此,我们需要允许从网络到该端口的传入流量。

1 2 3 4 [root@couchdb ~]# firewall-cmd --permanent --add-port=5984/tcp success [root@couchdb ~]# firewall-cmd --reload success

第五步:访问couchdb web ui

【1】成功启动couchdb服务后,我们现在可以通过在web浏览器中打开url http://192.168.6.200:5984/_utils/来访问fauxton web界面。

【2】couchdb登录页面,您可以使用管理员用户(我们已经在local.ini文件中添加了该用户)登录fauxton。

【3】登录后,安装程序将要求您将couchdb配置为单节点实例或设置集群。单击“配置为单节点”。

【4】提供管理员用户凭据,绑定ip地址和服务端口。点击“配置节点”。

【5】在couchdb安装结束时,它将要求您配置复制。忽略它,然后单击左侧边栏上的“数据库”按钮。

您现在位于数据库页面。您可以从此页面创建所需的数据库。

在这里,您可以看到在couchdb安装过程中创建的两个系统数据库以及我们为测试目的而创建的两个用户数据库。

除了fauxton web界面之外,我们还可以使用curl命令将http命令发送到couchdb实例。

【6】创建一个couchdb数据库,我们可以使用以下命令。

1 2 3 4 5 6 [root@couchdb ~]# curl -u admin:lianglab@pssword -x put http://127.0.0.1:5984/lianglab { "ok" : true }   [root@couchdb ~]# curl -u admin:lianglab@pssword -x get http://127.0.0.1:5984/lianglab { "db_name" : "lianglab" , "purge_seq" : "0-g1aaaabxejzlywbgympgtmeqtm4vtc5isxiwndlxmwbcwxyqvb4lkgroafl_gsarkqgp2ksgphqioiwatogyra" , "update_seq" : "0-g1aaaabxejzlywbgympgtmeqtm4vtc5isxiwndlxmwbcwxyqvb4lkgroafl_gsarkqgp2ksgphqioiwatogyra" , "sizes" :{ "file" :16700, "external" :0, "active" :0}, "props" :{ "partitioned" : true }, "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" } [root@couchdb ~]#

【7】要列出我们的couchdb服务器上的所有数据库,我们可以发送以下命令。

1 2 [root@couchdb ~]# curl -u admin:lianglab@pssword -x get http://127.0.0.1:5984/_all_dbs [ "_replicator" , "_users" , "lianglab" ]

结论:

我们已经成功地安装了apache couchdb 3.3的在centos 8理解基础知识和couchdb 的数据库的架构,我们建议你应该购买和阅读couchdb: the definitive guide: time to relax由o’reilly media公司。

未经允许不得转载:搬瓦工中文网 » CentOS 8.2系统下安装与配置CouchDB 3.3数据库详细指南