mongodb安顿分片集群,配置防火墙限制使用陈设

by admin on 2019年2月21日

新近在玩树莓派接大触摸屏

近来在玩树莓派接大触摸屏

Win10 iot 配置防火墙限制使用计划,win10iot

近些年在玩树莓派接大触摸屏

意识三个难题,vs 在 iot 上配置应用,使用的是

Universal (Unencrypted Protocol)

netsh advfirewall firewall show rule name=all

果真防火墙依然在的:

netsh advfirewall firewall set rule
name=”Visualstudio_Msvsmon_Allow_In” new remoteip=192.168.1.1 netsh
advfirewall firewall set rule name=”Visualstudio_Msvsmon_Allow_In2″
new remoteip=192.168.1.1

mongodb安顿分片集群,配置防火墙限制使用陈设。 

或然干脆禁止 deploy,须要的时候再打开

netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In" new action=block

netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In2" new action=block

mongodb安顿分片集群,配置防火墙限制使用陈设。 

附录:防火墙添加修改删除 rule 命令:

)

iot 配置防火墙限制使用安顿,win10iot
近期在玩树莓派接大触摸屏 发现2个难题,vs 在 iot 上安插应用,使用的是
Universal (Unencrypted Pr…

目标

在3台CentOS 6服务器上安插mongodb分片集群,其中副本集(replica
set)安排在差距的服务器上,每种服务器有3个布署(config)副本集,多个分片(sharding)副本集,以及一个mongos服务。所以3台服务器总共须求配备11个服务。3台服务器IP分别是:172.16.66.113,172.16.66.114,172.16.66.115,上面以113,114,115来表示某台服务器。

home88一必发 1

察觉三个题目,vs 在 iot 上安排应用,使用的是

意识2个难点,vs 在 iot 上安插应用,使用的是

预备工作

率先要保障种种服务器之间是联网的,并且防火墙策略中能访问到上边的端口,简单方法关闭各服务器防火墙,如:service
iptables stop

确保下边拔取的端口号没有被挤占

保障个目录整洁干净,假设有历史数据先清空历史数据,紧借使dbs目录

Universal (Unencrypted Protocol)

Universal (Unencrypted Protocol)

主目录

/usr/local/mongodb

mongodb  
--bin  
----mongd  
----mongo  
----mongos  
----...  
--deploy  
----dbs  
------config  
------shard1  
------shard2  
----etc  
------configsvr.conf  
------shardsvr1.conf  
------shardsvr2.conf  
------mongos.conf  
----logs  
----pids  

bin目录

全体mongodb可执行程序,如:mongod,mongo, mongos…
/usr/local/mongodb/bin

home88一必发 2

home88一必发 3

deploy目录

享有配置操作统一在这么些目录下展开
/usr/local/mongodb/deploy

 

 

dbs目录

寄存全体数据库数据
/usr/local/mongodb/deploy/dbs

含蓄八个子目录,分别是:配置服务,分片1劳务,分片2劳务
* /usr/local/mongodb/deploy/dbs/config
* /usr/local/mongodb/deploy/dbs/shard1
* /usr/local/mongodb/deploy/dbs/shard2

也等于说只要了解IP,什么人如若能连上设备就能安顿应用…

约等于说只要知道IP,什么人假使能连上设备就能配备应用…

logs目录

存放全部日志
/usr/local/mongodb/deploy/logs

那要配备到外面不是很危险…

那要安排到外围不是很危险…

pids目录

存放各种服务的经过ID
/usr/local/mongodb/deploy/pids

home88一必发,查看 iot 的配置,想把 deploy 改成 windows验证

查看 iot 的配置,想把 deploy 改成 windows验证

etc目录

存放各样服务运营的安顿新闻
/usr/local/mongodb/deploy/etc

有多少个布局文件,分别是:配置服务,分片1服务,分片2劳务,mongos服务的起步配置

  • /usr/local/mongodb/deploy/etc/configsvr.conf

#bind_ip=127.0.0.1
port=27020
auth=false
configsvr=true
replSet=cfgset
dbpath=/usr/local/mongodb/deploy/dbs/config
logpath=/usr/local/mongodb/deploy/logs/config.log
pidfilepath=/usr/local/mongodb/deploy/pids/config.pid
fork=true
  • /usr/local/mongodb/deploy/etc/shardsvr1.conf

#bind_ip=127.0.0.1
port=27031
auth=false
shardsvr=true
replSet=shardset1
dbpath=/usr/local/mongodb/deploy/dbs/shard1
logpath=/usr/local/mongodb/deploy/logs/shard1.log
pidfilepath=/usr/local/mongodb/deploy/pids/shard1.pid
fork=true
  • /usr/local/mongodb/deploy/etc/shardsvr2.conf

#bind_ip=127.0.0.1
port=27032
auth=false
shardsvr=true
replSet=shardset2
dbpath=/usr/local/mongodb/deploy/dbs/shard2
logpath=/usr/local/mongodb/deploy/logs/shard2.log
pidfilepath=/usr/local/mongodb/deploy/pids/shard2.pid
fork=true
  • /usr/local/mongodb/deploy/etc/mongos.conf

#bind_ip=127.0.0.1
port=27017
configdb=cfgset/172.16.66.113:27020,172.16.66.114:27020,172.16.66.114:27020
logpath=/usr/local/mongodb/deploy/logs/mongos.log
pidfilepath=/usr/local/mongodb/deploy/pids/mongos.pid
fork=true

port:服务运行的端口号
auth:需不须要授权
configsvr:配置服务
shardsvr:分片服务
replSet:所属副本集的名字
dbpath:数据存放路径
logpath:日志存放路径
pidfilepath:进度ID存放路径
fork:daemon形式运行
configdb:mongos钦点分片集群的计划服务

瞅了半天没来看有能改的地点…

瞅了半天没见到有能改的地方…

文本准备

 

 

各种服务器都将mongodb安装在/usr/local目录下

下载mongodb版本为:mongodb-linux-x86_64-rhel62-3.4.9.tgz
解压到/usr/local目录下,更名为mongodb,此时它唯有七个bin目录

改不了验证措施,就只可以想限制访问IP了

改不了验证办法,就只好想限制访问IP了

每台服务器上准备deploy目录

点击下载下边的deploy目录结构放到mongodb目录下

iot 既然是win10,那么应该带防火墙,去命令行里查查防火墙的安排

iot 既然是win10,那么应该带防火墙,去命令行里查查防火墙的配置

配备分片集群

在意,全数的操作都在deploy目录下展开,按下边的逐一执行。

netsh advfirewall firewall show rule name=all
netsh advfirewall firewall show rule name=all

开创布局服务副本集

每台服务器上运维二个安排服务

  • 113机器上执行:../bin/mongod -f etc/configsvr.conf
  • 114机器上举办:../bin/mongod -f etc/configsvr.conf
  • 115机器上执行:../bin/mongod -f etc/configsvr.conf

果不其然防火墙依然在的:

果真防火墙如故在的:

开端化配置服务副本集

在113机器上操作,连接受配置服务(其中壹个都可以)
每一个服务的端口号请看etc目录下边的布署文件
../bin/mongo –port 27020

伊始化配置服务副本集,注意initiate要在primary副本集中操作,有个别副本集早先容许不是primary,用rs.status()多查看五遍

rs.initiate({_id: "cfgset", configsvr: true, members: [{_id: 0, host: "172.16.66.113:27020"}, {_id: 1, host: "172.16.66.114:27020"}, {_id: 2, host: "172.16.66.115:27020"}]})

home88一必发 4

home88一必发 5

开创分片1劳务副本集

  • 113机械上进行:../bin/mongod -f etc/shardsvr1.conf
  • 114机械上执行:../bin/mongod -f etc/shardsvr1.conf
  • 115机械上举行:../bin/mongod -f etc/shardsvr1.conf

 

 

起头化分片1服务副本集

在113机器上操作,连接受分片1服务(其中多个都得以)
../bin/mongo –port 27031

rs.initiate({_id: "shardset1", members: [{_id: 0, host: "172.16.66.113:27031"}, {_id: 1, host: "172.16.66.114:27031"}, {_id: 2, host: "172.16.66.115:27031"}]})

和谐翻翻,可以看出那两条:

友好翻翻,可以看来那两条:

始建分片2劳动副本集

  • 113机器上实施:../bin/mongod -f etc/shardsvr2.conf
  • 114机械上推行:../bin/mongod -f etc/shardsvr2.conf
  • 115机械上实施:../bin/mongod -f etc/shardsvr2.conf

home88一必发 6

home88一必发 7

开头化分片2副本集

在113机械上操作,连接受分片2劳务(其中三个都足以)
../bin/mongo –port 27032

rs.initiate({_id: "shardset2", members: [{_id: 0, host: "172.16.66.113:27032"}, {_id: 1, host: "172.16.66.114:27032"}, {_id: 2, host: "172.16.66.115:27032"}]})

每台服务器上的副本集都以对等的,大家只须要在其间一台服务器上举行起头化就能够了,其他的副本集会将布署音信自动同步过去,所以地点大家只在113机器上展开副本集的初阶化。

 

 

启动mongos服务

在每台服务器上运营mongos服务
* 113机器上执行:../bin/mongos -f etc/mongos.conf
* 114机器上举行:../bin/mongos -f etc/mongos.conf
* 115机器上执行:../bin/mongos -f etc/mongos.conf

上边就很简短了,大家得以添加个IP限制:

上边就很粗略了,大家可以添加个IP限制:

连接到mongos

在113机器上操作
mongos使用的是暗中同意端口27017,所之前面可以不加–port参数
../bin/mongo

  • 丰硕全部分片到集群,最近只有多个分片

sh.addShard("shardset1/172.16.66.113:27031,172.16.66.114:27031,172.16.66.115:27031")
sh.addShard("shardset2/172.16.66.113:27032,172.16.66.114:27032,172.16.66.115:27032")
  • 为数据库启用分片(test数据库)

sh.enableSharding("test")
  • 运用hash分片某些集合(test数据库中的users集合,username是文档中的key)

sh.shardCollection("test.users", {username: "hashed"})

假若数据库是空的shardCollection会自动创立索引,若是数据库不是空的执行shardCollection以前务必先创设索引

到那里就配备到位了。

netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In" new remoteip=192.168.1.1

netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In2" new remoteip=192.168.1.1
netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In" new remoteip=192.168.1.1

netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In2" new remoteip=192.168.1.1

集群不难表达

 

 

总是到中间一个mongos服务

如:小编在本机上连年,mongo –host 172.16.66.113

或然索性禁止 deploy,需求的时候再打开

要么索性禁止 deploy,须要的时候再打开

使用test数据库

use test

netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In" new action=block

netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In2" new action=block
netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In" new action=block

netsh advfirewall firewall set rule name="Visualstudio_Msvsmon_Allow_In2" new action=block

往test数据库的users集合中插入一千0条数据

for (var i = 1; i <= 10000; i++) { db.users.insert({username: "name" + i}) }

 

 

查阅users集合状态

db.users.stats()
可以看到sharded:true,count:一千0,shardset1中的count为4963,shardset2中的count为5037

附录:防火墙添加修改删除 rule 命令:

附录:防火墙添加修改删除 rule 命令:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图