4分片集群系列之三

作者: 数据库信息  发布:2019-11-03

 keyFile: /etc/mongo_keyfile

2)        关闭mongod实例

 destination: file

      { _id : 2, host : "192.168.209.155:6002" }

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

 

修改权限,一定要做,否则之后会出现很多不知名的错误。

  }

# sudo cp /etc/mongo_keyfile /mongo_config1/

);

 keyFile: /mongo_shard2/mongo_keyfile

图片 1

这里要搭建的分片集群架构如下:

 indexBuildRetry: false

sharding:

(2)   mongo_shard2(在192.168.209.156上操作)

 configDB: mongo_config/192.168.209.155:6000,192.168.209.155:6001,192.168.209.155:6002

 indexBuildRetry: false

2)         复制密钥文件到指定目录/mongo_config2

sharding:

Config3

security:

      { role: "userAdmin", db: "admin" }

这里配置服务器的主节点是mongo_config1

    ]

net:

# mongos --config /etc/mongo_router1_secure.conf

(1)   对于确定作为分片键的字段,建立哈希索引

storage:

  }

 destination: file

如下图:       

 clusterRole: configsvr

     图片 2

sharding:

 path: “/mongo_shard1/log/mongo_shard1.log

Shard2

security:

 dbPath: “/mongo_shard2/data”

# cd /etc/

# sudo cp /etc/mongo_keyfile /mongo_config3/

db.shutdownServer();

  }

db.collectionName.createIndex(Name:”hashed”);

# sudo mkdir –p /mongo_config2/data

(2)   mongo_config2(在192.168.209.155上操作)

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

这里有两种情况,一种是空集合,另一种是有数据的集合,但对于这两种情况都建议用以下方法。

net:

           图片 3 

  }

4)         启动mongod实例

(2)   第二个分片 mongo_shard2(在192.168.209.156上操作)

部署具有三个成员的配置服务器副本集。

replication:

 clusterRole: configsvr

如下图:

# mongo --port 6666 –u admin –p adminbear --authenticationDatabase admin

 port: 6666

1)         创建集群管理员用户(直接在3.4的窗口中运行即可)

     图片 4

#sudo rsync –arvz –P bear@192.168.209.155:/etc/mongo_keyfile /etc/

6001

 destination: file

security:

 transitionToAuth: true

 destination: file

 path: “/mongo_config3/log/mongo_config3.log

# mongod --fork --config /mongo_config1/mongo_config1_secure.conf

 configDB: mongo_config/192.168.209.155:6000,192.168.209.155:6001,192.168.209.155:6002

    ]

# mongo --port 6666 –u admin –p adminbear --authenticationDatabase admin

sh.shardCollection(“databaseName.collectionName”,{Name:”hashed”})

  }

net:

8、        强制每一个分片实例来强制验证(停机)

/mongo_config1/data

# sudo mkdir –p /mongo_config1/log

    user: "bear",

我这边是用两个虚拟机模仿两台服务器的(真实服务器也按照这个方法实践,可以行得通)。

storage:

sharding:

 keyFile: /mongo_config1/mongo_keyfile

连接到mongod

--config 指定配置文件路径

net:

mongo_keyfile是我指定的密钥文件名,可以按需更改;

replication:

2)        新建一个配置文件

# sudo chmod 400 mongo_keyfile

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

systemLog:

1)         复制密钥文件到指定目录/mongo_shard1

2)        降级主节点

# mongo --host 192.168.209.156 --port 6100

(2)   第二个Mongos路由 mongo_router2(在192.168.209.156上操作)

 clusterRole: configsvr

rs.stepDown();

  {

6002

1、说说分片集群的架构

security:

 replSetName: mongo_config

192.168.209.156

security:

security:

# sudo cp /etc/mongo_keyfile /mongo_config2/

systemLog:

systemLog:

    user: "adminShard1",

exit;

      { role: "clusterAdmin", db: "admin" },

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

roles: [

db.createUser(

# mongo --port 6002 –u admin –p adminbear --authenticationDatabase admin

(1)   mongo_shard1 (在192.168.209.155上操作)

systemLog:

         图片 5

  }

 destination: file

      { role: "root", db: "admin" },

3.2前添加、创建密钥文件,以及修改权限

如下图:

拷贝过来后,注意检查权限是不是400,如图

           图片 6

4)        用新的配置文件重新mongod实例

keyFile: /etc/mongo_keyfile

 replSetName: mongo_config

  {

db.shutdownServer();

 

二、      搭建分片集群和安全机制

2)         复制密钥文件到指定目录/mongo_config3

storage:

/mongo_config2/log

    pwd: "adminbear",

 destination: file

    ]

sharding:

use admin;

 destination: file

7、        强制每一个配置服务器的副本集成员实例来强制验证(不停机)(在192.168.209.155上操作)

replication:

连接到第二个分片mongo_shard2

/mongo_config2/data

 path: “/mongo_config2/log/mongo_config2.log

3.2、创建配置服务器副本集

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

roles: [

systemLog:

 keyFile: /mongo_shard1/mongo_keyfile

 clusterRole: configsvr

# sudo cp /etc/mongo_keyfile /mongo_shard1/

 

1)         添加第一个分片mongo_shard1

security:

 port: 6100

# sudo mkdir –p /mongo_config2/log

拷贝过来后,注意检查权限是不是400,如图

(1)   mongo_router1(在192.168.209.155上操作)

           图片 7

1)        复制密钥文件到指定目录/mongo_config3/

use admin;

2)        新建一个配置文件

net:

192.168.209.155

 clusterRole: configsvr

roles: [

1)        创建分片本地管理员

db.createUser(

 transitionToAuth: true

      { role: "clusterAdmin", db: "admin" },

 keyFile: /mongo_config2/mongo_keyfile

主机

sharding:

         图片 8

storage:

sharding:

db.shutdownServer();

 replSetName: mongo_config

 keyFile: /mongo_config3/mongo_keyfile

退出当前的进程

# sudo vim /etc/**mongo_router1_secure.conf**

# sudo vim /mongo_config1/mongo_config1_secure.conf

# mongo --port 6000 –u admin –p adminbear --authenticationDatabase admin

用户访问控制:是指应用程序连接集群,要验证的用户和密码

(2)   第三个配置服务器 mongo_config3

    • mongos:mongos作为查询路由器,提供客户端应用程序和分片集群之间的接口。
    • 配置服务器:配置服务器存储集群的元数据和配置信息。从MongoDB 3.4开始,配置服务器必须部署为副本集(CSRS)。
    • 分片:每个分片包含分片数据的一部分。每个分片可以部署为副本集。这里先做单实例,没有做副本集。

(1)   第一个Mongos路由 mongo_router1(在192.168.209.155上操作)

 

2)         启动mongos实例

use admin;

 replSetName: mongo_config

);

2)        关闭mongos实例

    user: "admin",

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

3)        新建一个配置文件

2、mongo 3.4分片集群系列之二:搭建分片集群--哈希分片

# mongod --fork --config /mongo_config3/mongo_config3_secure.conf

# mongod --fork --config /mongo_config3/mongo_config3_secure.conf

二是在搭建的时候,搭建分片集群和安全一起做,也就是从无集群到有集群的过程。

 path: “/mongo_config1/log/mongo_config1.log

 destination: file

 dbPath: “/mongo_config3/data”

1)         连接任意一个mongod实例

连接到mongod

security:

3)        新建一个配置文件

 

副本集

  }

2)         初始化副本集

exit;

图片 9

连接到mongod

 path: “/mongo_shard2/log/mongo_shard2.log

security:

3)        关闭mongod实例

exit;

--fork 是以线程方式启动mongod服务

 

1)        创建分片本地管理员

sharding:

如下图:

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

# sudo vim /mongo_shard2/mongo_shard2_tmp.conf

# sudo cp /etc/mongo_keyfile /mongo_shard2/

超级用户已经在之前创建集群管理员用户时,同时赋予权限了。这里不再述说。

 replSetName: mongo_config

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

exit;

3)        用新的配置文件重新mongos实例

 keyFile: /etc/mongo_keyfile

3)        用新的配置文件重新mongos实例

如下图:

2)         为mongo_shard2创建配置文件

# mongos --config /etc/mongo_router2_secure.conf

# sudo vim /etc/mongo_router1_secure.conf

如下图:

退出当前的进程

1)         创建数据路径文件夹和日志路径文件夹

 port: 6100

db.shutdownServer();

如下图:

连接到mongod

security:

# mongos --config /etc/mongo_router1_tmp.conf &

连接到mongos

systemLog:

 clusterRole: shardsvr

    members: [

exit;

3)         创建配置文件

# mongo --port 6100 –u adminShard1 –p adminbear --authenticationDatabase admin

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

/mongo_shard1/log

);

文件中的配置如下:(所有空位都是空格,不是**TAB**键哦,大小写是严格区分的)

    pwd: "adminbear",

# mongod --fork --config /mongo_shard2/mongo_shard2_secure.conf

  }

 replSetName: mongo_config

这里要先将192.168.209.155上的mongo_keyfile文件拿到192.168.209.156上

3)         启动mongod实例

db.shutdownServer();

  {

net:

Config2

mongos和配置服务器的集群管理员用户是可以通用的,但是分片要创建自己的本地管理员用户。

连接到mongos

 replSetName: mongo_config

连接到mongod

);

security:

如下图:

storage:

# mongod --fork --config /mongo_config2/mongo_config2_secure.conf

# sudo vim /mongo_config3/mongo_config3_secure.conf

sharding:

这一篇也是实践篇。

      { role: "readWrite", db: "DatabaseName" }

db.shutdownServer();

/mongo_shard1/data

 port: 6001

db.createUser(

);

      { role: "userAdmin", db: "admin" }

security:

net:

1)         创建数据路径文件夹和日志路径文件夹

下面是参照官网的 

storage:

storage:

# sudo cp /etc/mongo_keyfile /mongo_shard2/

db.shutdownServer();

 dbPath: “/mongo_config2/data”

 dbPath: “/mongo_config1/data”

# sudo vim /mongo_shard1/mongo_shard1_tmp.conf

 port: 6666

1)         复制密钥文件到指定目录/mongo_shard2

连接到mongos

roles: [

 

3、        过渡每一个mongos实例来强制验证(不停机)

其中,user用户名和pwd密码,可按需更改。

Log路径

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

sharding:

关于分片集群的一些注意点,请参阅:mongo 3.4分片集群系列之一:浅谈分片集群 ,其中第4点,分片前考虑事项。

systemLog:

2)        关闭mongod实例

 dbPath: “/mongo_shard1/data”

use databaseName;

use admin;

  ---------------------------------------  over

 

以上资料,大部分是参考官网的资料,在此表示感谢。

   

   

 

 port: 6001

    pwd: "bear",

 path: “/mongo_config3/log/mongo_config3.log

    ]

 dbPath: “/mongo_config3/data”

 clusterRole: shardsvr

         图片 10

# mongo --port 6100 –u adminShard2 –p adminbear --authenticationDatabase admin

use admin;

# mongod --fork --config /mongo_config2/mongo_config2_secure.conf

 port: 6666

其中,user用户名和pwd密码,可按需更改。

# sudo vim /mongo_config2/mongo_config2_tmp.conf

      { role: "readWrite", db: "DatabaseName" }

主要要讲两大部分:

# sudo vim /etc/mongo_router1_tmp.conf

1)        新建一个配置文件

# sudo cp /etc/mongo_keyfile /mongo_config3/

6、        强制每一个mongos实例来强制验证(不停机)

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

 dbPath: “/mongo_config1/data”

修改权限,一定要做,否则之后会出现很多不知名的错误。

 port: 6001

         图片 11

         图片 12

接下来就来搭建哈希分片集群咯~~~

# sudo vim /etc/mongo_router2_tmp.conf

连接到mongod

sharding:

退出当前的进程

(1)   第二个配置服务器 mongo_config2

连接到mongod

 path: “/mongo_config2/log/mongo_config2.log

         图片 13

物理环境:

  {

一是在现有的,已经搭建好的哈希分片集群上,加上内部认证和用户访问控制(也就是继“mongo 3.4分片集群系列之二:搭建分片集群--哈希分片”搭建的分片集群,增加安全机制)。

以下是为数据库名DatabaseName,创建数据库用户。

# mongod --fork --config /mongo_config3/mongo_config3_tmp.conf

--config 指定配置文件路径

 path: “/mongo_config2/log/mongo_config2.log

security:

2)         启动mongos实例

sharding:

 replSetName: mongo_config

 keyFile: /etc/mongo_keyfile

# mongos --config /etc/mongo_router2_tmp.conf &

security:

连接到mongod

这里配置服务器的主节点是mongo_config1

1)        复制密钥文件到指定目录/mongo_config2/

# sudo vim /mongo_config2/mongo_config2_secure.conf

 transitionToAuth: true

/mongo_shard2/log

 

3.5、为数据库启用分片(直接接着以上的窗口中运行即可)

以下是为数据库名DatabaseName,创建数据库用户。

sharding:

systemLog:

    user: "bear",

 dbPath: “/mongo_config2/data”

 keyFile: /etc/mongo_keyfile

# sudo openssl rand –base64 755 > mongo_keyfile

use admin;

net:

sharding:

IP分别为192.168.209.155和192.168.209.156。其中,这两个IP之间必须互通。即192.168.209.155可以ping通192.168.209.156,192.168.209.156也可以ping通192.168.209.155。

# cd /etc/

         图片 14

configsvr:必须设置true。

_id:必须匹配传递给mongod 的--replSet参数。

use DatabaseName;

  {

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

 

    ]

连接到mongos

  {

其中,user用户名和pwd密码,可按需更改。

 path: “/mongo_shard1/log/mongo_shard1.log

连接到mongod

 destination: file

 configDB: mongo_config/192.168.209.155:6000,192.168.209.155:6001,192.168.209.155:6002

2)         复制密钥文件到指定目录/mongo_config1

连接到mongod

# mongod --fork --config /mongo_config1/mongo_config1_secure.conf

--fork 是以线程方式启动mongod服务

use admin;

);

 indexBuildRetry: false

 replSetName: mongo_config

 port: 6666

# sudo openssl rand –base64 755 > mongo_keyfile

3)         启动mongod实例

图片 15

如下图:

(3)   第一个配置服务器 mongo_config1

 keyFile: /mongo_shard2/mongo_keyfile

# mongod --fork --config /mongo_shard1/mongo_shard1_tmp.conf

roles: [

    user: "adminShard2",

replication:

 configDB: mongo_config/192.168.209.155:6000,192.168.209.155:6001,192.168.209.155:6002

    configsvr: true,

3)        降级主节点

use admin;

 

3、搭建哈希分片集群

2、        配置分片集群管理用户和数据库用户(在192.168.209.155上操作)

 destination: file

Router2

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

2)         为mongo_shard1创建配置文件

  {

如下图:

net:

# sudo vim /mongo_config3/**mongo_config3_secure.conf**

 clusterRole: shardsvr

exit;

      { role: "clusterAdmin", db: "admin" },

 transitionToAuth: true

security:

         图片 16

net:

         图片 17

 indexBuildRetry: false

名称

 

use admin;

net:

# sudo vim /mongo_config1/mongo_config1_tmp.conf

# mongos --config /etc/mongo_router1_secure.conf &

 port: 6100

如下图:

/mongo_shard2/data

如下图:

1)        新建一个配置文件

6、mongo 3.4分片集群系列之六:详解配置数据库

 dbPath: “/mongo_shard1/data”

 port: 6100

 indexBuildRetry: false

3)        关闭mongod实例

Router1

# sudo vim /mongo_shard1/**mongo_shard1_secure.conf**

5)        用新的配置文件重新mongod实例

如下图:       

sharding:

 port: 6666

2)        复制密钥文件到指定目录/mongo_shard1/

 indexBuildRetry: false

 keyFile: /etc/mongo_keyfile

 dbPath: “/mongo_shard2/data”

(2)   mongo_router2(在192.168.209.156上操作)

replication:

 

 indexBuildRetry: false

 keyFile: /mongo_config2/mongo_keyfile

      { role: "clusterAdmin", db: "admin" },

2)        复制密钥文件到指定目录/mongo_shard2/

 clusterRole: configsvr

# mongo --port 6100

roles: [

# mongod --fork --config /mongo_config2/mongo_config2_tmp.conf

 clusterRole: configsvr

 port: 6100

1)        新建一个配置文件

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

 path: “/mongo_config1/log/mongo_config1.log

3)        用新的配置文件重新mongod实例

         图片 18

# mongo --port 6666 –u admin –p adminbear --authenticationDatabase admin

连接到mongod

         图片 19

sh.enableSharding(“databaseName”);

db.createUser(

use admin;

use admin;

5、mongo 3.4分片集群系列之五:详解平衡器

# mongo --port 6100

6100

2)        新建一个配置文件

    user: "adminShard1",

 

 keyFile: /etc/mongo_keyfile

#sudo rsync –arvz –P bear@192.168.209.155:/etc/mongo_keyfile /etc/

(2)   添加分片

    ]

 

net:

  {

net:

如下图:

# sudo vim /etc/**mongo_router2_secure.conf**

 indexBuildRetry: false

 keyFile: /mongo_config3/mongo_keyfile

);

use DatabaseName;

1)        复制密钥文件到指定目录/mongo_config1/

/mongo_config3/log

# sudo chmod 400 mongo_keyfile

# mongo --port 6666 –u admin –p adminbear --authenticationDatabase admin

# sudo cp /etc/mongo_keyfile /mongo_config1/

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

2)        关闭mongos实例

# mongod --fork --config /mongo_shard1/mongo_shard1_secure.conf

# sudo vim /mongo_config3/mongo_config3_tmp.conf

net:

# mongo --port 6100

sharding:

# sudo cp /etc/mongo_keyfile /mongo_shard1/

 indexBuildRetry: false

(3)   第一个配置服务器 mongo_config1

sharding:

(2)   数据库用户

4)        关闭mongod实例

(1)   分片集群管理用户

storage:

其中,user用户名和pwd密码,可按需更改。

Shard1

sharding:

 transitionToAuth: true

  ---------------------------------------第二部分  over

(2)   数据库用户(应用程序用户)(在192.168.209.155上操作)

# mongo --port 6000 –u admin –p adminbear --authenticationDatabase admin

 path: “/mongo_config3/log/mongo_config3.log

如下图:

    pwd: "adminbear",

      { _id : 1, host : "192.168.209.155:6001" },

其中,databaseName是3.5启用的分片数据库名称;collectionName是要分片的集合;Name是作为分片键的字段。

    pwd: "adminbear",

--fork 是以线程方式启动mongod服务

1)        新建一个配置文件

use admin;

配置大致如下:(此操作是建立在mongo3.4版本)

security:

 port: 6002

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

3)        用新的配置文件重新mongod实例

6000

好啦。慎重考虑完分片前考虑事项的话,接下来就进入实践吧~~~

sharding:

2)        关闭mongos实例

# mongo --port 6666

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

replication:

2个mongos,1个三个成员的副本集配置服务器,2个单实例的分片。图示如下:

1)         为mongo_router2创建配置文件

 port: 6002

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

 keyFile: /mongo_shard2/mongo_keyfile

use admin;

sharding:

# mongo --port 6001 –u admin –p adminbear --authenticationDatabase admin

exit;

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

 indexBuildRetry: false

(1)   第一个分片 mongo_shard1(在192.168.209.155上操作)

         图片 20

# sudo vim /mongo_shard2/mongo_shard2_secure.conf

    _id: "mongo_config",

# mongod --fork --config /mongo_shard1/mongo_shard1_secure.conf

 

 indexBuildRetry: false

连接到mongos路由 mongo_router1

net:

systemLog:

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

use admin;

 transitionToAuth: true

 port: 6666

 keyFile: /mongo_shard1/mongo_keyfile

systemLog:

内部认证:是指要加入集群的组件要有指定密钥文件才能加入集群;组件包括mongos路由,配置服务器,分片

 clusterRole: shardsvr

# sudo vim /mongo_shard1/mongo_shard1_secure.conf


 

exit;

 clusterRole: shardsvr

);

use admin;

(2)   第三个配置服务器 mongo_config3

4)        用新的配置文件重新mongod实例

# sudo vim /mongo_shard2/**mongo_shard2_secure.conf**

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

security:

 port: 6002

3)         创建配置文件

# sudo mongod --port 6000

         图片 21

      { role: "userAdmin", db: "admin" }

 destination: file

 clusterRole: configsvr

 path: “/mongo_shard2/log/mongo_shard2.log

 path: “/mongo_config1/log/mongo_config1.log

如下图:

# mongod --fork --config /mongo_shard2/mongo_shard2_tmp.conf

db.shutdownServer();

    ]

其中,user用户名和pwd密码,可按需更改。由于角色分配的时候,分配root最高权限给了admin,所以admin既是集群的最高管理员用户,又是所有数据库的最高管理员用户

 path: “/mongo_shard1/log/mongo_shard1.log

 configDB: mongo_config/192.168.209.155:6000,192.168.209.155:6001,192.168.209.155:6002

3)        关闭mongod实例

4、mongo 3.4分片集群系列之四:搭建分片集群--哈希分片 安全 区域

连接到第一个分片mongo_shard1

这里要先将192.168.209.155上的mongo_keyfile文件拿到192.168.209.156上

net:

replication:

      { role: "userAdmin", db: "admin" }

3.5前添加、创建用户

db.shutdownServer();

连接到mongos

sharding:

/mongo_config3/data

      { role: "clusterAdmin", db: "admin" },

replication:

4)        关闭mongod实例

1)        新建一个配置文件

# sudo vim /etc/mongo_router2_secure.conf

2)        关闭mongod实例

 keyFile: /etc/mongo_keyfile

# mongo --port 6100 –u adminShard2 –p adminbear --authenticationDatabase admin

3.3、创建分片

# sudo mkdir –p /mongo_config3/data

exit;

2)         创建第一个分片mongo_shard1管理员用户(在192.168.209.155上操作)

    user: "admin",

2)        关闭mongod实例

    user: "adminShard2",

db.createUser(

 dbPath: “/mongo_config1/data”

 dbPath: “/mongo_shard1/data”

systemLog:

storage:

 destination: file

 port: 6000

# sudo mkdir –p /mongo_config1/data

  {

use admin;

/mongo_config1/log

db.createUser(

3)        用新的配置文件重新mongos实例

mongo_keyfile是我指定的密钥文件名,可以按需更改;

# mongo --port 6666 –u admin –p adminbear –authenticationDatabase admin

db.shutdownServer();

 

 indexBuildRetry: false

rs.stepDown();

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

这个系列大致想跟大家分享以下篇章:

storage:

(2)   第二个Mongos路由 mongo_router2(在192.168.209.156上操作)

192.168.209.155

其中,databaseName是3.5启用的分片数据库名称;collectionName是要分片的集合;Name是作为分片键的字段。

use admin;

简单介绍一下MongoDB分片集群由以下组件组成:

)

roles: [

3)        用新的配置文件重新mongod实例

4)        用新的配置文件重新mongod实例

# sudo vim /mongo_config2/**mongo_config2_secure.conf**

4)         启动mongod实例

systemLog:

exit;

3)        用新的配置文件重新mongod实例

db.createUser(

6100

use admin;

3)        用新的配置文件重新mongos实例

2)         添加第二个分片mongo_shard2

exit;

 configDB: mongo_config/192.168.209.155:6000,192.168.209.155:6001,192.168.209.155:6002

security:

sh.addShard(“192.168.209.156:6100”);

 indexBuildRetry: false

5)        用新的配置文件重新mongod实例

1、mongo 3.4分片集群系列之一:浅谈分片集群

 port: 6000

1)        新建一个配置文件

exit;

(4)   初始化副本集mongo_config(在192.168.209.155上操作)

退出当前的进程

(2)   第二个分片 mongo_shard2(在192.168.209.156上操作)

 clusterRole: shardsvr

7、mongo 3.4分片集群系列之七:配置数据库管理

use admin;

 

连接到mongod

net:

2)        关闭mongos实例

storage:

5、        过渡每一个分片实例来强制验证(停机)

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

net:

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

 path: “/mongo_shard2/log/mongo_shard2.log

3.6、使用哈希分片分片集合(直接在3.5的窗口中运行即可)

 keyFile: /mongo_config1/mongo_keyfile

(1)   第一个Mongos路由 mongo_router1(在192.168.209.155上操作)

storage:

(1)   连接任意一个mongos,这里连接mongo_router1(在192.168.209.155上操作)

6666

net:

(1)   第二个配置服务器 mongo_config2

(大致的流程与“mongo 3.4分片集群系列之二:搭建分片集群--哈希分片”差不多,有区别的我会用红色字体标注)

3.3、创建路由

rs.initiate(

 dbPath: “/mongo_shard2/data”

192.168.209.155

    ]

3)         创建配置文件

# mongod --fork --config /mongo_config1/mongo_config1_tmp.conf

      { _id : 0, host : "192.168.209.155:6000" },

security:

systemLog:

1)         为mongo_router1创建配置文件

# mongo --port 6001 –u admin –p adminbear --authenticationDatabase admin

Config1

 

 clusterRole: configsvr

(1)   mongo_config1 (在192.168.209.155上操作)

replication:

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

# sudo mkdir –p /mongo_config3/log

exit;

输入以下命令:(这里只是为了方便理解,其实命令行打成一行即可)

1)        新建一个配置文件

use admin;

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

    pwd: "adminbear",

# sudo cp /etc/mongo_keyfile /mongo_config2/

db.shutdownServer();

      { role: "clusterAdmin", db: "admin" },

storage:

# mongo --port 6666

3.4、添加分片到集群

-----------以上是内部认证,以下是用户访问控制----------

db.shutdownServer();

5)        用新的配置文件重新mongod实例

members:是一个数组,每个副本集成员都需要一个文档。

6666

    pwd: "adminbear",

security:

** ---------------------------------------第一部分  over

如下图:

 destination: file

    ]

 dbPath: “/mongo_config2/data”

exit;

(3)   mongo_config3 (在192.168.209.155上操作)

mongos和配置服务器的集群管理员用户是可以通用的,但是分片要创建自己的本地管理员用户。

如下图:

      { role: "userAdmin", db: "admin" }

exit;

roles: [

这里说的安全机制,只是简单的通过密钥文件做内部认证,和用户访问控制。

# sudo vim /mongo_config1/**mongo_config1_secure.conf**

--config 指定配置文件路径

(2)   哈希分片

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

文件中的配置如下:(所有空位都是空格,不是TAB键哦,大小写是严格区分的)

exit;

3)         创建第二个分片mongo_shard2管理员用户(在192.168.209.155上操作)

 port: 6101

1)        新建一个配置文件

其中,user用户名和pwd密码,可按需更改。

systemLog:

# mongo --port 6100 –u adminShard1 –p adminbear --authenticationDatabase admin

exit;

(1)   第一个分片 mongo_shard1(在192.168.209.155上操作)

 transitionToAuth: true

# mongod --fork --config /mongo_shard2/mongo_shard2_secure.conf

 port: 6000

其中databaseName,为要分片的数据库。

         图片 22

 dbPath: “/mongo_config3/data”

4)        关闭mongod实例

(1)   集群管理员用户

           图片 23

    pwd: "bear",

 destination: file

一、      在现有的分片集群上,添加安全机制。

db.shutdownServer();

如下图:

security:

 destination: file

其中,user用户名和pwd密码,可按需更改。由于角色分配的时候,分配root最高权限给了admin,所以admin既是集群的最高管理员用户,又是所有数据库的最高管理员用户

3.1、搭建前准备:

  }

3、mongo 3.4分片集群系列之三:搭建分片集群--哈希分片 安全

2、分片前注意事项

端口

如下图:

8、mongo 3.4分片集群系列之八:分片管理

net:

 

systemLog:

net:

192.168.209.156

Data路径

1)         创建数据路径文件夹和日志路径文件夹

sh.addShard(“192.168.209.155:6100”);

      { role: "root", db: "admin" },

storage:

         图片 24

storage:

 indexBuildRetry: false

 indexBuildRetry: false

# mongos --config /etc/mongo_router2_secure.conf &

mongo_config

db.createUser(

exit;

如下图:

      { role: "userAdmin", db: "admin" }

其中,user用户名和pwd密码,可按需更改。

 keyFile: /etc/mongo_keyfile

# mongo --port 6002 –u admin –p adminbear --authenticationDatabase admin

 keyFile: /mongo_shard1/mongo_keyfile

4、        过渡每一个配置服务器的副本集成员实例来强制验证(不停机)(在192.168.209.155上操作)

1)        新建一个配置文件

1、        创建和分发密钥文件

db.shutdownServer();

4)         启动mongod实例

本文由金沙澳门官网发布于数据库信息,转载请注明出处:4分片集群系列之三

关键词: 金沙澳门官网

上一篇:浅谈分片集群
下一篇:没有了