CentOS 8.2上のCouchDB 3.3データベースを展開する方法
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データベースの展開についての詳細については、スクリプトハウスの過去の記事を検索するか、または以下の関連記事を閲覧し続ける。
関連
-
SQL修正構文文の概要
-
Navicat 15アクティベーションチュートリアル
-
Navicat for SQLite インストールチュートリアル(インストールキット付き
-
Hbaseカラムナーストレージ入門チュートリアル
-
Navicat sqlファイルのインポートとエクスポートを素早く行う方法
-
Dbeaverを使ったHiveへのリモート接続の詳細方法
-
Navicat Premium 15データベース接続フラッシュバックの問題を解決する
-
Navicat Premiumを使用して、データベースのテーブル構造情報をExcelにエクスポートする方法
-
SQLインジェクションの例とその解決方法
-
Navicat Premium 12でOracleに接続する際にoracle library is not loadedと表示される問題の解決
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
DataGrip データエクスポート/インポート実装例
-
Djangoプロジェクト最適化データベース運用まとめ
-
MySQLとRedisがデータの一貫性を確保する方法について説明します。
-
SQLインジェクションの実装と防止事例を解説
-
SQL実行エンジンを自作する方法
-
データベース管理ツール「Navicat」と「DBeaver」を一挙に読む
-
タイプインジェクションとコミットインジェクションのSQLインジェクションチュートリアル
-
ユニークSQLの原理と応用を解説
-
高額で無料のSQL開発ツール「Beekeeper Studio」解説
-
SQLインジェクションについて詳しく話すいくつかの散在する知識のポイント