1. ホーム
  2. データベース
  3. その他のデータベース

CentOS 8.2上のCouchDB 3.3データベースを展開する方法

2022-01-18 09:21:47

CouchDBは、オープンソースのドキュメント指向のNoSQLデータベースです。この記事では、CentOS 8にApache CouchDBをインストールする方法を学びます。

Apache CouchDBとは何ですか?

CouchDB は、Apache Software Foundationによって開発されたオープンソースのデータベース管理システムです。ErLangで開発された。 NoSQLドキュメントストア データベースを使用しています。

CouchDBは、そのデータを格納、転送、および処理するために、複数の形式とプロトコルを使用します。それは、データを格納するためにJSON(JavaScript Object Representation)、クエリ言語としてJavaScriptを使用するためにMapReduce、およびAPIのためのHTTPを使用しています。

リレーショナルデータベースとは異なり、CouchDBデータベースは、テーブル内のデータと関係を格納しません。代わりに、各データベースは、独立したドキュメントのコレクションです。各ドキュメントは、独自のデータと独立したアーキテクチャを保持します。

CouchDBソフトウェアには、CouchDBデータベースサーバーの管理に使用されるネイティブなWebインターフェース、Fauxtonが含まれています。

  • CPU 3.4GHz (2コア)
  • メモリ:2GB
  • ストレージ容量:20GB
  • オペレーティングシステム CentOS 8.2
  • ホスト名:couchdb.lianglab.cn
  • IPアドレス 192.168.6.200/24

ステップ1:CentOS 8のパッケージのアップデート

sshクライアントを使用して、ルートユーザーとしてcouchdb.lianglab.cnに接続してください。

CentOS 8 オペレーティングシステムに新しいものをインストールする前に、インストールされているパッケージを更新することがベストプラクティスです。

CentOS 8 のインストール済みパッケージの更新には、dnf コマンドを使用します。

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

ステップ2:CentOS 8にEPELのYumリポジトリをインストールする

CouchDBデータベースサーバーは、標準のyumリポジトリで利用できないいくつかのパッケージを必要とするので、私たちはCentOS 8サーバーにEPEL(Extra Packages for Enterprise 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!

ステップ3:CentOS 8にCouchDB Yumリポジトリをインストールする

CouchDBデータベースは、ソースまたはRPMパッケージを介して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 repository build cache

[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 ~]# 

ステップ4:CentOS 8にApache CouchDBをインストールする

[1] 必要な yum リポジトリを作成しました。今、私たちはCouchDBソフトウェアをインストールするためにdnfコマンドを使用することができます。

[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】adminユーザーを作成し、強力なパスワードを設定する。admins]セクションを見つけ、このセクションの下にadminユーザーを追加する必要があります。このセクションには、adminユーザーをいくつでも追加することができます。

Before modifying
[admins]
;admin = mysecretpassword

After modification
[admin]
admin = lianglab@Pssword

サービスが開始されたときにCouchDBは自動的にハッシュに変換するように、プレーンテキストのパスワードを心配しないでください。

[4] CouchDBは、ローカルホストのインターフェイス(すなわちFauxton)上でそのWeb UIを実行します。しかし、ウェブからそれにアクセスするには、我々は同様に他のWebインターフェイス上でそれを実行する必要があります。

chttpd]セクションを探し、その中に以下のコマンドを設定します。

Modify the previous
[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.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

ステップ5:CouchDBのWeb UIにアクセスします。

[1]正常にCouchDBサービスを開始した後、我々は今、WebブラウザでURLを開くことによって、CouchDBのWeb UIにアクセスすることができます。 http://192.168.6.200:5984/_utils/ をクリックして、Fauxton の Web インターフェースにアクセスします。

[2] CouchDBログインページ、adminユーザーを使用してFauxtonにログインすることができます(我々はlocal.iniファイルでこのユーザーを追加している)。

[3]ログイン後、インストーラは、シングルノードインスタンスとしてCouchDBを設定するか、クラスタを設定するように要求されます。クリック"シングルノードとして構成"。

[4]管理者ユーザー認証、バインドIPアドレス、サービスポートを入力します。ノードの設定]をクリックします。

CouchDBのインストールの最後に、それはあなたがレプリケーションを構成するように求められます。それを無視し、左サイドバーの"データベース"ボタンをクリックします。

現在、データベースのページにいます。このページで必要なデータベースを作成することができます。

ここでは、CouchDBのインストール時に作成された2つのシステムデータベースと、テスト用に作成した2つのユーザーデータベースを見ることができます。

FauxtonのWebインターフェースに加えて、curlコマンドを使用してCouchDBインスタンスにHTTPコマンドを送信することができます。

[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," quot;doc_count":0,"disk_format_version":8,"compact_running":false,"cluster":{"q":2," quot;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"]

結論

我々は正常にCentOSの8でApacheのCouchDB 3.3をインストールしましたCouchDBのデータベースの基礎とアーキテクチャを理解するために、我々はあなたが購入して読むことをお勧めします。 CouchDB: The Definitive Guide: リラックスする時間 オライリー・メディア社

CentOS 8.2用のCouchDB 3.3データベースのデプロイに関するこの記事がすべてです。CentOS 8.2用のCouchDBデータベースの展開についての詳細については、スクリプトハウスの過去の記事を検索するか、または以下の関連記事を閲覧し続ける。