Hướng dẫn what is hostname in mongodb? - tên máy chủ trong mongodb là gì?

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Trên trang này

  • Tổng quan
  • Giả định
  • Thay đổi tên máy chủ trong khi duy trì tính khả dụng của bộ bản sao
  • Thay đổi tất cả các tên máy chủ cùng một lúc

Đối với hầu hết các bộ bản sao, tên máy chủ trong trường

cfg = rs.conf()
cfg.members[1].host = "mongodb1.example.net:27017"
rs.reconfig(cfg)
5 không bao giờ thay đổi. Tuy nhiên, nếu nhu cầu tổ chức thay đổi, bạn có thể cần di chuyển một số hoặc tất cả các tên máy chủ.

Ghi chú

Luôn luôn sử dụng tên máy chủ có thể giải quyết được cho giá trị của trường

cfg = rs.conf()
cfg.members[1].host = "mongodb1.example.net:27017"
rs.reconfig(cfg)
5 trong cấu hình bộ bản sao để tránh sự nhầm lẫn và phức tạp.

Quan trọng

Để tránh các bản cập nhật cấu hình do thay đổi địa chỉ IP, hãy sử dụng tên máy chủ DNS thay vì địa chỉ IP. Điều đặc biệt quan trọng là sử dụng tên máy chủ DNS thay vì địa chỉ IP khi định cấu hình các thành viên đặt bản sao hoặc các thành viên cụm bị chia cắt.

Sử dụng tên máy chủ thay vì địa chỉ IP để định cấu hình các cụm trên đường chân trời mạng chia. Bắt đầu từ MongoDB 5.0, các nút chỉ được cấu hình với địa chỉ IP sẽ không xác thực khởi động và sẽ không bắt đầu.

Tài liệu này cung cấp hai quy trình riêng biệt để thay đổi tên máy chủ trong trường

cfg = rs.conf()
cfg.members[1].host = "mongodb1.example.net:27017"
rs.reconfig(cfg)
5. Sử dụng một trong các phương pháp sau:

  • Thay đổi tên máy chủ mà không làm gián đoạn tính khả dụng. Cách tiếp cận này đảm bảo các ứng dụng của bạn sẽ luôn có thể đọc và ghi dữ liệu vào bộ bản sao, nhưng cách tiếp cận có thể mất nhiều thời gian và có thể phát sinh thời gian chết ở lớp ứng dụng.. This approach ensures your applications will always be able to read and write data to the replica set, but the approach can take a long time and may incur downtime at the application layer.

    Nếu bạn sử dụng quy trình đầu tiên, bạn phải định cấu hình các ứng dụng của mình để kết nối với bản sao được đặt ở cả hai vị trí cũ và mới, thường yêu cầu khởi động lại và cấu hình lại ở lớp ứng dụng và có thể ảnh hưởng đến tính khả dụng của các ứng dụng của bạn. Các ứng dụng cấu hình lại nằm ngoài phạm vi của tài liệu này.

  • Dừng tất cả các thành viên chạy trên tên máy chủ cũ cùng một lúc. Cách tiếp cận này có một cửa sổ bảo trì ngắn hơn, nhưng bộ bản sao sẽ không có sẵn trong quá trình hoạt động.. This approach has a shorter maintenance window, but the replica set will be unavailable during the operation.

Mẹo

Cho một bộ bản sao với ba thành viên:

  • cfg = rs.conf()
    cfg.members[1].host = "mongodb1.example.net:27017"
    rs.reconfig(cfg)
    8 (chính)

  • cfg = rs.conf()
    cfg.members[1].host = "mongodb1.example.net:27017"
    rs.reconfig(cfg)
    9

  • cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    0

Và với đầu ra

cfg = rs.conf()
cfg.members[0].host = "mongodb0.example.net:27017"
rs.reconfig(cfg)
1 sau:

{
"_id" : "rs",
"version" : 3,
"members" : [
{
"_id" : 0,
"host" : "database0.example.com:27017"
},
{
"_id" : 1,
"host" : "database1.example.com:27017"
},
{
"_id" : 2,
"host" : "database2.example.com:27017"
}
]
}

Các quy trình sau thay đổi tên máy chủ của thành viên như sau:

  • cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    2 (chính)

  • cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    3

  • cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    4

Sử dụng thủ tục thích hợp nhất để triển khai của bạn.

Quy trình này sử dụng các giả định trên.assumptions.

  1. Đối với mỗi thứ cấp trong bộ bản sao, hãy thực hiện chuỗi hoạt động sau:

    1. Dừng thứ cấp.

    2. Khởi động lại thứ cấp tại vị trí mới.

    3. Kết nối

      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      5 với chính bộ bản sao. Trong ví dụ của chúng tôi, bản chính chạy trên cổng
      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      6 vì vậy bạn sẽ ban hành lệnh sau:
      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      5
      to the replica set's primary. In our example, the primary runs on port
      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      6 so you would issue the following command:

    4. Sử dụng

      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      7 để cập nhật tài liệu cấu hình đặt bản sao với tên máy chủ mới.

      Ví dụ: chuỗi các lệnh sau đây cập nhật tên máy chủ cho phần phụ tại chỉ mục mảng

      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      8 của mảng
      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      9 (tức là
      {
      "_id" : "rs",
      "version" : 4,
      "members" : [
      {
      "_id" : 0,
      "host" : "mongodb0.example.net:27017"
      },
      {
      "_id" : 1,
      "host" : "mongodb1.example.net:27017"
      },
      {
      "_id" : 2,
      "host" : "mongodb2.example.net:27017"
      }
      ]
      }
      0) trong tài liệu cấu hình SET SET:

      cfg = rs.conf()
      cfg.members[1].host = "mongodb1.example.net:27017"
      rs.reconfig(cfg)

      Để biết thêm thông tin về việc cập nhật tài liệu cấu hình, xem ví dụ.

    5. Đảm bảo các ứng dụng khách của bạn có thể truy cập bộ tại vị trí mới và thứ cấp có cơ hội bắt kịp các thành viên khác của bộ.

      Lặp lại các bước trên cho mỗi thành viên không chính của tập hợp.

  2. Kết nối

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5 với chính và bước xuống chính bằng phương pháp
    {
    "_id" : "rs",
    "version" : 4,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongodb0.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongodb1.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongodb2.example.net:27017"
    }
    ]
    }
    2:
    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5
    to the primary and step down the primary using the
    {
    "_id" : "rs",
    "version" : 4,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongodb0.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongodb1.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongodb2.example.net:27017"
    }
    ]
    }
    2 method:

    Bộ bản sao bầu một thành viên khác để trở thành chính.

  3. Khi bước xuống thành công, hãy tắt cái sơ cấp cũ.

  4. Bắt đầu thể hiện

    {
    "_id" : "rs",
    "version" : 4,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongodb0.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongodb1.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongodb2.example.net:27017"
    }
    ]
    }
    3 sẽ trở thành chính mới ở vị trí mới.

  5. Kết nối với chính hiện tại, vừa được bầu và cập nhật tài liệu cấu hình SET bản sao với tên máy chủ của nút sẽ trở thành chính mới.

    Ví dụ: nếu sơ cấp cũ ở vị trí

    {
    "_id" : "rs",
    "version" : 4,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongodb0.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongodb1.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongodb2.example.net:27017"
    }
    ]
    }
    4 và tên máy chủ chính của mới là
    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    2, bạn sẽ chạy:

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)

  6. Kết nối

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5 với chính mới.
    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5
    to the new primary.

  7. Để xác nhận cấu hình mới, hãy gọi

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    1 trong
    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5
    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5

    Đầu ra của bạn sẽ giống với:

    {
    "_id" : "rs",
    "version" : 4,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongodb0.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongodb1.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongodb2.example.net:27017"
    }
    ]
    }

Quy trình này sử dụng các giả định trên.assumptions.

Đối với mỗi thứ cấp trong bộ bản sao, hãy thực hiện chuỗi hoạt động sau:

Dừng thứ cấp.

Khởi động lại thứ cấp tại vị trí mới.

  1. Kết nối

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5 với chính bộ bản sao. Trong ví dụ của chúng tôi, bản chính chạy trên cổng
    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    6 vì vậy bạn sẽ ban hành lệnh sau:

    mongosh --port 27017 -u myUserAdmin --authenticationDatabase 'admin' -p

  2. Sử dụng

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    7 để cập nhật tài liệu cấu hình đặt bản sao với tên máy chủ mới.

    db.adminCommand( {
    createRole: "systemreplsetRole",
    privileges: [
    { resource: { db: "local", collection: "system.replset" }, actions: ["find","update"] }
    ],
    roles: []
    } );

  3. Ví dụ: chuỗi các lệnh sau đây cập nhật tên máy chủ cho phần phụ tại chỉ mục mảng

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    8 của mảng
    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    9 (tức là
    {
    "_id" : "rs",
    "version" : 4,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongodb0.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongodb1.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongodb2.example.net:27017"
    }
    ]
    }
    0) trong tài liệu cấu hình SET SET:

    use admin
    db.grantRolesToUser( "userPerformingRename", [ { role: "systemreplsetRole", db: "admin" } ] );

  1. Dừng tất cả các thành viên trong bộ bản sao.

  2. Khởi động lại mỗi thành viên trên một cổng khác nhau và không sử dụng tùy chọn thời gian chạy

    db.adminCommand( {
    createRole: "systemreplsetRole",
    privileges: [
    { resource: { db: "local", collection: "system.replset" }, actions: ["find","update"] }
    ],
    roles: []
    } );
    0. Thay đổi số cổng trong quá trình bảo trì ngăn khách hàng kết nối với máy chủ này trong khi bạn thực hiện bảo trì. Sử dụng
    db.adminCommand( {
    createRole: "systemreplsetRole",
    privileges: [
    { resource: { db: "local", collection: "system.replset" }, actions: ["find","update"] }
    ],
    roles: []
    } );
    1 thông thường của thành viên, trong ví dụ này là
    db.adminCommand( {
    createRole: "systemreplsetRole",
    privileges: [
    { resource: { db: "local", collection: "system.replset" }, actions: ["find","update"] }
    ],
    roles: []
    } );
    2. Sử dụng lệnh giống như sau:

    Cảnh báo

    mongod --dbpath /data/db1/ --port 37017 --bind_ip localhost,

    Quan trọng

    Để tránh các bản cập nhật cấu hình do thay đổi địa chỉ IP, hãy sử dụng tên máy chủ DNS thay vì địa chỉ IP. Điều đặc biệt quan trọng là sử dụng tên máy chủ DNS thay vì địa chỉ IP khi định cấu hình các thành viên đặt bản sao hoặc các thành viên cụm bị chia cắt.

    Sử dụng tên máy chủ thay vì địa chỉ IP để định cấu hình các cụm trên đường chân trời mạng chia. Bắt đầu từ MongoDB 5.0, các nút chỉ được cấu hình với địa chỉ IP sẽ không xác thực khởi động và sẽ không bắt đầu.

  3. Đối với mỗi thành viên của bộ bản sao, hãy thực hiện chuỗi hoạt động sau:

    1. Kết nối

      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      5 với
      {
      "_id" : "rs",
      "version" : 4,
      "members" : [
      {
      "_id" : 0,
      "host" : "mongodb0.example.net:27017"
      },
      {
      "_id" : 1,
      "host" : "mongodb1.example.net:27017"
      },
      {
      "_id" : 2,
      "host" : "mongodb2.example.net:27017"
      }
      ]
      }
      3 đang chạy trên cổng mới, tạm thời. Ví dụ: đối với một thành viên chạy trên cổng tạm thời của
      db.adminCommand( {
      createRole: "systemreplsetRole",
      privileges: [
      { resource: { db: "local", collection: "system.replset" }, actions: ["find","update"] }
      ],
      roles: []
      } );
      5, bạn sẽ ban hành lệnh này:
      cfg = rs.conf()
      cfg.members[0].host = "mongodb0.example.net:27017"
      rs.reconfig(cfg)
      5
      to the
      {
      "_id" : "rs",
      "version" : 4,
      "members" : [
      {
      "_id" : 0,
      "host" : "mongodb0.example.net:27017"
      },
      {
      "_id" : 1,
      "host" : "mongodb1.example.net:27017"
      },
      {
      "_id" : 2,
      "host" : "mongodb2.example.net:27017"
      }
      ]
      }
      3 running on the new, temporary port. For example, for a member running on a temporary port of
      db.adminCommand( {
      createRole: "systemreplsetRole",
      privileges: [
      { resource: { db: "local", collection: "system.replset" }, actions: ["find","update"] }
      ],
      roles: []
      } );
      5, you would issue this command:

      Nếu chạy với Điều khiển truy cập, hãy kết nối với tư cách là người dùng với các đặc quyền phù hợp. Xem điều kiện tiên quyết.Prerequisites.

      mongosh --port 37017 -u userPerformingRename --authenticationDatabase=admin -p

    2. Chỉnh sửa cấu hình đặt bản sao theo cách thủ công. Cấu hình bộ bản sao là tài liệu duy nhất trong bộ sưu tập

      {
      "_id" : "rs",
      "version" : 4,
      "members" : [
      {
      "_id" : 0,
      "host" : "mongodb0.example.net:27017"
      },
      {
      "_id" : 1,
      "host" : "mongodb1.example.net:27017"
      },
      {
      "_id" : 2,
      "host" : "mongodb2.example.net:27017"
      }
      ]
      }
      9 trong cơ sở dữ liệu

      mongosh --port 27017 -u myUserAdmin --authenticationDatabase 'admin' -p

      0.

      Để thay đổi tên máy chủ, chỉnh sửa cấu hình bộ bản sao để cung cấp tên máy chủ và cổng mới cho tất cả các thành viên của bộ bản sao.

      1. Chuyển sang cơ sở dữ liệu

        mongosh --port 27017 -u myUserAdmin --authenticationDatabase 'admin' -p

        0.

      2. Tạo một biến JavaScript cho tài liệu cấu hình. Sửa đổi giá trị của trường

        db.adminCommand( {
        createRole: "systemreplsetRole",
        privileges: [
        { resource: { db: "local", collection: "system.replset" }, actions: ["find","update"] }
        ],
        roles: []
        } );
        9 để phù hợp với bộ bản sao của bạn.

        cfg = db.system.replset.findOne( { "_id": "rs0" } )

      3. Cung cấp tên máy chủ và cổng mới cho mỗi thành viên của bộ bản sao. Sửa đổi tên máy chủ và cổng để phù hợp với bộ bản sao của bạn.

        cfg = rs.conf()
        cfg.members[1].host = "mongodb1.example.net:27017"
        rs.reconfig(cfg)
        0

      4. Cập nhật tên máy chủ và cổng trong bộ sưu tập

        {
        "_id" : "rs",
        "version" : 4,
        "members" : [
        {
        "_id" : 0,
        "host" : "mongodb0.example.net:27017"
        },
        {
        "_id" : 1,
        "host" : "mongodb1.example.net:27017"
        },
        {
        "_id" : 2,
        "host" : "mongodb2.example.net:27017"
        }
        ]
        }
        9:

        cfg = rs.conf()
        cfg.members[1].host = "mongodb1.example.net:27017"
        rs.reconfig(cfg)
        1

      5. Xác minh các thay đổi:

        cfg = rs.conf()
        cfg.members[1].host = "mongodb1.example.net:27017"
        rs.reconfig(cfg)
        2

    3. Dừng quy trình

      {
      "_id" : "rs",
      "version" : 4,
      "members" : [
      {
      "_id" : 0,
      "host" : "mongodb0.example.net:27017"
      },
      {
      "_id" : 1,
      "host" : "mongodb1.example.net:27017"
      },
      {
      "_id" : 2,
      "host" : "mongodb2.example.net:27017"
      }
      ]
      }
      3 trên thành viên.

  4. Sau khi cấu hình lại tất cả các thành viên của tập hợp, hãy bắt đầu từng phiên bản

    {
    "_id" : "rs",
    "version" : 4,
    "members" : [
    {
    "_id" : 0,
    "host" : "mongodb0.example.net:27017"
    },
    {
    "_id" : 1,
    "host" : "mongodb1.example.net:27017"
    },
    {
    "_id" : 2,
    "host" : "mongodb2.example.net:27017"
    }
    ]
    }
    3 theo cách thông thường: Sử dụng số cổng thông thường và sử dụng tùy chọn
    db.adminCommand( {
    createRole: "systemreplsetRole",
    privileges: [
    { resource: { db: "local", collection: "system.replset" }, actions: ["find","update"] }
    ],
    roles: []
    } );
    0. Ví dụ:

    Cảnh báo

    cfg = rs.conf()
    cfg.members[1].host = "mongodb1.example.net:27017"
    rs.reconfig(cfg)
    3

  5. Quan trọng

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5. For example:

  6. Để tránh các bản cập nhật cấu hình do thay đổi địa chỉ IP, hãy sử dụng tên máy chủ DNS thay vì địa chỉ IP. Điều đặc biệt quan trọng là sử dụng tên máy chủ DNS thay vì địa chỉ IP khi định cấu hình các thành viên đặt bản sao hoặc các thành viên cụm bị chia cắt.

    cfg = rs.conf()
    cfg.members[0].host = "mongodb0.example.net:27017"
    rs.reconfig(cfg)
    5

    Sử dụng tên máy chủ thay vì địa chỉ IP để định cấu hình các cụm trên đường chân trời mạng chia. Bắt đầu từ MongoDB 5.0, các nút chỉ được cấu hình với địa chỉ IP sẽ không xác thực khởi động và sẽ không bắt đầu.

    cfg = rs.conf()
    cfg.members[1].host = "mongodb1.example.net:27017"
    rs.reconfig(cfg)
    4

Tên máy chủ trong La bàn MongoDB là gì?

Tên máy chủ trong Máy khách La Mã MongoDB cũng có thể là tên máy tính của máy chủ như W11ABC11A11.Để lấy tên máy tính của máy chủ MongoDB của bạn, hãy sử dụng tên máy chủ trong CMD (trên máy tính MongoDB Server).the server's computer name like W11ABC11A11. To get computer name of your MongoDB server, use hostname in CMD (on the MongoDB server computer).

Máy chủ máy chủ MongoDB ở đâu?

Nó có thể được lưu trữ trên các nền tảng như AWS, Azure và GCP để phát triển.Lưu trữ MongoDB miễn phí 512MB miễn phí.AWS, Azure, and GCP for development. Free MongoDB Storage of 512MB for free.

Làm thế nào để MongoDB kết nối với máy chủ?

Ví dụ MongoDB trên một máy chủ từ xa..
Bạn có thể sử dụng tùy chọn dòng lệnh--host:.Ví dụ: để kết nối với một thể hiện MongoDB đang chạy trên máy chủ từ xa: ....
Bạn có thể sử dụng các tùy chọn dòng lệnh--host và --port ..

Địa chỉ IP trong MongoDB là gì?

IP là một mã định danh số duy nhất cho một thiết bị kết nối với mạng.Trong MongoDB Atlas cho chính phủ, bạn chỉ có thể kết nối với một cụm từ một địa chỉ IP đáng tin cậy.a unique numeric identifier for a device connecting to a network. In MongoDB Atlas for Government, you can only connect to a cluster from a trusted IP address.