亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MongoDB docker集群配置小結(jié)

 更新時(shí)間:2023年09月27日 11:27:57   作者:末班車同學(xué)  
本文主要介紹了MongoDB docker集群配置小結(jié),主要包括如何配置MongoDB的三個(gè)節(jié)點(diǎn),以及如何使用Docker Compose快速搭建集群,具有一定的參考價(jià)值,感興趣的可以了解一下

拉取鏡像

docker pull mongo:4.0.28

三臺(tái)主機(jī):主節(jié)點(diǎn)、備節(jié)點(diǎn)、仲裁節(jié)點(diǎn)

各個(gè)主機(jī)下,創(chuàng)建配置目錄:

mkdir -p /root/mongodb/config
cd /root/mongodb/config

在每臺(tái)主機(jī)的config目錄下,添加 mongod.conf 配置文件:

# mongod.conf
?
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
?
# Where and how to store data.
#storage:
#  dbPath: /data/db
#  engine:
#  wiredTiger:
?
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /data/log/mongo.log
?
# network interfaces
#net:
#  port: 27017
#  bindIp: 127.0.0.1
?
?
# how the process runs
#processManagement:
#  timeZoneInfo: /usr/share/zoneinfo
?
#security:
#  keyFile: /data/db/mongo.key
#  authorization: enabled
?
#operationProfiling:
?
# 配副本集名
replication:
  replSetName: "rs0"
?
#sharding:
?
## Enterprise-Only Options:
?
#auditLog:
?
#snmp:

寫三個(gè)節(jié)點(diǎn)的啟動(dòng)腳本。三個(gè)節(jié)點(diǎn)的配置文件要保持一致,如果也是在一臺(tái)機(jī)器上部3個(gè)虛擬節(jié)點(diǎn),后面2個(gè)節(jié)點(diǎn)記得替換一下節(jié)點(diǎn)目錄、替換一下端口映射

創(chuàng)建 run_mongo_cluster_node1.sh 腳本:

docker run --name mongo1 \
        -h mongo1 \
        -v /root/mongodb/db:/data/db \
        -v /root/mongodb/log:/data/log \
        -v /root/mongodb/config:/etc/mongo \
        -p 0.0.0.0:27017:27017 \
        --restart=always \
        -d  mongo:4.0.28 \
        --config /etc/mongo/mongod.conf

創(chuàng)建 vim run_mongo_cluster_node2.sh 腳本:

docker run --name mongo2 \
        -h mongo2 \
        -v /root/mongodb/db:/data/db \
        -v /root/mongodb/log:/data/log \
        -v /root/mongodb/config:/etc/mongo \
        -p 0.0.0.0:27017:27017 \
        --restart=always \
        -d  mongo:4.0.28 \
        --config /etc/mongo/mongod.conf

創(chuàng)建 vim run_mongo_cluster_node3.sh 腳本:

docker run --name mongo3 \
        -h mongo3 \
        -v /root/mongodb/db:/data/db \
        -v /root/mongodb/log:/data/log \
        -v /root/mongodb/config:/etc/mongo \
        -p 0.0.0.0:27017:27017 \
        --restart=always \
        -d  mongo:4.0.28 \
        --config /etc/mongo/mongod.conf

啟動(dòng)三個(gè)節(jié)點(diǎn)容器

sh run_mongo_cluster_node1.sh
sh run_mongo_cluster_node2.sh
sh run_mongo_cluster_node3.sh

啟動(dòng)后查看日志可發(fā)現(xiàn),日志提示副本集模式還沒(méi)有配置集群,狀態(tài)不可用

配置集群

隨便進(jìn)入一個(gè)節(jié)點(diǎn),這里進(jìn)入節(jié)點(diǎn)1

docker exec -it mongo_node1 mongo

把這個(gè)配置粘貼上,回車之后顯示OK就可以了。

rs.initiate({
_id: "rs0",
members: [
  {_id: 0, host: "172.29.69.8:27017"},
  {_id: 1, host: "172.29.69.9:27017"},
  {_id: 2, host: "172.29.69.10:27017", arbiterOnly: true}
] })

_id: "rs0"副本集名要和配置文件中的一致。arbiterOnly: true這個(gè)是仲裁節(jié)點(diǎn),建議把最后一個(gè)節(jié)點(diǎn)作為仲裁節(jié)點(diǎn),因?yàn)榈谝粋€(gè)節(jié)點(diǎn)作為仲裁會(huì)報(bào)個(gè)錯(cuò)。通常第一個(gè)節(jié)點(diǎn)是主節(jié)點(diǎn)。
這個(gè)時(shí)候已經(jīng)可以使用mongo集群了,但是沒(méi)有認(rèn)證,不安全。

開(kāi)啟認(rèn)證

切到admin庫(kù)

use admin

創(chuàng)建用戶,用戶名root,密碼12345678,權(quán)限r(nóng)oot,所屬庫(kù)admin

db.createUser({user:"root",pwd:"12345678",roles:[{role:'root',db:'admin'}]})

生成 mongo.key 簽名文件

cd /root/mongodb/config
openssl rand -base64 756 > mongo.key

修改文件權(quán)限:

sudo chmod 777 mongo.key

復(fù)制 mongo.key文件到鏡像中。3臺(tái)機(jī)器都需要操作

sudo docker cp /root/mongodb/config/mongo.key mongo1:/tmp/mongo.key
sudo docker cp /root/mongodb/config/mongo.key mongo2:/tmp/mongo.key
sudo docker cp /root/mongodb/config/mongo.key mongo3:/tmp/mongo.key

進(jìn)入 mongo1 鏡像:

 docker exec -it -u mongodb mongo1 /bin/bash

修改認(rèn)證所屬的用戶和權(quán)限:

mv /tmp/mongo.key /data/db/
chown mongodb:mongodb /data/db/mongo.key
chmod 400 /data/db/mongo.key

退出窗口,關(guān)閉鏡像

docker stop mongo1
docker stop mongo2
docker stop mongo3

修改 mongod.conf 配置文件,打開(kāi) security 注釋:

# mongod.conf
?
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
?
# Where and how to store data.
#storage:
#  dbPath: /data/db
#  engine:
#  wiredTiger:
?
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /data/log/mongo.log
?
# network interfaces
#net:
#  port: 27017
#  bindIp: 127.0.0.1
?
?
# how the process runs
#processManagement:
#  timeZoneInfo: /usr/share/zoneinfo
?
security:
  keyFile: /data/db/mongo.key
  authorization: enabled
?
#operationProfiling:
?
# 配副本集名
replication:
  replSetName: "rs0"
?
#sharding:
?
## Enterprise-Only Options:
?
#auditLog:
?
#snmp:

所有機(jī)器的配置文件都需要打開(kāi)注釋

開(kāi)啟所有鏡像:

docker start mongo1
docker start mongo2
docker start mongo3

到此,認(rèn)證開(kāi)啟完畢,集群可以使用了

mongodb操作

修改 root 賬號(hào)密碼:

use admin
db.updateUser(
   "root",
   {
     pwd : "1234567890",
     roles : [ { role: "root", db: "admin" } ]
   }
)

認(rèn)證賬號(hào):

use admin
db.auth("root","1234567890")

命令行登錄mongodb:

mongo -u root -p 1234567890

顯示所有數(shù)據(jù)庫(kù):

show databases

顯示數(shù)據(jù)庫(kù)中所有文檔:

show collections

插入數(shù)據(jù):

db.foods.insert({"name":"西紅柿"})

查看數(shù)據(jù):

use test
db.foods.find()

刪除現(xiàn)有用戶:

db.dropUser("root")

刪除集合:

db.foods.drop()

到此這篇關(guān)于MongoDB docker集群配置小結(jié)的文章就介紹到這了,更多相關(guān)MongoDB docker集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用docker部署hadoop集群的詳細(xì)教程

    使用docker部署hadoop集群的詳細(xì)教程

    這篇文章主要介紹了使用docker部署hadoop集群的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值需要的朋友可以參考下
    2020-09-09
  • Docker開(kāi)啟TLS和CA認(rèn)證的方法步驟

    Docker開(kāi)啟TLS和CA認(rèn)證的方法步驟

    本文主要介紹了Docker開(kāi)啟TLS和CA認(rèn)證的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Docker安裝OpenWrt的實(shí)現(xiàn)步驟

    Docker安裝OpenWrt的實(shí)現(xiàn)步驟

    OpenWrt是一種可以運(yùn)行在路由器上的嵌入式操作系統(tǒng),提供了許多網(wǎng)絡(luò)服務(wù)和功能,本文主要介紹了Docker安裝OpenWrt的實(shí)現(xiàn)步驟,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • docker-compose容器互相連接的實(shí)現(xiàn)

    docker-compose容器互相連接的實(shí)現(xiàn)

    本文主要介紹了docker-compose容器互相連接的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Centos下安裝docker教程

    Centos下安裝docker教程

    本文給大家介紹的是在centos下安裝docker的詳細(xì)教程,分為yum安裝和腳本安裝2種方式,有需要的小伙伴可以參考下。
    2016-02-02
  • Docker出現(xiàn)tag顯示none鏡像的處理方案

    Docker出現(xiàn)tag顯示none鏡像的處理方案

    本文介紹了Docker中出現(xiàn)REPOSITORY和TAG都顯示為<none>的鏡像,即懸掛鏡像的原因,并提供了解決方法,包括查找和刪除懸掛鏡像,以及為它們指定新的標(biāo)簽
    2025-02-02
  • 使用Nexus創(chuàng)建Docker倉(cāng)庫(kù)的方法步驟

    使用Nexus創(chuàng)建Docker倉(cāng)庫(kù)的方法步驟

    這篇文章主要介紹了使用Nexus創(chuàng)建Docker倉(cāng)庫(kù)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • portainer連接遠(yuǎn)程docker的實(shí)現(xiàn)示例

    portainer連接遠(yuǎn)程docker的實(shí)現(xiàn)示例

    本文主要介紹了portainer連接遠(yuǎn)程docker的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • mac 中docker安裝mysql的圖文教程

    mac 中docker安裝mysql的圖文教程

    今天在Docker中安裝了MySQL ,是自己打的docker包.首先新建Dockerfile,新建Dockerfile后執(zhí)行build命令,具體詳情在本教程中給大家介紹的非常詳細(xì),感興趣的朋友參考下
    2016-11-11
  • Docker安裝部署Neo4j的保姆級(jí)教程

    Docker安裝部署Neo4j的保姆級(jí)教程

    本文主要介紹了Docker安裝部署Neo4j的保姆級(jí)教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08

最新評(píng)論