MongoDBスライス+複製セット
1.概要
MongoDB基本NoSQLのビッグデータ格納ツールで、内部データはドキュメントのコンセプトでBSON(Binary JSON)を格納します.すべてのデータストレージの概念には、「スライス」(データの横方向の拡張により、ストレージを分離してデータストレージ、取得のパフォーマンスを向上させる)、「レプリケーション」(冗長バックアップ、トラブルシューティング、自動リカバリ、読み書き分離などの機能を含む高可用性)が欠かせません.本文はMongoDBの基礎と分布の概念を詳しく紹介することはできなくて、読者は自分で学習を調べることができます.
2.実戦
2.1バージョン情報
2.1.1システムバージョン
2.1.2 MongoDBバージョン
2.2 Shardingレプリケーションセットrs 0の作成
2.3複製セットrs 0構成
2.4 Shardingレプリケーションセットrs 1の作成
2.5複製セットrs 1構成
2.6コンフィグ複製セットconfの作成
2.7複製セットconf構成
2.8 Routeの作成
2.9スライスの設定
以上の手順で、40000ポートのmongdosに直接接続してスライスやコピー機能を楽しむことができます.
3.まとめ
基本的なビッグデータ分散の背景から生まれた製品は、分散クラスタ構成においても簡単で便利です.ここでは基本的な操作プレゼンテーションにすぎず、より多くの機能については読者が深く理解する必要があります.は、最初に2つのShardingを構成し、それらにレプリケーションの能力を与えた. でコンフィギュレーション管理が構成され、複製セット機能も必要です. は最後にルートルートルートルートの構成であり、ルート起動時にConfigdbを指定し、以前に構成したShardingを追加した. 客室端はRouteに接続するだけで透明にスライスと複製を楽しむことができ、高性能、高可用性をもたらします.Note:Shardingを単独で接続して生成したデータがRouteに反映されない場合.
4.参考: [1]. http://www.runoob.com/mongodb...
MongoDB基本NoSQLのビッグデータ格納ツールで、内部データはドキュメントのコンセプトでBSON(Binary JSON)を格納します.すべてのデータストレージの概念には、「スライス」(データの横方向の拡張により、ストレージを分離してデータストレージ、取得のパフォーマンスを向上させる)、「レプリケーション」(冗長バックアップ、トラブルシューティング、自動リカバリ、読み書き分離などの機能を含む高可用性)が欠かせません.本文はMongoDBの基礎と分布の概念を詳しく紹介することはできなくて、読者は自分で学習を調べることができます.
2.実戦
2.1バージョン情報
2.1.1システムバージョン
# uname -a
Linux 1ddc8b08470a 4.9.49-moby #1 SMP Thu Sep 21 05:50:41 UTC 2017 x86_64 GNU/Linux
2.1.2 MongoDBバージョン
# mongo -version
MongoDB shell version v3.4.10
git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
allocator: tcmalloc
modules: none
build environment:
distmod: debian81
distarch: x86_64
target_arch: x86_64
2.2 Shardingレプリケーションセットrs 0の作成
# mkdir /data/log
# mkdir /data/db1
# nohup mongod --port 27020 --dbpath=/data/db1 --logpath=/data/log/rs0-1.log --logappend --fork --shardsvr --replSet=rs0 &
# mkdir /data/db2
# nohup mongod --port 27021 --dbpath=/data/db2 --logpath=/data/log/rs0-2.log --logappend --fork --shardsvr --replSet=rs0 &
2.3複製セットrs 0構成
# mongo localhost:27020
> rs.initiate({_id: 'rs0', members: [{_id: 0, host: 'localhost:27020'}, {_id: 1, host: 'localhost:27021'}]})
> rs.isMaster() #
2.4 Shardingレプリケーションセットrs 1の作成
# mkdir /data/db3
# nohup mongod --port 27030 --dbpath=/data/db3 --logpath=/data/log/rs1-1.log --logappend --fork --shardsvr --replSet=rs1 &
# mkdir /data/db4
# nohup mongod --port 27031 --dbpath=/data/db4 --logpath=/data/log/rs1-2.log --logappend --fork --shardsvr --replSet=rs1 &
2.5複製セットrs 1構成
# mongo localhost:27030
> rs.initiate({_id: 'rs1', members: [{_id: 0, host: 'localhost:27030'}, {_id: 1, host: 'localhost:27031'}]})
> rs.isMaster() #
2.6コンフィグ複製セットconfの作成
# mkdir /data/conf1
# nohup mongod --port 27100 --dbpath=/data/conf1 --logpath=/data/log/conf-1.log --logappend --fork --configsvr --replSet=conf &
# mkdir /data/conf2
# nohup mongod --port 27101 --dbpath=/data/conf2 --logpath=/data/log/conf-2.log --logappend --fork --configsvr --replSet=conf &
2.7複製セットconf構成
# mongo localhost:27100
> rs.initiate({_id: 'conf', members: [{_id: 0, host: 'localhost:27100'}, {_id: 1, host: 'localhost:27101'}]})
> rs.isMaster() #
2.8 Routeの作成
# nohup mongos --port 40000 --configdb conf/localhost:27100,localhost:27101 --fork --logpath=/data/log/route.log --logappend &
2.9スライスの設定
# mongo localhost:40000
> use admin
> db.runCommand({ addshard: 'rs0/localhost:27020,localhost:27021'})
> db.runCommand({ addshard: 'rs1/localhost:27030,localhost:27031'})
> db.runCommand({ enablesharding: 'test'})
> db.runCommand({ shardcollection: 'test.user', key: {name: 1}})
以上の手順で、40000ポートのmongdosに直接接続してスライスやコピー機能を楽しむことができます.
3.まとめ
基本的なビッグデータ分散の背景から生まれた製品は、分散クラスタ構成においても簡単で便利です.ここでは基本的な操作プレゼンテーションにすぎず、より多くの機能については読者が深く理解する必要があります.
4.参考: