首页 > 其他分享 >mongos分片副本集安装

mongos分片副本集安装

时间:2024-04-29 22:00:30浏览次数:14  
标签:副本 mongodb 10.252 mongos 分片 config ssd1 data rs1

主机 角色 端口
10.252.132.108 shared config mongos 27017 27018 27019 27100 20000
10.252.132.109 shared config mongos 27017 27018 27019 27100 20000
10.252.132.120 shared config mongos 27017 27018 27019 27100 20000
八,mongo集群副本集安装
1、linux 参数优化
yum install numactl
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

cat /etc/rc.local 
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag



cd /usr/local
tar xvf percona-server-mongodb-3.6.17-4.0-centos7-x86_64.tar.gz
ln -s percona-server-mongodb-3.6.17-4.0 mongodb

mkdir -p /ssd1/s/data/mongodb/{config,rs1,rs2,rs3}/data
mkdir -p /ssd1/s/data/mongodb/mongos



mkdir -pv /ssd1/s/data/mongodb/{rs1,rs2,rs3}
mkdir -pv /ssd1/s/data/mongodb/{rs1,rs2,rs3}/data/
mkdir -pv /ssd1/s/data/mongodb/{rs1,rs2,rs3}/confing/
touch /ssd1/s/data/mongodb/{rs1,rs2,rs3}/keyFile
echo d41d8cd98f00b204e9800998ecf8427e > /ssd1/s/data/mongodb/rs1/keyFile
echo d41d8cd98f00b204e9800998ecf8427e > /ssd1/s/data/mongodb/rs2/keyFile
echo d41d8cd98f00b204e9800998ecf8427e > /ssd1/s/data/mongodb/rs3/keyFile

chmod 600 /ssd1/s/data/mongodb/{rs1,rs2,rs3}/keyFile


/ssd1/s/data/mongodb/rs1/confing/rs1.conf
/etc/systemd/system/mongo-rs1.service

2,安装shared
systemctl restart mongo-rs1

启动文件
/etc/systemd/system/mongo-rs1.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
LimitNOFILE=327680
LimitNPROC=163840
User=root
Type=forking
PIDFile=/ssd1/s/data/mongodb/rs1/mongod.pid
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/bin/numactl --interleave=all /usr/local/mongodb/bin/mongod --quiet -f /ssd1/s/data/mongodb/rs1/confing/rs1.conf
Restart=always
RestartSec=30
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target
                            

/etc/systemd/system/mongo-rs2.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
LimitNOFILE=327680
LimitNPROC=163840
User=root
Type=forking
PIDFile=/ssd1/s/data/mongodb/rs2/mongod.pid
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/bin/numactl --interleave=all /usr/local/mongodb/bin/mongod --quiet -f /ssd1/s/data/mongodb/rs2/confing/rs2.conf
Restart=always
RestartSec=30
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target


/etc/systemd/system/mongo-rs3.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
LimitNOFILE=327680
LimitNPROC=163840
User=root
Type=forking
PIDFile=/ssd1/s/data/mongodb/rs1/mongod.pid
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/bin/numactl --interleave=all /usr/local/mongodb/bin/mongod --quiet -f /ssd1/s/data/mongodb/rs3/confing/rs1.conf
Restart=always
RestartSec=30
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target



/ssd1/s/data/mongodb/rs1/confing/rs1.conf
rs1配置文件参考
net.bindIp: 10.252.132.108,127.0.0.1
net.port: 27017
net.maxIncomingConnections: 20000
net.serviceExecutor: adaptive
processManagement.fork: true
processManagement.pidFilePath: /ssd1/s/data/mongodb/rs1/mongod.pid
replication.replSetName: rs1
replication.enableMajorityReadConcern: false
sharding.clusterRole: shardsvr
storage.dbPath: /ssd1/s/data/mongodb/rs1/data/
storage.journal.enabled: true
storage.engine: wiredTiger
storage.wiredTiger.engineConfig.cacheSizeGB: 30
systemLog.logAppend: true
systemLog.path: /ssd1/s/data/mongodb/rs1/mongod.log
systemLog.destination: file
systemLog.logRotate: rename
security.authorization: enabled
security.keyFile: /ssd1/s/data/mongodb/rs1/keyFile

/ssd1/s/data/mongodb/rs2/confing/rs2.conf
rs2配置文件参考
net.bindIp: 10.252.132.108,127.0.0.1
net.port: 27018
net.maxIncomingConnections: 20000
net.serviceExecutor: adaptive
processManagement.fork: true
processManagement.pidFilePath: /ssd1/s/data/mongodb/rs2/mongod.pid
replication.replSetName: rs2
replication.enableMajorityReadConcern: false
sharding.clusterRole: shardsvr
storage.dbPath: /ssd1/s/data/mongodb/rs2/data/
storage.journal.enabled: true
storage.engine: wiredTiger
storage.wiredTiger.engineConfig.cacheSizeGB: 30
systemLog.logAppend: true
systemLog.path: /ssd1/s/data/mongodb/rs2/mongod.log
systemLog.destination: file
systemLog.logRotate: rename
security.authorization: enabled
security.keyFile: /ssd1/s/data/mongodb/rs2/keyFile


/ssd1/s/data/mongodb/rs3/confing/rs3.conf
rs3配置文件参考
net.bindIp: 10.252.132.108,127.0.0.1
net.port: 27019
net.maxIncomingConnections: 20000
net.serviceExecutor: adaptive
processManagement.fork: true
processManagement.pidFilePath: /ssd1/s/data/mongodb/rs3/mongod.pid
replication.replSetName: rs3
replication.enableMajorityReadConcern: false
sharding.clusterRole: shardsvr
storage.dbPath: /ssd1/s/data/mongodb/rs3/data/
storage.journal.enabled: true
storage.engine: wiredTiger
storage.wiredTiger.engineConfig.cacheSizeGB: 30
systemLog.logAppend: true
systemLog.path: /ssd1/s/data/mongodb/rs3/mongod.log
systemLog.destination: file
systemLog.logRotate: rename
security.authorization: enabled
security.keyFile: /ssd1/s/data/mongodb/rs3/keyFile


mkdir -p /ssd1/s/data/mongodb/{config,rs1,rs2,rs3}/data
mkdir -p /ssd1/s/data/mongodb/mongos



mkdir -pv /ssd1/s/data/mongodb/{rs1,rs2,rs3}
mkdir -pv /ssd1/s/data/mongodb/{rs1,rs2,rs3}/data/
mkdir -pv /ssd1/s/data/mongodb/{rs1,rs2,rs3}/confing/
touch /ssd1/s/data/mongodb/{rs1,rs2,rs3}/keyFile
echo d41d8cd98f00b204e9800998ecf8427e > /ssd1/s/data/mongodb/rs1/keyFile
echo d41d8cd98f00b204e9800998ecf8427e > /ssd1/s/data/mongodb/rs2/keyFile
echo d41d8cd98f00b204e9800998ecf8427e > /ssd1/s/data/mongodb/rs3/keyFile


设置副本集
/usr/local/mongodb/bin/mongo --port 27017
config={_id:"rs1",members:[{_id:0,host:"10.252.132.108:27017"},{_id:1,host:"10.252.132.109:27017"},{_id:2,host:"10.252.132.120:27017"}]}
rs.initiate(config)
rs.status()  

config={_id:"rs2",members:[{_id:0,host:"10.252.132.108:27018"},{_id:1,host:"10.252.132.109:27018"},{_id:2,host:"10.252.132.120:27018"}]}
rs.initiate(config)
rs.status()  


config={_id:"rs3",members:[{_id:0,host:"10.252.132.108:27019"},{_id:1,host:"10.252.132.109:27019"},{_id:2,host:"10.252.132.120:27019"}]}
rs.initiate(config)
rs.status()  





权限所有share都设置
#观察副本集是否初始化成功,找到primary节点,创建root帐号
db.createUser({user:'admin',pwd:'root1q2w3e',  roles:[ {role:'root', db:'admin'}]}




3,安装config

systemctl restart mongod-config


echo d41d8cd98f00b204e9800998ecf8427e > /ssd1/s/data/mongodb/config/keyFile
chmod 600 /ssd1/s/data/mongodb/config/keyFile


配置文件
/ssd1/s/data/mongodb/config/config.conf

net.bindIp: 10.252.132.108,127.0.0.1
net.port: 27100
net.maxIncomingConnections: 20000
net.serviceExecutor: adaptive
processManagement.fork: true
processManagement.pidFilePath: /ssd1/s/data/mongodb/config/mongod.pid
replication.replSetName: config
replication.enableMajorityReadConcern: false
sharding.clusterRole: configsvr
storage.dbPath: /ssd1/s/data/mongodb/config/data/
storage.journal.enabled: true
storage.engine: wiredTiger
storage.wiredTiger.engineConfig.cacheSizeGB: 5
systemLog.logAppend: true
systemLog.path: /ssd1/s/data/mongodb/config/mongod.log
systemLog.destination: file
systemLog.logRotate: rename
security.authorization: enabled
security.keyFile: /ssd1/s/data/mongodb/config/keyFile


启动文件
/etc/systemd/system/mongod-config.service
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
LimitNOFILE=327680
LimitNPROC=163840
User=root
Type=forking
PIDFile=/ssd1/s/data/mongodb/config/mongod.pid
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/bin/numactl --interleave=all /usr/local/mongodb/bin/mongod --quiet -f /ssd1/s/data/mongodb/config/config.conf
Restart=always
RestartSec=30
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target


设置副本集
config={_id:"config",members:[{_id:0,host:"10.252.132.108:27100"},{_id:1,host:"10.252.132.109:27100"},{_id:2,host:"10.252.132.120:27100"}]}
rs.initiate(config)
rs.status()  


权限所有share都设置
#观察副本集是否初始化成功,找到primary节点,创建root帐号
db.createUser({user:'admin',pwd:'root1q2w3e',  roles:[ {role:'root', db:'admin'}]}




4,安装mongos
配置文件

echo d41d8cd98f00b204e9800998ecf8427e > /ssd1/s/data/mongodb/mongos/keyFile
chmod 600 /ssd1/s/data/mongodb/mongos/keyFile

/ssd1/s/data/mongodb/mongos/mongos.conf

net.bindIp: 10.252.132.108,127.0.0.1
net.port: 20000
net.maxIncomingConnections: 20000
processManagement.fork: true
processManagement.pidFilePath: /ssd1/s/data/mongodb/mongos/mongod.pid
sharding.configDB: config/10.252.132.108:27100,10.252.132.109:27100,10.252.132.120:27100
systemLog.logAppend: true
systemLog.path: /ssd1/s/data/mongodb/mongos/mongod.log
systemLog.destination: file
systemLog.logRotate: rename
security.clusterAuthMode: keyFile
security.keyFile: /ssd1/s/data/mongodb/mongos/keyFile

/etc/systemd/system/mongos.service
启动文件
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
LimitNOFILE=327680
LimitNPROC=163840
User=root
Type=forking
PIDFile=/ssd1/s/data/mongodb/mongos/mongod.pid
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/bin/numactl --interleave=all /usr/local/mongodb/bin/mongos --quiet -f /ssd1/s/data/mongodb/mongos/mongos.conf
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target



总结:
systemctl stop mongod-config
systemctl stop mongo-rs1
systemctl stop mongo-rs2
systemctl stop mongo-rs3
systemctl stop mongos


rm -rf /ssd1/s/data/mongodb/rs1/data/* && \
rm -rf /ssd1/s/data/mongodb/rs2/data/* && \
rm -rf /ssd1/s/data/mongodb/rs3/data/* && \
rm -rf /ssd1/s/data/mongodb/config/data/*


设置分片

数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root #这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
内部角色:__system

db.createUser({user: "routeadmin",pwd: "routeadmin",roles: [ { role: "userAdminAnyDatabase", db:"admin"}]})
 
db.createUser({user: "routecluster",pwd: "routecluster",roles: [ { role: "clusterAdmin", db:"admin"}]})




mongos> db.auth('routecluster','routecluster')
mongos>          sh.addShard("rs1/10.252.132.108:27017,10.252.132.109:27017,10.252.132.120:27017")
mongos>           sh.addShard("rs2/10.252.132.108:27018,10.252.132.109:27018,10.252.132.120:27018")
mongos>            sh.addShard("rs3/10.252.132.108:27019,10.252.132.109:27019,10.252.132.120:27019")
mongos> sh.status()
--- Sharding Status --- 
  sharding version: {
  	"_id" : 1,
  	"minCompatibleVersion" : 5,
  	"currentVersion" : 6,
  	"clusterId" : ObjectId("5f676cf785cf4bfe505a27e9")
  }
  shards:
        {  "_id" : "rs1",  "host" : "rs1/10.252.132.108:27017,10.252.132.109:27017,10.252.132.120:27017",  "state" : 1 }
        {  "_id" : "rs2",  "host" : "rs2/10.252.132.108:27018,10.252.132.109:27018,10.252.132.120:27018",  "state" : 1 }
        {  "_id" : "rs3",  "host" : "rs3/10.252.132.108:27019,10.252.132.109:27019,10.252.132.120:27019",  "state" : 1 }
  active mongoses:
        "3.6.17-4.0" : 1
  autosplit:
        Currently enabled: yes
  balancer:
        Currently enabled:  yes
        Currently running:  no
        Failed balancer rounds in last 5 attempts:  0
        Migration Results for the last 24 hours: 
                No recent migrations
  databases:
        {  "_id" : "config",  "primary" : "config",  "partitioned" : true }
                config.system.sessions
                        shard key: { "_id" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                                rs1	1
                        { "_id" : { "$minKey" : 1 } } -->> { "_id" : { "$maxKey" : 1 } } on : rs1 Timestamp(1, 0) 

mongos> 

标签:副本,mongodb,10.252,mongos,分片,config,ssd1,data,rs1
From: https://www.cnblogs.com/tiantao36/p/18166724

相关文章

  • 通过AWS STS临时授权凭证分片上传文件
    一、相关文档1.AWS分片上传文档:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/mpuoverview.html2.获取AWS STS临时授权凭证,go示例二、GO示例packagemainimport("context""errors""fmt""github.com/aws/aws-sdk-go-v2/......
  • JSON基本使用 - 副本
    1.JSON是什么?JSON,全称是JavaScriptObjectNotation,即JavaScript对象标记法。JSON是一种轻量级(Light-Meight)、基于文本的(Text-Based)、可读的(Human-Readable)格式。JSON的名称中虽然带有JavaScript,但这是指其语法规则是参考JavaScript对象的,而不是指只能用于JavaSc......
  • mongodb 分片创建使用汇总
    5.Mongodb1.查看分片:db.runComand({listshards:1})2.查看数据存储情况:showdbs3.查看分片状态:sh.status()4.开启数据库分片配置:db.runComand({enablesharding:"testdb"})db.enableSharding("testdb")db.shardCollection("testdb.persons",{id:1})5.创建索引(如果有......
  • 使用Docker搭建MongoDB 5.0版本副本集集群
    1、mongodb集群首先我们需要了解mongodb的集群模式,mongodb安装分为单机安装和集群安装。集群安装分为:主从复制(Master-Slaver)集群、副本集(ReplicaSet)集群和分片集群(ShardedCluster)。MongoDB的主从复制(Master-SlaveReplication)已不再是官方推荐的特性,并且在未来的版本中可能会被......
  • 教你如何进行Prometheus 分片自动缩放
    本文分享自华为云社区《使用Prometheus-Operator进行Prometheus+Keda分片自动缩放》,作者:Kubeservice@董江。垂直缩放与水平缩放Prometheus已经成为云原生时代事实上的监控工具。从监控小型花园的实例到企业中大规模的监控,Prometheus都可以处理工作负载!但并非没有挑战…......
  • 在副本集和分片集群上构建 MongoDB 索引
    1.限制留有足够的内存来容纳工作集是非常重要的。不一定所有索引都要放在内存中。在v4.0之前,索引键的限制应小于1024字节。从v4.2版开始,这一限制被取消。索引名也是如此,在使用fcv4.0及以下版本的数据库中,索引名的最大长度为127字节。在dbv4.2和fcv4.2中,这一......
  • 副本和就删码
    分类按照存储的结构存储可以分为集中式存储和分布式存储集中式存储传统集中式存储采用控制器+硬盘柜的方式,通过冗余的双控制器提供数据管理和读写能力(也有超过2个控制器的多控存储,多见于高端存储),通过控制器自带的硬盘槽位或扩展硬盘柜提供存储空间,如下图。集中式存储的硬盘......
  • 前端大文件分片上传
    1.分片上传整体流程开始上传:前端启动文件分片上传。后端返回唯一标识。分片上传:获取到上传的文件,然后设置一个固定的分片大小,将文件切成多个小片,计算出每一个分片的MD5值(32位)。将每个分片的内容和MD5标识符一同上传至服务器。服务端接收每个分片及相关信息后,通过对每个分片进行校......
  • redis自学(35)搭建分片集群
    分片集群结构主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:l 海量数据存储问题l 高并发写的问题使用分片集群可以解决上述问题,分片集群特征:l 集群中有多个master,每个master保存不同数据,因此能存多少取决于master节点的数量,解决了海量数据存储的......
  • video 分片加载
    API使用:MediaSource+SourceBufferhttpRangeseek进度跳转client.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=devic......