MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB dưới dạng dịch vụ cửa sổ và thiết lập bản sao

Bạn có thể thiết lập bộ bản sao và dịch vụ MongoDB cùng một lúc trên Windows. Vì bạn đã thiết lập một tập hợp bản sao, bạn cần biết rằng bạn cần có một thư mục dữ liệu và một tệp nhật ký cho mỗi thành viên tập hợp bản sao. Nếu bạn đang chạy tất cả các thành viên tập hợp bản sao trên một máy, mỗi thành viên tập hợp bản sao phải được gán một số cổng khác nhau. Mẫu được cung cấp chỉ để phát triển hoặc thử nghiệm chức năng. Việc thiết lập tất cả các thành viên tập hợp bản sao trên một máy sẽ tạo thành một điểm sai sót duy nhất ngoài việc ảnh hưởng đến tổng hiệu suất.

Tạo tệp cấu hình cho từng thành viên của nhóm bản sao bao gồm thư mục dữ liệu, tệp nhật ký, số cổng và tên nhóm bản sao. Ví dụ:tôi có một tập hợp bản sao gồm 3 thành viên, một Mongodb chính chạy trên cổng 27017 và hai Mongodb thứ cấp, Mongodb1 trên cổng 37017 và Mongodb2 trên cổng 47017. Tên tập hợp bản sao là rs1.

Đây là tệp cấu hình cho ví dụ Mongodb.

# mongod.conf

# data directory
dbpath=C:\data\db

# log file
logpath=C:\mongodb-win32-i386-2.4.4\log\mongo.log

logappend=true

#port number 
port=27017

#replica set name
replSet=rs1

Đây là tệp cấu hình cho một trong những thứ hai.

# mongo.conf

# data directory
dbpath=C:\data\db2

# log file
logpath=C:\mongodb-win32-i386-2.4.4\log2\mongo.log

logappend=true

# port number
port=47017

# replica set name
replSet=rs1

Liên kết sau cung cấp danh sách đầy đủ các tùy chọn tệp cấu hình:http://docs.mongodb.org/manual/reference/configuration-options/

Thêm tất cả ba phiên bản MongoDB dưới dạng dịch vụ Windows. Vì tôi không chỉ định dịch vụ và tên hiển thị dịch vụ, nên dịch vụ MongoDB sẽ sử dụng dịch vụ / tên hiển thị dịch vụ mặc định là MongoDB

C:\mongodb-2.4.4\bin>mongod --config C:\mongodb-2.4.4\mongod.cfg --install

Cài đặt hai phiên bản MongoDB khác với tên dịch vụ và tên hiển thị dịch vụ.

C:\mongodb-2.4.4\bin>mongod --config C:\mongodb-2.4.4\mongod1.cfg --serviceName MongoDB1 --serviceDisplayName MongoDB1 --install
C:\mongodb-2.4.4\bin>mongod --config C:\mongodb-2.4.4\mongod2.cfg --serviceName MongoDB2 --serviceDisplayName MongoDB2 --install

Bắt đầu tất cả ba phiên bản của MongDB

C:\mongodb-2.4.4\bin>net start mongodb
The Mongo DB service is starting.
The Mongo DB service was started successfully.

C:\mongodb-2.4.4\bin>net start mongodb1
The MongoDB1 service is starting.
The MongoDB1 service was started successfully.

C:\mongodb-2.4.4\bin>net start mongodb2
The MongoDB2 service is starting.
The MongoDB2 service was started successfully.

Xác minh trạng thái của cả ba dịch vụ Windows bằng lệnh sc với tùy chọn truy vấn.

C:\mongodb-2.4.4\bin>sc query mongodb
C:\mongodb-2.4.4\bin>sc query mongodb1
C:\mongodb-2.4.4\bin>sc query mongodb2

Định cấu hình tập hợp bản sao từ MongoDB shell. Trong ví dụ sau, cá thể MongoDB trên cổng 27017 sẽ là thành viên tập hợp bản sao chính.

C:\mongodb-2.4.4\bin>mongo --port 27017

Đặt cấu hình nhóm bản sao từ MongoDB shell.

> config = { _id: "rs1", members:[
... { _id : 0, host : "localhost:27017"},
... { _id : 1, host : "localhost:37017"},
... { _id : 2, host : "localhost:47017"}
... ] }

Tại MongoDB shell, khởi tạo tập hợp bản sao và xác minh trạng thái của nó.

> rs.initiate(config)
{
        "info" : "Config now saved locally.  Should come online in about a minute.",
        "ok" : 1
}
> rs.status()
{
        "set" : "rs1",
        "date" : ISODate("2013-07-02T18:40:27Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "localhost:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 651,
                        "optime" : {
                                "t" : 1372790393,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2013-07-02T18:39:53Z"),
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "localhost:37017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 31,
                        "optime" : {
                                "t" : 1372790393,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2013-07-02T18:39:53Z"),
                        "lastHeartbeat" : ISODate("2013-07-02T18:40:26Z"),
                        "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
                        "pingMs" : 0,
                        "syncingTo" : "localhost:27017"
                },
                {
                        "_id" : 2,
                        "name" : "localhost:47017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 31,
                        "optime" : {
                                "t" : 1372790393,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2013-07-02T18:39:53Z"),
                        "lastHeartbeat" : ISODate("2013-07-02T18:40:26Z"),
                        "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"),
                        "pingMs" : 0,
                        "syncingTo" : "localhost:27017"
                }
        ],
        "ok" : 1
}
rs1:PRIMARY>

Bạn cũng có thể kiểm tra trạng thái của sổ phụ. Ở đây tôi đang kết nối với một trong các thiết bị thứ hai trên cổng 37017.

C:\mongodb-2.4.4\bin>mongo --port 37017

Lời nhắc sau sẽ hiển thị trong MongoDB shell hiển thị trạng thái phụ.

rs1:SECONDARY>

Bạn có thể tìm thấy hướng dẫn triển khai tập hợp bản sao tại đây:https://docs.mongodb.com/manual/tutorial/deploy-replica-set/



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lệnh MongoDB dropIndexes

  2. Làm thế nào để truy vấn mongodb với "like" bằng cách sử dụng java api?

  3. mongodb - tạo doc nếu không tồn tại, nếu không sẽ đẩy lên mảng

  4. Làm cách nào để xuất tất cả các bộ sưu tập trong MongoDB?

  5. Mongoose tham số truy vấn tìm kiếm tùy chọn?