美文网首页
mongodb-集群一主两从部署

mongodb-集群一主两从部署

作者: 李哈哈_2c85 | 来源:发表于2022-09-18 16:01 被阅读0次

    1、一主两从和一主一从一仲裁区别
    仲裁节点不存储数据,只参与选举主节点;其他的一样;

    mongo版本下载地址:https://www.mongodb.com/try/download/community

    1、下载-解压mongodb包

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.9.tgz
    tar -zxvf mongodb-linux-x86_64-2.6.9.tgz
    mv mongodb-linux-x86_64-2.6.9 /data/mongodb
    mkdir -p /data/mongodb/{data,logs,conf}
    

    2、创建配置文件--启动服务

    #创建配置文件
    cat <<EOF >/data/mongodb/conf/mongod.conf 
    port=27017
    bind_ip=0.0.0.0
    dbpath=/data/mongodb/data/
    logpath=/data/mongodb/logs/mongod.log
    #日志追加记录
    logappend=true
    #后台启动
    fork=true
    #最大连接数
    maxConns=5000
    #集群名称
    replSet=rs0
    #集群认证key文件,权限600,做集群前先注释
    keyFile = /data/mongodb/conf/mongokey
    #开启认证登录、做集群前先注释
    #auth=true
    EOF
    
    #启动服务
    /data/mongodb/bin/mongod -f /data/mongodb/conf/mongod.conf
    

    3、集群创建(主节点执行)

    #生成key-(拷贝至其他两个节点指定目录、权限必须修改为600,否则启动报错)--用于控制集群节点的加入
    openssl rand -base64 741 > /data/mongodb/conf/mongokey
    chmod 600 /data/mongodb/conf/mongokey
    
    #主节点执行创建集群命令--创建root用户--修改配置文件认证--重启服务器(我用了两个节点,3个节点就多加一个ip)
    echo 'cfg={_id:"rs0",members:[{_id:0,host:"192.168.5.19:27017"},{_id:1,host:"192.168.10.65:27017"},]}; rs.initiate(cfg);' |/data/mongodb/bin/mongo
    echo 'db.createUser({user:"root",pwd:"system@123",roles: [ { role:"root", db:"admin"} ]})'|/data/mongodb/bin/mongo admin
    sed -i s/#auth/auth/g /data/mongodb/conf/mongod.conf
    echo 'db.shutdownServer()'| /data/mongodb/bin/mongo -uroot -psystem@123 --authenticationDatabase admin admin
    /data/mongodb/bin/mongod -f /data/mongodb/conf/mongod.conf
    

    4、从节点执行开启认证和重启服务

    #其他节点执行注释auth--重新启动mongo
    sed -i s/#auth/auth/g /data/mongodb/conf/mongod.conf
    ps -ef |grep mongod | awk '{print $2}' |xargs kill -9
    /data/mongodb/bin/mongod -f /data/mongodb/conf/mongod.conf
    

    相关文章

      网友评论

          本文标题:mongodb-集群一主两从部署

          本文链接:https://www.haomeiwen.com/subject/nznrortx.html