Database-MongoDB
やりたいこと MongoDBの特定のデータベース内で遅いトランザクションが発生している時間帯やクエリの中身を突き止める。 環境情報 Mongo v4.0 やり方 対象のデータベースを選定した後に rs0:PRIMARY> use testdb switched to db testdb以下コマンドを押下す…
はじめに Podとして展開しているMongoDBのメトリクスをエクスポーターのPodから取得する流れについて記載しました。 尚、MongoDBは既に構築済のものとし、省力化のためにHelmパッケージを利用します。 環境情報 Mongo v4.0 openshift 4.6(kubernetes 1.19)…
事象 レプリケーションの状態が以下のようなmemberが存在し "state" : 3, "stateStr" : "RECOVERING", ... "lastHeartbeatMessage" : "",...以下のエラーにて事象が解消しない。 REPL [rsBackgroundSync] sync source candidate: xx REPL [replication-0] We…
やりたいこと レプリケーションの不具合にてSecoundaryのMongoDBしかいない状況でコマンドを通してPrimaryに変更したい。 環境情報 Mongo v4.0 やり方 以下のようにコマンドにforce:trueを付与すると rs0:SECONDARY> rs.reconfig(cfg,{"force":true})書き込…
はじめに 以下記事にて作成したレプリカセットが機能していることをPrimaryを落とすことで検証します。 環境情報 MongoDB v4.4 kubectl v1.18 事前準備 PrimaryのDBサーバにてデータベース/コレクションを作成して1つドキュメントを追加します。 repltest:P…
はじめに KubernetesのStatefulsetを利用して3つのMongoDBを用意し、PrimaryとSecondaryとArbiterにてレプリケーションを組む手順について解説します。 環境情報 MongoDB v4.4 kubectl v1.18 事前準備 以下のyamlを展開することで3台もMongoDBがレプリカセ…
事象 KubernetesにてMonogoDBを起動するも以下メッセージがPodのログに残った状態でSTATUSがErrorとなる。 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7505M,cache_overflow=file_max=0M),session_max=20000,eviction=(threads_m…
はじめに データをディスクではなくメモリ上に配置することで高速な読み込みを可能にする「RAMディスク」をRHEL環境で作成及び削除する手順を説明します。 環境情報 Red Hat EnterPrise Linux Server 7.6 メモリ容量の事前確認 同環境では meminfoにてー全体…
はじめに ip routeコマンドでよく見るタイトルの文言の意味とその見方を簡単に解説します。 尚、詳細が知りたければman ip routeでも確認可能です。 環境情報 Red Hat Enter Prise Linux Server 7.6 IP-ROUTE(8) dev/via/src/protoの意味 devはパケットを流…
やりたいこと MondoDBへの操作を別のホストから行う。 具体的には以下のようにDBの実体がいるホストとは別のホストにmongo関連コマンドを入れ、操作を行う。 +---------+ +---------+ | Mongo +<----+/bin/mongo | DB | | | +---------+ +---------+ 環境情…
はじめに 以下の記事の後編です。 MongoDBの書き込み先は既に作成済の以下です。 DB Collections test user 環境情報 Ubuntu : 20.04 Node.js : v10.19 MongoDB : v3.6 MongoDBに書き込むサンプルプログラム const mongodb = require('mongodb') const Mongo…
はじめに 以下の記事でも触れたようにJSON形式で価を保持するMongoDBはNode.jsと相性がよいためサービスの組み合わせでもよく見られます。 本記事ではUbuntu環境に1からインストールを行い、Node.jsプログラムからMongoDBにドキュメントを挿入する流れを紹介…
はじめに マークダウン形式でWikipediaのようにドキュメントを生成できるGrowiは以下公式サイトにあるようにdocker-composeで利用でき 構成コンテナを見れば分かりますがMongoDBがデータベースとして利用されています。 $ docker-compose.exe ps Name Comman…
事象 node.jsアプリケーションにてMongoDBに接続に行く処理にて以下のようなタイムアウトエラーになる、 MongoTimeoutError: Server selection timed out after 10000 ms ... name: 'MongoTimeoutError' 環境情報 NodeJS Version: 12.16.1 - x64 MongoDB Ver…
MongoDBで定期的に打ちたくなるコマンドをメモしておきます。 DB一覧 コレクション一覧 ドキュメント全件取得 コレクション一覧とドキュメント数を表示 ドキュメントの表示件数の制限を変更 レプリカセットの状態 統計情報 DB一覧 show dbs コレクション一覧…
事象 Roket.chatコンテナをMongoDBコンテナに接続しようとするも以下メッセージでエラーになる。 /app/bundle/programs/server/node_modules/fibers/future.js:313 throw(ex); ^ Error: getaddrinfo ENOTFOUND mongo at GetAddrInfoReqWrap.onlookup [as onc…
はじめに MongoDBにて以下記事で作成したデータベース名「test」コレクション名「user」のデータをバックアップし、データを削除した後にリストアして復旧する手順を紹介します。 環境情報 Debian GNU/Linux 9 MongoDB shell version: 3.2.11 事前確認 バッ…
はじめに NoSQLの筆頭として以下記事でも軽く触れたMongoDBですが タイトルの通りコマンドから直接DBを操作することも可能なのでテキストに追記する感覚でDBに格納&検索ができます。本記事ではデータをコマンドから操作する方法を前提知識を補足しながら記載…
事象 MonogoDBのStatusを確認すると以下エラーとなる。 > db.serverStatus() { "operationTime" : Timestamp(xx,x), "ok" : 0, "errmsg" : "cannot add session into the cache", "code" : 261, "codeName" : "TooManyLogicalSessions", "$clusterTime" : { …