文档章节

21.38 mongodb分片搭建(中)

脑洞老湿_
 脑洞老湿_
发布于 2017/10/20 11:06
字数 1329
阅读 34
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

21.38 mongodb分片搭建(中)

分片搭建–分片配置
添加配置文件shard1.conf(三台机器都操作)

vim /etc/mongod/shard1.conf //加入如下内容
pidfilepath = /var/run/mongodb/shard1.pid
dbpath = /data/mongodb/shard1/data
logpath = /data/mongodb/shard1/log/shard1.log
logappend = true
bind_ip = 0.0.0.0   ##生产环境,最好设为绑定ip本机;因为我们没有设密码
port = 27001
fork = true
httpinterface=true #打开web监控
rest=true
replSet=shard1 #副本集名称
shardsvr = true #declare this is a shard db of a cluster;
maxConns=20000 #设置最大连接数

添加配置文件shard2.conf(三台机器都操作)

 vim /etc/mongod/shard2.conf //加入如下内容
pidfilepath = /var/run/mongodb/shard2.pid
dbpath = /data/mongodb/shard2/data
logpath = /data/mongodb/shard2/log/shard2.log
logappend = true
bind_ip = 0.0.0.0
port = 27002
fork = true
httpinterface=true #打开web监控
rest=true
replSet=shard2 #副本集名称
shardsvr = true #declare this is a shard db of a cluster;
maxConns=20000 #设置最大连接数

添加配置文件shard3.conf(三台机器都操作)

 vim /etc/mongod/shard3.conf //加入如下内容
pidfilepath = /var/run/mongodb/shard3.pid
dbpath = /data/mongodb/shard3/data
logpath = /data/mongodb/shard3/log/shard3.log
logappend = true
bind_ip = 0.0.0.0
port = 27003
fork = true
httpinterface=true #打开web监控
rest=true
replSet=shard3 #副本集名称
shardsvr = true #declare this is a shard db of a cluster;
maxConns=20000 #设置最大连接数

启动shard1

mongod -f /etc/mongod/shard1.conf //三台机器都要操作
 登录130或者132任何一台机器的27001端口初始化副本集,133之所以不行,是因为shard1我们把133这台机器的27001端口作为了仲裁节点
 mongo --port 27001
 use admin
 config = { _id: "shard1", members: [ {_id : 0, host : "192.168.133.130:27001"}, {_id: 1,host : "192.168.133.132:27001"},{_id : 2, host : "192.168.133.133:27001",arbiterOnly:true}] }
 rs.initiate(config)

启动shard2

mongod -f /etc/mongod/shard2.conf //三台机器都要操作
 登录132或者133任何一台机器的27002端口初始化副本集,130之所以不行,是因为shard2我们把130这台机器的27002端口作为了仲裁节点
 mongo --port 27002
 use admin
 config = { _id: "shard2", members: [ {_id : 0, host : "192.168.133.130:27002" ,arbiterOnly:true},{_id : 1, host : "192.168.133.132:27002"},{_id : 2, host : "192.168.133.133:27002"}] }
 rs.initiate(config)

启动shard3

mongod -f /etc/mongod/shard3.conf //三台机器都要操作
 登录130或者133任何一台机器的27003端口初始化副本集,132之所以不行,是因为shard3我们把132这台机器的27003端口作为了仲裁节点
 mongo --port 27003
 use admin
 config = { _id: "shard3", members: [ {_id : 0, host : "192.168.133.130:27003"},  {_id : 1, host : "192.168.133.132:27003", arbiterOnly:true}, {_id : 2, host : "192.168.133.133:27003"}] }
 rs.initiate(config)

完成了副本集shard1、2、3的操作之后,接下来就是配置路由服务器;

21.39 mongodb分片搭建(下)

分片搭建–配置路由服务器

  • 添加配置文件(三台机器都操作)
  • vim /etc/mongod/mongos.conf //加入如下内容
    pidfilepath = /var/run/mongodb/mongos.pid
    logpath = /data/mongodb/mongos/log/mongos.log
    logappend = true
    bind_ip = 0.0.0.0
    port = 20000
    fork = true
    configdb = configs/192.168.133.130:21000,192.168.133.132:21000,192.168.133.133:21000 #监听的配置服务器,只能有1个或者3个,configs为配置服务器的副本集名字
    maxConns=20000 #设置最大连接数
  • 启动mongos服务,注意命令,前面都是mongod,这里是mongos
  • mongos -f /etc/mongod/mongos.conf

分片搭建–启用分片

  • 登录任何一台20000端口
  • mongo --port 20000
  • 把所有分片和路由器串联
    sh.addShard("shard1/192.168.133.130:27001,192.168.133.132:27001,192.168.133.133:27001")
    sh.addShard("shard2/192.168.133.130:27002,192.168.133.132:27002,192.168.133.133:27002")
    sh.addShard("shard3/192.168.133.130:27003,192.168.133.132:27003,192.168.133.133:27003")
  • 查看集群状态
    sh.status()
[root@Dasoncheng ~]# cat /etc/mongod/mongos.conf 
pidfilepath = /var/run/mongodb/mongos.pid
logpath = /data/mongodb/mongos/log/mongos.log
logappend = true
bind_ip = 0.0.0.0
port = 20000
fork = true
configdb = configs/192.168.60.11:21000,192.168.60.12:21000,192.168.60.13:21000 #监听的配置服务器,只能有1个或者3个,configs为配置服务器的副本集名字
maxConns=20000 #设置最大连接数
[root@Dasoncheng ~]# mongos -f /etc/mongod/mongos.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3379
child process started successfully, parent exiting
[root@Dasoncheng ~]# mongo --port 20000
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:20000/
MongoDB server version: 3.4.9
mongos> sh.addShard("shard1/192.168.60.11:27001,192.168.60.12:27001,192.168.60.13:27001")
{ "shardAdded" : "shard1", "ok" : 1 }
mongos> sh.addShard("shard2/192.168.60.11:27002,192.168.60.12:27002,192.168.60.13:27002")
{ "shardAdded" : "shard2", "ok" : 1 }
mongos> sh.addShard("shard3/192.168.60.11:27003,192.168.60.12:27003,192.168.60.13:27003")
{ "shardAdded" : "shard3", "ok" : 1 }
mongos> sh.status()
--- Sharding Status --- 
  sharding version: {
	"_id" : 1,
	"minCompatibleVersion" : 5,
	"currentVersion" : 6,
	"clusterId" : ObjectId("59e957b4b1833892fcc37ec7")
}
  shards:
	{  "_id" : "shard1",  "host" : "shard1/192.168.60.11:27001,192.168.60.12:27001",  "state" : 1 }
	{  "_id" : "shard2",  "host" : "shard2/192.168.60.12:27002,192.168.60.13:27002",  "state" : 1 }
	{  "_id" : "shard3",  "host" : "shard3/192.168.60.11:27003,192.168.60.13:27003",  "state" : 1 }
  active mongoses:
	"3.4.9" : 1
 autosplit:
	Currently enabled: yes
  balancer:
	Currently enabled:  yes
	Currently running:  no
		Balancer lock taken at Fri Oct 20 2017 14:44:12 GMT+0800 (CST) by ConfigServer:Balancer
	Failed balancer rounds in last 5 attempts:  0
	Migration Results for the last 24 hours: 
		No recent migrations
  databases:

有一个小错误:

[root@Dasoncheng ~]# mongos -f /etc/mongod/mongos.conf   
##启动mongos报错,只有60.11启动了;根据报错提示 查看了mongos.conf发现逗号","后面多了一个空格;我删掉重新启动 又报错 ,看下面
2017-10-20T15:38:02.214+0800 I NETWORK  [main] getaddrinfo(" 192.168.60.12") failed: Name or service not known
2017-10-20T15:38:02.330+0800 I NETWORK  [main] getaddrinfo(" 192.168.60.13") failed: Name or service not known
about to fork child process, waiting until server is ready for connections.
forked process: 3316
child process started successfully, parent exiting
[root@Dasoncheng ~]# cat /etc/mongod/mongos.conf 
pidfilepath = /var/run/mongodb/mongos.pid
logpath = /data/mongodb/mongos/log/mongos.log
logappend = true
bind_ip = 0.0.0.0
port = 20000
fork = true
configdb = configs/192.168.60.11:21000, 192.168.60.12:21000, 192.168.60.13:21000 #监听的配置服务器,只能有1个或者3个,configs为配置服务器的副本集名字
maxConns=20000 #设置最大连接数
[root@Dasoncheng ~]# !v
vim /etc/mongod/mongos.conf 
[root@Dasoncheng ~]# mongos -f /etc/mongod/mongos.conf  
##在这里启动报错,我就把进程mongos杀死了,pkill mongos=killall monogs
about to fork child process, waiting until server is ready for connections.
forked process: 3354
ERROR: child process failed, exited with error number 48
[root@Dasoncheng ~]# pkill mongos
[root@Dasoncheng ~]# mongos -f /etc/mongod/mongos.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3379
child process started successfully, parent exiting
##启动成功;

© 著作权归作者所有

脑洞老湿_
粉丝 3
博文 152
码字总数 124412
作品 0
荆州
私信 提问
加载中

评论(0)

mongodb安装、连接,mongodb用户管理、创建集合、数据管理、备份恢复,副本集介绍、搭建、测试,分片介绍、搭建、测试,php的mongodb扩展、mongo扩展

21.26 mongodb介绍 21.27 mongodb安装 21.28 连接mongodb 21.29 mongodb用户管理 21.30 mongodb创建集合、数据管理 21.31 php的mongodb扩展 21.32 php的mongo扩展 21.33 mongodb副本集介绍 ...

tobej
2019/07/16
195
0
【0716】NoSQL——mogodb

21.26 mongodb介绍 介绍: 官网www.mongodb.com, 当前最新版3.4 C++ 编写,基于分布式的,属于 NoSQL 的一种 在 NoSQL 中是最像关系型数据库的 MongoDB 将数据存储为一个文档,数据结构由键...

alexis7gunner
2019/07/21
0
0
2018-08-24( mongodb)

21.26 mongodb介绍 MongoDB是一个基于分布式文件存储的数据库,属于文档型的,虽然也是NoSQL数据库的一种,但是与redis、memcached等数据库有些区别。MongoDB由C++语言编写。旨在为WEB应用提...

qq5af04a1b11143
2018/08/26
0
0
84.mongodb分片介绍 搭建 测试 及mongodb备份与恢复

21.36 mongodb分片介绍 21.37/21.38/21.39 mongodb分片搭建 21.40 mongodb分片测试 21.41 mongodb备份恢复 21.36 mongodb分片介绍 分片是由一个一个的副本集组成的 1.分片就是将数据库进行拆...

axin-linux
2019/04/01
39
0
MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群

最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装、客户端操作、安全认证、副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很大...

osc_b7xn6aes
2018/10/12
24
0

没有更多内容

加载失败,请刷新页面

加载更多

华为pat地址转换,以及内网web服务器发布

实验名称:华为pat地址转换,以及内网web服务器发布 实验拓扑图: 3. 实验目的 : 1.使内网通过pat转化出去上外网 2.使用静态pat做端口映射,发布web服务器 3.配置交换机远程登录 4. 地址规划 cl...

osc_2ch77h9m
7分钟前
7
0
php优化与模块

缓存 xcache eaccelerator zendopcache pdo_mysql扩展 memcache扩展 memcached扩展 mongo扩展 imagemagick imagick扩展...

osc_tb68dlqx
8分钟前
15
0
ATFX投资者教育活动凸显优势,助力客户有效应对市场波动

ATFX动态:新冠肺炎疫情全球传播期间,各国纷纷颁布“居家令”等措施,要求员工必须待在家里,因此也给各行各业带来了不同程度的影响。为了配合各国颁布的防疫措施,ATFX全球办事处依据各地的...

ATFX
8分钟前
10
0
ospf的工作原理

#谈起ospf(开放式最短路径优先),首先它是一种链路状态路由协议 它的工作过程主要有以下几点 : # 建立邻居表 hello : 仅仅使用hello报文,发现邻居,用于邻居的建立,维护,拆除 ospf 路由仅仅...

osc_4dgu16li
9分钟前
16
0
mysql5.7.20安装

rpm -qa | grep mysql yum -y install make gcc-c++ cmake bison-devel ncurses-devel cd /root wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz m......

osc_pl4ni83h
11分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部