zoukankan      html  css  js  c++  java
  • 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中已安装的软件包。

    [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!
    

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

    [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存储库。

    [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文件

    [root@couchdb ~]# vi /etc/yum.repos.d/bintray-apache-couchdb-rpm.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
    

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

    [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软件。

    [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配置文件。

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

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

    修改之前
    [admins]
    ;admin = mysecretpassword
    
    
    
    修改之后
    [admins]
    admin = lianglab@Pssword
    

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

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

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

    修改之前
    [chttpd]
    ;port = 5984
    ;bind_address = 127.0.0.1
    
    
    
    [chttpd]
    port = 5984
    bind_address = 0.0.0.0
    

    【5】启动CouchDB服务。

    [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】查看服务状态和监控端口信息

    [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。因此,我们需要允许从网络到该端口的传入流量。

    [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/#login来访问Fauxton Web界面。

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

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

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

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

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

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

    除了Fauxton Web界面之外,我们还可以使用curl命令将HTTP命令发送到CouchDB实例。

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

    [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服务器上的所有数据库,我们可以发送以下命令。

    [root@couchdb ~]# curl -u admin:lianglab@Pssword -X GET http://127.0.0.1:5984/_all_dbs
    ["_replicator","_users","lianglab"]
    

    结论:

    广告时间:


    • 关于我 :全国7*24高效代维服务
    • 微信:lianglab
    • QQ:867266199
    • 淘宝店全国7*24高效代维服务
    • 全国高效代维:为中小型企业,提供云计算咨询代维、架构设计、降低成本。

    我们已经成功地安装了Apache CouchDB 3.3的在CentOS 8理解基础知识和CouchDB 的数据库的架构,我们建议你应该购买和阅读CouchDB: The Definitive Guide: Time to RelaxO'Reilly Media公司

  • 相关阅读:
    for、foreach、stream 哪家的效率更高,你真的用对了吗?
    SQL中那么多函数,Java8为什么还要提供重复的Stream方法,多此一举?
    Java中对象池的本质是什么?(实战分析版)
    引入 Gateway 网关,这些坑一定要学会避开!!!
    Java8 Stream流式编程,极大解放你的生产力!
    backup.bat
    robocopy用法详解
    【转】MYSQL中的COLLATE是什么?
    Java实现自定义监控系统,秀不秀?
    IDEA激活码2021永久,全网唯一靠谱的免费激活IDEA的方式!!!
  • 原文地址:https://www.cnblogs.com/lianglab/p/14191174.html
Copyright © 2011-2022 走看看