サーチ…


備考

使い慣れていない人にとっては、レプリカセットは3台のサーバーの冗長構成と定義されています。シャードされたデータベースは、水平にスケーリングされたデータベースとして定義され、各シャードはレプリカセットとして定義されます。したがって、シャードされたMongoクラスタには、2つのシャードクラスタに対して最低11台のサーバーが必要であり、追加のシャードごとに3台のサーバーが増えます。したがって、シャードされたクラスタには常に11,14,17,20,23などのサーバーインスタンスがあります。つまり、それぞれ3台のサーバー、2台のconfigコントローラー、2台のルーターがあります。 2つのシャードクラスタの合計11台のサーバー。

レプリカセットクイックスタート

物理的または仮想的なハードウェアを使用して、 3つのサーバーを構築してください。 (このチュートリアルでは、あなたのオペレーティングシステムとしてUbuntuを使用していることを前提としています)。そして、次の手順をサーバーごとに3回繰り返してください。

# add the names of each server to the host file of each server
sudo nano /etc/hosts
  10.123.10.101 mongo-a
  10.123.10.102 mongo-b
  10.123.10.103 mongo-c

# install mongodb on the server
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-10gen


# create the /data/ directories
sudo mkdir /data
sudo mkdir /data/logs
sudo mkdir /data/db

# make sure the mongodb user and group have access to our custom directories
sudo chown -R mongodb:mongodb /data

# edit the mongo upstart file in /etc/init/mongodb.conf
sudo nano /etc/init/mongodb.conf
  start on started mountall
  stop on shutdown
  respawn
  respawn limit 99 5
  setuid mongodb
  setgid mongodb
  script
    exec /usr/bin/mongod --config /etc/mongodb.conf >> /data/logs/mongo-a.log 2>&1
  end script


# edit mongodb configuration file
sudo nano /etc/mongodb.conf
    dbpath=/data/db
    logpath=/data/logs/mongod.log
    logappend=true
    port=27017
    noauth=true
    replSet=meteor
    fork=true

# add a mongo log-rotation file
sudo nano /etc/logrotate.d/mongod
  /data/logs/*.log {
    daily
    rotate 30
    compress
    dateext
    missingok
    notifempty
    sharedscripts
    copytruncate
    postrotate
        /bin/kill -SIGUSR1 `cat /data/db/mongod.lock 2> /dev/null` 2> /dev/null || true
    endscript
  }

# make sure mongod service is started and running
sudo service mongodb start
sudo reboot

レプリカセットの設定

次に、mongoシェルに入り、レプリカセットを開始します。

meteor mongo

  > rs.initiate()
  PRIMARY> rs.add("mongo-a")
  PRIMARY> rs.add("mongo-b")
  PRIMARY> rs.add("mongo-c")
  PRIMARY> rs.setReadPref('secondaryPreferred')


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow