之前搭建过集群,现在重新搭建,竟然花费了我一晚上时间,不就这边出错,就是那边少东西,头疼,还是趁热打铁,出一份完整的搭建教程
一、几个比较常用的linux语句:
1、查看主机的线程:
ps aux|grep mongo (查看mongo线程)
kill XX(杀死线程)
2、新建文件及文件夹:
touch XX(新建文件)
mkdir XXX(新建文件夹)
3、删除文件及文件夹;
rm XX(删除文件) 或者rm -r XXX
rm -r XX(删除文件夹,必须加-r)
二、常见的问题
1、secureCRT软件中如果出现了不能删除字符的情况,需要设置一下:
选项--会话选项---终端---仿真--终端(选择Linux)即可
三、开始集群的搭建
1、配置;
192.168.0.75 :27016 rs1/mongod :27018 mongos
192.168.0.76:27016 rs2mongod :27018 config
192.168.0.77:27016 rs3/mongod
2、开始:
A 配置config节点,配置文件mongo.conf 如下所示;
storage:
dbPath: "/home/dmcl165/mongodb/zlp/mongo/data/node"
engine: wiredTiger
systemLog:
destination: file
path: "/home/dmcl165/mongodb/zlp/mongo/log/mongodb.log"
logAppend: true
net:
bindIp: 192.168.0.76
port: 27018
processManagement:
pidFilePath: "/home/dmcl165/mongodb/zlp/mongo/run/mongodb.pid"
fork: true
replication:
replSetName: rscfg
sharding:
clusterRole: configsvr
启动config节点(转到源码下面运行,或者转到mongodbTools/bin下直接运行):
./mongod --config /home/dmcl165/mongo/zlp/mongo.conf
因为config节点是一个单独的复制集rscfg,所以需要进入config节点进行设置,否则会出错:
./mongo 192.168.0.76:27018
>rs.status()
>cfg = {_id: 'rscfg', members: [
B、启动三个shard节点,配置文件mongod.conf如下所示(三个节点属于三个不同的复制集rs1,rs2,rs3):
rs1配置文件:
storage:
dbPath: "/home/dmcl217/mongo/zlpmd/data/node"
systemLog:
destination: file
path: "/home/dmcl217/mongo/zlpmd/log/mongodb.log"
logAppend: true
net:
bindIp: 192.168.0.75,127.0.0.1
port: 27016
processManagement:
pidFilePath: "/home/dmcl217/mongo/zlpmd/run/mongodb.pid"
fork: true
replication:
replSetName: rs1
sharding:
clusterRole: shardsvr
rs2配置文件:
storage:
dbPath: "/home/dmcl165/mongodb/zlpmd/data/node"
engine: wiredTiger
systemLog:
destination: file
path: "/home/dmcl165/mongodb/zlpmd/log/mongodb.log"
logAppend: true
net:
bindIp: 192.168.0.76,127.0.0.1
port: 27016
processManagement:
pidFilePath: "/home/dmcl165/mongodb/zlpmd/run/mongodb.pid"
fork: true
replication:
replSetName: rs2
sharding:
clusterRole: shardsvr
rs3配置文件:
storage:
dbPath: "/home/dmcl305/mongo/zlpmd/data/node"
systemLog:
destination: file
path: "/home/dmcl305/mongo/zlpmd/log/mongodb.log"
logAppend: true
net:
bindIp: 192.168.0.77,127.0.0.1
port: 27016
processManagement:
pidFilePath: "/home/dmcl305/mongo/zlpmd/run/mongodb.pid"
fork: true
replication:
replSetName: rs3
sharding:
clusterRole: shardsvr
依次启动三个节点(转到源码下面运行,或者转到mongodbTools/bin下直接运行):
./mongod --config /home/dmcl305/mongo/zlp/mongod.conf
因为三个shard节点是分别一个单独的复制集rs1,rs2,rs3,所以需要进入分别进入shard节点进行设置,否则会出错(演示一个即可):
./mongo 192.168.0.75:27016
>rs.status()
>cfg = {_id: 'rs1', members: [
C、启动mongos节点,配置文件mongos.conf如下所示:
systemLog:
destination: file
path: "/home/dmcl217/mongo/zlp/log/mongodb.log"
logAppend: true
net:
bindIp: 192.168.0.75
port: 27018
processManagement:
pidFilePath: "/home/dmcl217/mongo/zlp/run/mongodb.pid"
fork: true
sharding:
configDB: rscfg/192.168.0.76:27018
启动mongos 节点(转到源码下面运行,或者转到mongodbTools/bin下直接运行):
./mongos --config /home/dmcl217/mongo/zlp/mongos.conf
进入mongos节点进行配置: