您好,登錄后才能下訂單哦!
本篇文章為大家展示了CouchDB 3.3數據庫怎么在CentOS 8.2環境中部署,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
什么是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
通過使用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)
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!
可以通過源或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 ~]#
【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/來訪問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"]
上述內容就是CouchDB 3.3數據庫怎么在CentOS 8.2環境中部署,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。