Linux下MongoDB分片集群搭建

一、安装

1.下载安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.8.tgz
2.解压
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.8.tgz
3.安装config服务器(分片模式下需要,可1台或3台)
  • 准备目录

sudo mkdir -p  /usr/local/mongodb/mongodb4.2.14/config/data
  • 准备签名文件

openssl rand -base64 756 > /usr/local/mongodb/mongodb4.2.14/keyfile/mongodbKeyFile.file
chmod 400 /usr/local/mongodb/mongodb4.2.14/keyfile/mongodbKeyFile.file>
  • 修改配置文件

  #mogodb pid文件
  pidfilepath=/usr/local/mongodb/mongodb4.2.14/config/configsrv.pid
  #数据存储目录
  dbpath=/usr/local/mongodb/mongodb4.2.14/config/data
  #日志存储目录
  logpath=/usr/local/mongodb/mongodb4.2.14/config/configsrv.log
  #以追加的方式记录日志
  logappend=true
  #绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
  bind_ip=0.0.0.0
  #端口号
  port=21000
  #以后台方式运行进程
  fork=true
  #声明这是一个集群的config服务
  configsvr=true
  #副本集名称
  replSet=configs
  #设置最大连接数
  maxConns=20000
  #启用验证
  auth=true
  #集群的私钥的完整路径,只对于Replica Set 架构有效
  keyFile=/usr/local/mongodb/mongodb4.2.14/keyfile/mongodbKeyFile.file
  • 启动config服务
/usr/local/mongodb/mongodb4.2.14/bin/mongod -f /usr/local/mongodb/mongodb4.2.14/conf/config.conf
  • 初始化(需要先把auth设为false,添加用户后再设为true)

/usr/local/mongodb/mongodb4.2.14/bin/mongo --port 21000
config = {_id : "configs",members : [{_id : 0, host : "192.168.3.20:21000" }]}
rs.initiate(config)
4.安装mongodb服务器(分片模式需要安装多个服务)
  • 准备目录

sudo mkdir -p  /usr/local/mongodb/mongodb4.2.14/shard1
  • 修改配置文件

#日志文件配置
systemLog:
   destination: file
   path: "/usr/local/mongodb/mongodb4.2.14/shard1/shard1.log"
   logAppend: true
#存储配置
storage:
   dbPath: "/usr/local/mongodb/mongodb4.2.14/shard1/data"
   wiredTiger:
      engineConfig:
         cacheSizeGB: 6 #限制内存
#进程配置
processManagement:
   fork: true
   pidFilePath: "/usr/local/mongodb/mongodb4.2.14/shard1/shard1.pid"
net:
   bindIp: 0.0.0.0
   port: 23001
#分片配置
replication:
   replSetName: "shard1" #片名,多台服务器相同表示集群,不同表示分片
sharding:
   clusterRole: shardsvr #指定是分片服务器
security:
   keyFile: "/usr/local/mongodb/mongodb4.2.14/keyfile/mongodbKeyFile.file"
   authorization: enabled
  • 启动服务

/usr/local/mongodb/mongodb4.2.14/bin/mongod -f /usr/local/mongodb/mongodb4.2.14/conf/shard1.conf
  • 初始化分片(分片模式下需要)

/usr/local/mongodb/mongodb4.2.14/bin/mongo --port 23001
config = {_id : "shard1",members : [{_id : 0, host : "192.168.3.20:27001" }]}
rs.initiate(config)
5.安装Mongos服务器(分片模式下需要)
  • 准备目录

sudo mkdir -p  /usr/local/mongodb/mongodb4.2.14/mongo
  • 修改配置文件

pidfilepath = /usr/local/mongodb/mongodb4.2.14/mongos/mongos.pid
logpath = /usr/local/mongodb/mongodb4.2.14/mongos/mongos.log
logappend = true
bind_ip = 0.0.0.0
port = 20000
fork = true
#监听的配置服务器,只能有1个或者3个 configs为配置服务器的副本集名字
configdb = configs/127.0.0.1:21000
#设置最大连接数
maxConns=20000
keyFile=/usr/local/mongodb/mongodb4.2.14/keyfile/mongodbKeyFile.file
  • 启动Mongos服务

/usr/local/mongodb/mongodb4.2.14/bin/mongos -f /usr/local/mongodb/mongodb4.2.14/conf/mongos.conf
  • 串联分片

/usr/local/mongodb/mongodb4.2.14/bin/mongo --port 20000

use admin

sh.addShard("shard1/192.168.3.20:27001,192.168.3.22:27001")

sh.addShard("shard2/192.168.3.20:27002,192.168.3.21:27002")
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    TBM矩阵

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值