文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

配置mongodb副本集

2024-04-02 19:55

关注

主机信息:
[root@my2 db]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.101    my1.ml.com   my1
192.168.56.102    my2.ml.com   my2
192.168.56.103    my3.ml.com   my3

关闭大页内存:
echo never >>  /sys/kernel/mm/transparent_hugepage/enabled
echo never >>  /sys/kernel/mm/transparent_hugepage/defrag

在每个主机上面创建目录:
mkdir /data/db -p

在每个主机上面编辑配置文件:
vim /data/db/mongodb.conf

storage:
    dbPath: "/data/db"
    directoryPerDB: true
    journal:
        enabled: true
    wiredTiger:
        engineConfig:
            cacheSizeGB: 1
systemLog:
    destination: file
    path: "/data/db/mongodb.log"
    logRotate: rename
    logAppend: true
    timeStampFormat: iso8601-local
operationProfiling:
   slowOpThresholdMs: 200
   mode: slowOp
replication:
    oplogSizeMB: 10240
    replSetName: "repsetzhou"
processManagement:
    fork: true
net:
    bindIp: 0.0.0.0
    port: 27017
security:
    keyFile: "/data/db/mongodb-keyfile"
    authorization: "enabled"

生成认证文件:
[root@my1 db]# openssl rand -base64 800 > /data/db/mongodb-keyfile

scp到其他节点:
[root@my1 db]# scp /data/db/mongodb-keyfile 192.168.56.102:/data/db/
mongodb-keyfile                                                                                                   100% 1390     1.4KB/s   00:00    
[root@my1 db]# scp /data/db/mongodb-keyfile 192.168.56.103:/data/db/
mongodb-keyfile
启动三个节点上的mongodb:
/usr/local/mongodb/bin/mongod --config /data/db/mongodb.conf

登录192.168.56.101上的mongodb进行配置初始化复制集:
/usr/local/mongodb/bin/mongo
> use admin
switched to db admin

配置复制集:
config = {
    _id : "repsetzhou",
    members : [
         {_id : 0, host : "192.168.56.101:27017"},
         {_id : 1, host : "192.168.56.102:27017"},
         {_id : 2, host : "192.168.56.103:27017"},
   ]
}

初始化配置集:
rs.initiate(config)


操作:
> config = {
...     _id : "repsetzhou",
...     members : [
...          {_id : 0, host : "192.168.56.101:27017"},
...          {_id : 1, host : "192.168.56.102:27017"},
...          {_id : 2, host : "192.168.56.103:27017"},
...    ]
... }
{
    "_id" : "repsetzhou",
    "members" : [
        {
            "_id" : 0,
            "host" : "192.168.56.101:27017"
        },
        {
            "_id" : 1,
            "host" : "192.168.56.102:27017"
        },
        {
            "_id" : 2,
            "host" : "192.168.56.103:27017"
        }
    ]
}
>
> rs.initiate(config)
{ "ok" : 1 }



登录确认:
repsetzhou:PRIMARY> use admin
switched to db admin
repsetzhou:PRIMARY> rs.config()
{
    "_id" : "repsetzhou",
    "version" : 1,
    "protocolVersion" : NumberLong(1),
    "members" : [
        {
            "_id" : 0,
            "host" : "192.168.56.101:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {
                
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        },
        {
            "_id" : 1,
            "host" : "192.168.56.102:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {
                
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        },
        {
            "_id" : 2,
            "host" : "192.168.56.103:27017",
            "arbiterOnly" : false,
            "buildIndexes" : true,
            "hidden" : false,
            "priority" : 1,
            "tags" : {
                
            },
            "slaveDelay" : NumberLong(0),
            "votes" : 1
        }
    ],
    "settings" : {
        "chainingAllowed" : true,
        "heartbeatIntervalMillis" : 2000,
        "heartbeatTimeoutSecs" : 10,
        "electionTimeoutMillis" : 10000,
        "getLastErrorModes" : {
            
        },
        "getLastErrorDefaults" : {
            "w" : 1,
            "wtimeout" : 0
        },
        "replicaSetId" : ObjectId("5b9724ff670e7d5d4d9c6c7e")
    }
}
repsetzhou:PRIMARY>



添加db认证:
use admin
 
db.createUser(
{
    user:"admin",
    pwd:"admin123",
    roles:[{role:"userAdminAnyDatabase",db:"admin"}]
}
);




repsetzhou:PRIMARY> use admin
switched to db admin
repsetzhou:PRIMARY> db.createUser(
... {
... user:"admin",
... pwd:"admin123",
... roles:[{role:"userAdminAnyDatabase",db:"admin"}]
... }
... );
Successfully added user: {
    "user" : "admin",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

授权:

db.grantRolesToUser("admin", ["clusterAdmin"])
db.grantRolesToUser("admin", ["readWriteAnyDatabase"])





阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯