mongodb (tres) fragmento de clúster mongodb

mongodb fragmentación clúster

introducción

Resolución segmento de datos, para evitar la pérdida de datos
implementación de producción con la necesidad de frotar la rebanada conjunto de réplicas +

parte

  • Ruta: facilitar el acceso, los datos se almacenan no
  • ConfigServer: almacenar información de metadatos, se recomienda el uso de conjuntos de réplicas
  • shardserver: Servicios de almacenamiento de datos, almacenamiento de datos reales, tal vez de usar el conjunto de réplicas

dependencias

  • Cuando la inserción de datos, que necesita saber los datos que se inserta el fragmento de shardsrv configsrv
  • Cuando un usuario adquiere los datos, lo que necesita saber los datos almacenados en la rebanada de shardsrv configsrv

instalación de clúster

  • Utilizar el mismo archivo binario mongodb
  • Modificar la configuración para lograr el fragmento correspondiente de las estructuras de racimo

Planificación de recursos de clúster

ConfigServer: 28017,28018,28019 tres puertos incorporado
27017,27018,27019 tres puertos construidos: Ruta
shardserver: 29017,29018,29019,29020 la construcción de cuatro puertos

configuración ConfigSvr

perfiles

  • 28017,28018,28019,28020 puertos de configuración simplemente modificar y rutas de acceso a
systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/28017/mongodb.log
storage:
  dbPath: /data/mongodb/28017/
  journal:
    enabled: true
processManagement:
  fork: true
net:
  port: 28017
  bindIp: 0.0.0.0
replication:
  replSetName: copySet
sharding:
  clusterRole: configsvr

Servicio de inicio

[root@centos7-node1 ~]# /usr/local/mongodb/bin/mongod -f /data/mongodb/28017/mongodb.conf 
[root@centos7-node2 ~]# /usr/local/mongodb/bin/mongod -f /data/mongodb/28018/mongodb.conf
[root@centos7-node3 ~]# /usr/local/mongodb/bin/mongod -f /data/mongodb/28019/mongodb.conf

configuración de conjunto de réplicas

[root@centos7-node1 ~]# /usr/local/mongodb/bin/mongo localhost:28017
>config={ _id:"copySet",
  configsvr: true,
   members: [
     {_id:0,host:"192.168.56.11:28017"},
     {_id:1,host:"192.168.56.12:28018"},
     {_id:2,host:"192.168.56.13:28019"}
 ]
}
> rs.initiate(config)
> rs.ststus()

configuración del router

mongodb router es una entrada, no almacenar ningún dato

perfiles

  • Modificar los 27017,27018,27019 tres puertos se pueden configurar
systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/27017/mongodb.log
processManagement:
  fork: true
net:
  port: 27017
  bindIp: 0.0.0.0
sharding:
  configDB: copySet/192.168.56.11:28017,192.168.56.12:28018,192.168.56.13:28019

Servicio de inicio

inicio Mongos

[root@centos7-node1 ~]# /usr/local/mongodb/bin/mongos -f /data/mongodb/27017/mongodb.conf
[root@centos7-node2 ~]# /usr/local/mongodb/bin/mongos -f /data/mongodb/27018/mongodb.conf 
[root@centos7-node3 ~]# /usr/local/mongodb/bin/mongos -f /data/mongodb/27019/mongodb.conf 
[root@centos7-node2 ~]# /usr/local/mongodb/bin/mongo 127.0.0.1:27018    #测试登录

shardsvr configuración

papel de datos

perfiles

29017,29018,29019,29020 cuatro puertos puede configurar
función de datos
29017,29018 carácter datos1 datos
papel data2 datos 29019,29020

systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/29017/mongodb.log
storage:
  dbPath: /data/mongodb/29017/
  journal:
    enabled: true
processManagement:
  fork: true
net:
  port: 29017
  bindIp: 0.0.0.0
replication:
  replSetName: data1
sharding:
  clusterRole: shardsvr
systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/29019/mongodb.log
storage:
  dbPath: /data/mongodb/29019/
  journal:
    enabled: true
processManagement:
  fork: true
net:
  port: 29019
  bindIp: 0.0.0.0
replication:
  replSetName: data2
sharding:
  clusterRole: shardsvr

inicia el servicio

/usr/local/mongodb/bin/mongod -f /data/mongodb/29017/mongodb.conf
/usr/local/mongodb/bin/mongod -f /data/mongodb/29018/mongodb.conf
/usr/local/mongodb/bin/mongod -f /data/mongodb/29019/mongodb.conf
/usr/local/mongodb/bin/mongod -f /data/mongodb/29020/mongodb.conf
29017#### 配置
> config = {
        "_id" : "data1",
        "members" : [
                {
                        "_id" : 0,
                        "host" : "192.168.56.11:29017"
                },
                {
                        "_id" : 1,
                        "host" : "192.168.56.12:29018"
                }
        ]
}
> rs.initiate(config) 
29019#### 配置
{
        "_id" : "data2",
        "members" : [
                {
                        "_id" : 0,
                        "host" : "192.168.56.13:29019"
                },
                {
                        "_id" : 1,
                        "host" : "192.168.56.14:29020"
                }
        ]
}
> rs.initiate(config)

Uso mongodb rebanada

Para añadir datos a la fragmentación del clúster

  • Nota Para operar en un router nodo de clúster
[root@centos7-node1 ~]# /usr/local/mongodb/bin/mongo 127.0.0.1:27017
mongos> sh.status()      #状态查询
mongos> sh.addShard("data1/192.168.56.11:29017,192.168.56.12:29018")    #添加数据分片1
mongos> sh.addShard("data2/192.168.56.13:29019,192.168.56.14:29020")   #添加数据分片2
  • operaciones de datos están en el router
mongos> use test    
mongos> for(i=1;i<1000;i++){
... db.myuser.insert({name:"myuser"+i,age:i})
... }
mongos> sh.status()     #可以查看数据存储到哪个数据分片上了
mongos> db.dropDatabase()    #删除数据
  • El uso de hash fragmentación de la memoria, la fragmentación almacenará la misma colección de datos para asignar dos funciones para el cobro de una base de datos
    • Tales datos serán asignados a las dos piezas de datos
mongos> use admin
mongos> db.runCommand({enablesharding:"test"})
mongos> db.runCommand({shardcollection:"test.myuser",key:{_id:"hashed"}})
mongos> use test    #写入数据
mongos> for(i=1;i<=1000;i++){
... db.myuser.insert({name:"myuser"+i,age:i})
... }
WriteResult({ "nInserted" : 1 })
mongos> db.myuser.count()
1000

prestar atención

  • Si las piezas de datos cuelgan se perderán los datos
  • Para activar la base de datos fragmentados
  • enrutador ConfigSvr y colgar un cluster no tiene ningún efecto

Supongo que te gusta

Origin blog.51cto.com/13812615/2485718
Recomendado
Clasificación