最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

拉取鏡像

docker pull mongo:4.0.28

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

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

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

在每臺主機(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:

寫三個節(jié)點(diǎn)的啟動腳本。三個節(jié)點(diǎn)的配置文件要保持一致,如果也是在一臺機(jī)器上部3個虛擬節(jié)點(diǎn),后面2個節(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

啟動三個節(jié)點(diǎn)容器

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

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

配置集群

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

docker exec -it mongo_node1 mongo

把這個配置粘貼上,回車之后顯示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這個是仲裁節(jié)點(diǎn),建議把最后一個節(jié)點(diǎn)作為仲裁節(jié)點(diǎn),因?yàn)榈谝粋€節(jié)點(diǎn)作為仲裁會報個錯。通常第一個節(jié)點(diǎn)是主節(jié)點(diǎn)。
這個時候已經(jīng)可以使用mongo集群了,但是沒有認(rèn)證,不安全。

開啟認(rèn)證

切到admin庫

use admin

創(chuàng)建用戶,用戶名root,密碼12345678,權(quán)限r(nóng)oot,所屬庫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臺機(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 配置文件,打開 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ī)器的配置文件都需要打開注釋

開啟所有鏡像:

docker start mongo1
docker start mongo2
docker start mongo3

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

mongodb操作

修改 root 賬號密碼:

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

認(rèn)證賬號:

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

命令行登錄mongodb:

mongo -u root -p 1234567890

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

show databases

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

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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker Compose多容器部署的實(shí)現(xiàn)

    Docker Compose多容器部署的實(shí)現(xiàn)

    這篇文章主要介紹了Docker Compose多容器部署的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Docker安裝mysql主從復(fù)制的實(shí)現(xiàn)步驟

    Docker安裝mysql主從復(fù)制的實(shí)現(xiàn)步驟

    MySQL主從復(fù)制是指數(shù)據(jù)可以從一個MySQL數(shù)據(jù)庫服務(wù)器主節(jié)點(diǎn)復(fù)制到一個或多個從節(jié)點(diǎn),本文主要介紹了Docker安裝mysql主從復(fù)制的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2024-03-03
  • docker修改Docker容器啟動配置參數(shù)過程

    docker修改Docker容器啟動配置參數(shù)過程

    本文介紹了兩種使Docker容器開機(jī)自啟的方法,一是修改啟動命令,二是修改容器配置文件hostconfig.json中的RestartPolicy為always
    2026-04-04
  • Docker實(shí)現(xiàn)與主機(jī)同網(wǎng)段其他設(shè)備互通過程

    Docker實(shí)現(xiàn)與主機(jī)同網(wǎng)段其他設(shè)備互通過程

    本文介紹了如何使用Docker網(wǎng)絡(luò)功能,包括默認(rèn)網(wǎng)絡(luò)、自定義網(wǎng)絡(luò)和Overlay網(wǎng)絡(luò),并通過實(shí)踐操作展示了如何在多臺機(jī)器上創(chuàng)建和驗(yàn)證Overlay網(wǎng)絡(luò)
    2025-12-12
  • 如何調(diào)整Docker中nginx的日志級別詳解

    如何調(diào)整Docker中nginx的日志級別詳解

    這篇文章主要給大家介紹了關(guān)于如何調(diào)整Docker中nginx的日志級別的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-09-09
  • Docker資源限制Cgroup的深入理解

    Docker資源限制Cgroup的深入理解

    _cgroups,是一個非常強(qiáng)大的linux內(nèi)核工具,他可以限制被namespace隔離起來的資源,本文主要介紹了Docker資源限制Cgroup的深入理解。具有一定的參考價值,感興趣的可以了解一下
    2022-07-07
  • 詳解如何使用Docker部署一個web項(xiàng)目并打包成鏡像文件

    詳解如何使用Docker部署一個web項(xiàng)目并打包成鏡像文件

    這篇文章主要介紹了詳解如何使用Docker部署一個web項(xiàng)目并打包成鏡像文件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Docker 清理命令集錦

    Docker 清理命令集錦

    這篇文章主要介紹了Docker 清理命令集錦,需要的朋友可以參考下
    2014-10-10
  • Docker部署SearXNG的方法(寶塔面板為例)

    Docker部署SearXNG的方法(寶塔面板為例)

    SearXNG 是一款開源的元搜索引擎,通過聚合 Google、Bing、維基百科等 240+ 主流搜索引擎的結(jié)果,為用戶提供無追蹤、去中心化的搜索體驗(yàn),本文以寶塔面板為例詳細(xì)介紹SearXNG docker部署方法,感興趣的朋友一起看看吧
    2025-08-08
  • Docker查看是否開機(jī)自啟及容器自啟動設(shè)置

    Docker查看是否開機(jī)自啟及容器自啟動設(shè)置

    Docker是當(dāng)前最流行的容器技術(shù),通過運(yùn)用容器打包應(yīng)用程序并部署到生產(chǎn)環(huán)境中,可大大提高部署的速度和可靠性,下面這篇文章主要給大家介紹了關(guān)于Docker查看是否開機(jī)自啟及容器自啟動設(shè)置的相關(guān)資料,需要的朋友可以參考下
    2024-01-01

最新評論

安达市| 黄大仙区| 木里| 信丰县| 堆龙德庆县| 陈巴尔虎旗| 松原市| 河曲县| 大余县| 玉林市| 大英县| 罗源县| 沧州市| 格尔木市| 前郭尔| 和顺县| 图木舒克市| 从化市| 安新县| 内乡县| 镇赉县| 保山市| 肇东市| 上栗县| 碌曲县| 贵溪市| 江阴市| 黄陵县| 鄱阳县| 吴忠市| 漳州市| 临安市| 霍林郭勒市| 琼海市| 云林县| 松溪县| 无棣县| 宜宾县| 云南省| 景泰县| 莎车县|