mongodb安装及副本集搭建
mongodb下载地址:https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.7.tgz/download
实验环境:172.16.10.194 centos6.5
一、mongodb搭建与管理
[root@mongodb ~]# cd soft/
[root@mongodb soft]# ls
mongodb-linux-x86_64-rhel62-3.2.7.tgz
[root@mongodb soft]# tar xf mongodb-linux-x86_64-rhel62-3.2.7.tgz -C /usr/src/
[root@mongodb soft]# mv /usr/src/mongodb-linux-x86_64-rhel62-3.2.7/ /usr/local/mongodb
[root@mongodb ~]# mkdir -p /data/mongodb1
[root@mongodb ~]# mkdir -p /data/logs/mongodb
[root@mongodb ~]# touch /data/logs/mongodb/mongodb1.log
[root@mongodb ~]# cd /usr/local/mongodb/
[root@mongodb mongodb]# ls
bin GNU-AGPL-3.0 MPL-2 README THIRD-PARTY-NOTICES
[root@mongodb mongodb]# mkdir conf
[root@mongodb mongodb]# vim conf/mongodb1.conf
port=27017
dbpath=/data/mongodb1 #数据库文件
logpath=/data/logs/mongodb/mongodb1.log #日志文件
logappend=true #以追写方式写入日志
fork=true #以守护进程方式运行
maxConns=5000 #系统文件打开数要大于这个数值
storageEngine=mmapv1 #存储引擎
[root@mongodb mongodb]# pwd
/usr/local/mongodb
[root@mongodb mongodb]# ls bin/
bsondump mongodump mongoimport mongorestore mongotop
mongo mongoexport mongooplog mongos
mongod mongofiles mongoperf mongostat
[root@mongodb mongodb]# /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf //启动mongodb数据库 -f 指定配置文件
about to fork child process, waiting until server is ready for connections.
forked process: 1312
child process started successfully, parent exiting
[root@mongodb mongodb]# netstat -anpt | grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1312/mongod
[root@mongodb mongodb]# ps aux | grep mongodb | grep -v "grep"
root 1268 0.0 0.1 100940 636 pts/1 S+ 15:55 0:00 tail -f mongodb1.log
root 1312 0.8 10.5 532996 51344 ? Sl 16:12 0:04 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
设置开机自启动
[root@mongodb mongodb]# vim /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
rm -rf /data/mongodb1/mongod.lock
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
连接数据库
[root@mongodb mongodb]# /usr/local/mongodb/bin/mongo
MongoDB shell version: 3.2.7
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2016-12-19T16:12:57.577+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2016-12-19T16:12:57.577+0800 I CONTROL [initandlisten]
> show dbs
local 0.078GB
> exit
bye
去除报错
[root@mongodb mongodb]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@mongodb mongodb]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@mongodb mongodb]# cd
[root@mongodb ~]# vim .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
alias mongo=/usr/local/mongodb/bin/mongo
[root@mongodb ~]# . .bash_profile
关闭服务的三种方法
方法一:
[root@mongodb ~]# mongo
MongoDB shell version: 3.2.7
connecting to: test
Server has startup warnings:
2016-12-19T16:12:57.577+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2016-12-19T16:12:57.577+0800 I CONTROL [initandlisten]
> use admin
switched to db admin
> db.shutdownServer();
server should be down...
2016-12-19T16:36:36.903+0800 I NETWORK [thread1] trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed
2016-12-19T16:36:36.904+0800 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2016-12-19T16:36:36.904+0800 I NETWORK [thread1] reconnect 127.0.0.1:27017 (127.0.0.1) failed failed
> exit
bye
[root@mongodb ~]# netstat -anpt | grep mongod
[root@mongodb ~]#
方法二:
[root@mongodb ~]# /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
about to fork child process, waiting until server is ready for connections.
forked process: 1403
child process started successfully, parent exiting
[root@mongodb ~]# netstat -anpt | grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1403/mongod
[root@mongodb ~]# /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf --shutdown
killing process with pid: 1403
[root@mongodb ~]# netstat -anpt | grep mongod
[root@mongodb ~]#
方法三:
[root@mongodb ~]# /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
about to fork child process, waiting until server is ready for connections.
forked process: 1424
[root@mongodb ~]# ps aux | grep mongod | grep -v "grep"
root 1268 0.0 0.1 100940 620 pts/1 S+ 15:55 0:00 tail -f mongodb1.log
root 1424 8.4 10.4 531972 50948 ? Sl 16:43 0:08 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
[root@mongodb ~]# kill -15 1424
[root@mongodb ~]# netstat -anpt | grep mongod
[root@mongodb ~]#
开启两个实例:
[root@mongodb ~]# cd /usr/local/mongodb/conf/
[root@mongodb conf]# ls
mongodb1.conf
[root@mongodb conf]# cp mongodb{1,2}.conf
[root@mongodb conf]# ls
mongodb1.conf mongodb2.conf
[root@mongodb conf]# vim mongodb2.conf
port=27018
dbpath=/data/mongodb2
logpath=/data/logs/mongodb/mongodb2.log
logappend=true
fork=true
maxConns=5000
storageEngine=mmapv1
[root@mongodb conf]# mkdir /data/mongodb2/
[root@mongodb conf]# touch /data/logs/mongodb/mongodb2.log
[root@mongodb conf]# cd /etc/init.d/
[root@mongodb init.d]# vim mongodb
#!/bin/bash
#mongodb 启停脚本
INSTANCE=$1
ACTION=$2
case "$ACTION" in
start)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/$INSTANCE.conf
;;
stop)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/$INSTANCE.conf --shutdown
;;
restart)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/$INSTANCE.conf --shutdown
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/$INSTANCE.conf
;;
esac
[root@mongodb init.d]# chmod +x mongodb
[root@mongodb init.d]# netstat -anpt | grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1545/mongod
[root@mongodb init.d]# /etc/init.d/mongodb mongodb1 stop
killing process with pid: 1545
[root@mongodb init.d]# netstat -anpt | grep mongod
[root@mongodb init.d]#
[root@mongodb init.d]# /etc/init.d/mongodb mongodb1 start
about to fork child process, waiting until server is ready for connections.
forked process: 1571
child process started successfully, parent exiting
[root@mongodb init.d]# /etc/init.d/mongodb mongodb2 start
about to fork child process, waiting until server is ready for connections.
forked process: 1587
child process started successfully, parent exiting
[root@mongodb init.d]# /etc/init.d/mongodb mongodb2 stop
killing process with pid: 1587
[root@mongodb init.d]# /etc/init.d/mongodb mongodb2 restart
There doesn't seem to be a server running with dbpath: /data/mongodb2
about to fork child process, waiting until server is ready for connections.
forked process: 1607
child process started successfully, parent exiting
[root@mongodb init.d]# netstat -anpt | grep mongod | grep -v "grep"
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1571/mongod
tcp 0 0 0.0.0.0:27018 0.0.0.0:* LISTEN 1607/mongod
二、副本集搭建
[root@localhost ~]# cd /usr/local/mongodb/conf/
[root@localhost conf]# ls
mongodb1.conf mongodb2.conf
[root@localhost conf]# vim mongodb1.conf
port=27017
dbpath=/data/mongodb1
logpath=/data/logs/mongodb/mongodb1.log
logappend=true
fork=true
maxConns=1000
storageEngine=mmapv1
replSet=repl //名字随意取
[root@localhost conf]# vim mongodb2.conf
port=27018
dbpath=/data/mongodb2
logpath=/data/logs/mongodb/mongodb2.log
logappend=true
fork=true
maxConns=1000
storageEngine=mmapv1
replSet=repl
[root@localhost conf]# vim mongodb3.conf
port=27019
dbpath=/data/mongodb3
logpath=/data/logs/mongodb/mongodb3.log
logappend=true
fork=true
maxConns=1000
storageEngine=mmapv1
replSet=repl
[root@localhost conf]# vim mongodb4.conf
port=27020
dbpath=/data/mongodb4
logpath=/data/logs/mongodb/mongodb4.log
logappend=true
fork=true
maxConns=1000
storageEngine=mmapv1
replSet=repl
[root@localhost conf]# mkdir /data/mongodb{3,4}
[root@localhost conf]# ls /data/
logs mongodb1 mongodb2 mongodb3 mongodb4
[root@localhost conf]# touch /data/logs/mongodb/mongodb{3,4}.log
[root@localhost conf]# ls /data/logs/mongodb/
mongodb1.log mongodb2.log mongodb3.log mongodb4.log
[root@localhost conf]# /etc/init.d/mongodb mongodb1 stop
killing process with pid: 1019
[root@localhost conf]# /etc/init.d/mongodb mongodb1 start
about to fork child process, waiting until server is ready for connections.
forked process: 1182
child process started successfully, parent exiting
[root@localhost conf]# /etc/init.d/mongodb mongodb2 start
about to fork child process, waiting until server is ready for connections.
forked process: 1203
child process started successfully, parent exiting
[root@localhost conf]# /etc/init.d/mongodb mongodb3 start
about to fork child process, waiting until server is ready for connections.
forked process: 1224
child process started successfully, parent exiting
[root@localhost conf]# /etc/init.d/mongodb mongodb4 start
about to fork child process, waiting until server is ready for connections.
forked process: 1245
child process started successfully, parent exiting
[root@localhost conf]# netstat -anpt | grep mongod
tcp 0 0 0.0.0.0:27019 0.0.0.0:* LISTEN 1224/mongod
tcp 0 0 0.0.0.0:27020 0.0.0.0:* LISTEN 1245/mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1182/mongod
tcp 0 0 0.0.0.0:27018 0.0.0.0:* LISTEN 1203/mongod
[root@localhost conf]# mongo
MongoDB shell version: 3.2.7
connecting to: test
Server has startup warnings:
2016-12-22T12:37:45.344+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2016-12-22T12:37:45.344+0800 I CONTROL [initandlisten]
> show dbs
2016-12-22T12:39:30.701+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 } :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:760:19
shellHelper@src/mongo/shell/utils.js:650:15
@(shellhelp2):1:1
> rs.status()
{
"info" : "run rs.initiate(...) if not yet done for the set",
"ok" : 0,
"errmsg" : "no replset config has been received",
"code" : 94
}
> cfg={"_id":"repl","members":[{"_id":0,"host":"172.16.10.194:27017"},{"_id":1,"host":"172.16.10.194:27018"},{"_id":2,"host":"172.16.10.194:27019"}]}
{
"_id" : "repl",
"members" : [
{
"_id" : 0,
"host" : "172.16.16.194:27017"
},
{
"_id" : 1,
"host" : "172.16.10.194:27018"
},
{
"_id" : 2,
"host" : "172.16.10.194:27019"
}
]
}
> rs.initiate(cfg)
{"ok" : 1}
repl:PRIMARY> rs.status()
{
"set" : "repl",
"date" : ISODate("2017-01-19T04:54:52.865Z"),
"myState" : 1,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "172.16.10.194:27017",
"health" : , //1为健康,0为宕机
"state" : , //1为主,2为从
"stateStr" : "PRIMARY",
"uptime" : 1027,
"optime" : {
"ts" : Timestamp(1482382341, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-01-19T04:52:21Z"),
"electionTime" : Timestamp(1482382336, 1),
"electionDate" : ISODate("2017-01-19T04:52:16Z"),
"configVersion" : 1,
"self" : true
},
{
"_id" : 1,
"name" : "172.16.10.194:27018",
"health" : ,
"state" : ,
"stateStr" : "SECONDARY",
"uptime" : 170,
"optime" : {
"ts" : Timestamp(1482382341, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-01-19T04:52:21Z"),
"lastHeartbeat" : ISODate("2017-01-19T04:54:52.500Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T04:54:49.084Z"),
"pingMs" : NumberLong(0),
"configVersion" : 1
},
{
"_id" : 2,
"name" : "172.16.10.194:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 170,
"optime" : {
"ts" : Timestamp(1482382341, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-01-19T04:52:21Z"),
"lastHeartbeat" : ISODate("2017-01-19T04:54:52.500Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T04:54:49.060Z"),
"pingMs" : NumberLong(0),
"configVersion" : 1
}
],
"ok" : 1
}
repl:PRIMARY> rs.add("172.16.10.194:27020") //增加一个节点
{ "ok" : 1 }
repl:PRIMARY> rs.status()
{
"set" : "repl",
"date" : ISODate("2017-01-19T04:58:08.541Z"),
"myState" : 1,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "172.16.10.194:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 1223,
"optime" : {
"ts" : Timestamp(1482382649, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-01-19T04:57:29Z"),
"electionTime" : Timestamp(1482382336, 1),
"electionDate" : ISODate("2017-01-19T04:52:16Z"),
"configVersion" : 2,
"self" : true
},
{
"_id" : 1,
"name" : "192.168.16.11:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 366,
"optime" : {
"ts" : Timestamp(1482382649, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-01-19T04:57:29Z"),
"lastHeartbeat" : ISODate("2017-01-19T04:58:07.434Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T04:58:08.501Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "172.16.10.194:27017",
"configVersion" : 2
},
{
"_id" : 2,
"name" : "172.16.10.194:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 366,
"optime" : {
"ts" : Timestamp(1482382649, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-01-19T04:57:29Z"),
"lastHeartbeat" : ISODate("2017-01-19T04:58:07.433Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T04:58:08.501Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "172.16.10.194:27017",
"configVersion" : 2
},
{
"_id" : 3,
"name" : "172.16.10.194:27020",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 39,
"optime" : {
"ts" : Timestamp(1482382649, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2017-01-19T04:57:29Z"),
"lastHeartbeat" : ISODate("2017-01-19T04:58:07.412Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T04:58:04.993Z"),
"pingMs" : NumberLong(0),
"configVersion" : 2
}
],
"ok" : 1
}
repl:PRIMARY> rs.remove("172.16.10.194:27020") //删除节点
{ "ok" : 1 }
[root@localhost ~]# ps aux | grep mongodb
root 941 1.3 38.1 10880192 185740 ? Sl 04:28 0:08 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
root 1140 5.1 10.3 6676660 50236 ? Sl 04:37 0:01 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb2.conf
root 1205 3.5 35.3 6686928 172072 ? Sl 04:38 0:00 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb3.conf
root 1285 0.0 0.1 103248 872 pts/0 S+ 04:38 0:00 grep mongodb
[root@localhost ~]# kill -2 941 //模拟故障,kill -2 杀掉这个信号
[root@localhost ~]# mongo --port 27018 //登陆mongodb2.conf的配置文件查看
MongoDB shell version: 3.2.7
connecting to: 127.0.0.1:27018/test
Server has startup warnings:
2017-01-19T04:37:55.697+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-01-19T04:37:55.697+0800 I CONTROL [initandlisten]
repl:PRIMARY> rs.status()
{
"set" : "repl",
"date" : ISODate("2017-01-19T20:49:04.626Z"),
"myState" : 1,
"term" : NumberLong(3),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "172.16.10.194:27017",
"health" : 0, //发现之前的主已经为0,代表宕机
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2017-01-19T20:49:03.743Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T20:47:52.617Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "Connection refused",
"configVersion" : -1
},
{
"_id" : 1,
"name" : "172.16.10.194:27018",
"health" : 1, //之前的从mongo会自动变成主
"state" : 1, //1代表主
"stateStr" : "PRIMARY",
"uptime" : 670,
"optime" : {
"ts" : Timestamp(1482439685, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2017-01-19T20:48:05Z"),
"infoMessage" : "could not find member to sync from",
"electionTime" : Timestamp(1482439683, 1),
"electionDate" : ISODate("2017-01-19T20:48:03Z"),
"configVersion" : 3,
"self" : true
},
{
"_id" : 2,
"name" : "172.16.10.194:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 649,
"optime" : {
"ts" : Timestamp(1482439685, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2017-01-19T20:48:05Z"),
"lastHeartbeat" : ISODate("2017-01-19T20:49:03.643Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T20:49:03.858Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "172.16.10.194:27018",
"configVersion" : 3
}
],
"ok" : 1
}
repl:PRIMARY>
[root@localhost ~]# /etc/init.d/mongodb mongodb1 start //在另一个通道重新启动mongodb1
about to fork child process, waiting until server is ready for connections.
forked process: 1317
child process started successfully, parent exiting
repl:PRIMARY> rs.status() //再次查看状态,发现mongodb1已启动,但没有主动夺回主
{
"set" : "repl",
"date" : ISODate("2017-01-19T20:52:55.850Z"),
"myState" : 1,
"term" : NumberLong(3),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "2017-01-19:27017",
"health" : 1,
"state" : 2, //属于从
"stateStr" : "SECONDARY",
"uptime" : 5,
"optime" : {
"ts" : Timestamp(1482439093, 1),
"t" : NumberLong(2)
},
"optimeDate" : ISODate("2017-01-19T20:38:13Z"),
"lastHeartbeat" : ISODate("2017-01-19T20:52:54.025Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T20:52:53.660Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "172.16.10.194:27019",
"configVersion" : 3
},
{
"_id" : 1,
"name" : "172.16.10.194:27018",
"health" : 1,
"state" : 1, //主
"stateStr" : "PRIMARY",
"uptime" : 901,
"optime" : {
"ts" : Timestamp(1482439685, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2017-01-19T20:48:05Z"),
"electionTime" : Timestamp(1482439683, 1),
"electionDate" : ISODate("2017-01-19T20:48:03Z"),
"configVersion" : 3,
"self" : true
},
{
"_id" : 2,
"name" : "172.16.10.194:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 881,
"optime" : {
"ts" : Timestamp(1482439685, 1),
"t" : NumberLong(3)
},
"optimeDate" : ISODate("2017-01-19T20:48:05Z"),
"lastHeartbeat" : ISODate("2017-01-19T20:52:53.850Z"),
"lastHeartbeatRecv" : ISODate("2017-01-19T20:52:54.071Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "172.16.10.194:27018",
"configVersion" : 3
}
],
"ok" : 1
}
mongodb安装及副本集搭建的更多相关文章
- mongodb 4.0副本集搭建
近期有同学问mongodb副本集难不难部署,我的回答是不难,很快,几分钟搞定,比mysql MHA简单的不止一点半点. 那么到底如何部署呢?请看下文. 1. 准备工作 1.1 下载软件 选择版本并下 ...
- Mongodb 安装和副本集集群搭建
通用步骤,适用于所有你需要用的软件. 总结为5大步骤: 找到官网-->下载包-->解压-->修改配置-->启动 不懂的,首选官网api,次选百度 1.安装mongodb mon ...
- MongoDB 安装及副本集简单操作
安装MongoDB 3.4 # 查看现有yum源 [root@localhost ~]# ll /etc/yum.repos.d/ total 36 -rw-r--r--. 1 root root 1 ...
- mongodb中的副本集搭建实践
准备运行1个主节点,2个从节点,从节点中其中是一个是仲裁节点(Arb). --oplogSize --oplogSize --oplogSize 其中application是副本集的名称,节点必须相同 ...
- Mongodb副本集搭建经验
一.环境配置经验 1.一般安装的副本集的时候,主实例可以有数据库和用户:从实例不能.仲裁机不能有任何数据库包括用户 2.搭建副本集的时候Host使用外网IP,否则使用Mongodb VUE 1.6.9 ...
- mongodb副本集搭建过程中的问题和解决技巧
在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...
- windows版本 MongoDB副本集搭建及开启身份验证
------------恢复内容开始------------ ------------恢复内容开始------------ MongoDB副本集搭建 我搭建的是一个主节点,两个副节点 构建目录结构如下 ...
- MongoDB副本集搭建及备份恢复
一.MongoDB副本集(repl set)介绍 早起版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主: 目前已经淘汰了ma ...
- mongo副本集搭建及服务器复用方案
比较常见的mongodb副本集搭建是有:常规节点.数据副本.仲裁节点组成,也就是需要三台服务器组建.常规节点即数据的主存储节点,数据副本是主存储节点的从属节点,它定期去主节点获取更新日志来更新自己.仲 ...
随机推荐
- CH7-WEB开发(集成在一起)
- DiscuzX的目录权限设置1
经常有朋友遇到Discuz目录权限设置出错的问题,网上千奇百怪的教程非常多,所谓的终极安全的教程更是满天飞,各种所谓的安全加强软件也随处可见,可实际过程中发现,老手用不上,新手则只会因为这些东西徒增麻 ...
- php学习八:封装
一:在php中,用class关键字来创建一个类,即进行封装:在类里面有成员属性和方法行为组成: 1.成员属性:用关键字var来声明,可以给初始值也可以不给;现在var废弃,用public来声明,pub ...
- Sql中将字符串按分割符拆分
创建函数 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create FUNCTION [dbo].[F_Split] ( @SplitString ...
- MQTT协议笔记之mqtt.io项目Websocket协议支持
前言 MQTT协议专注于网络.资源受限环境,建立之初不曾考虑WEB环境,倒也正常.虽然如此,但不代表它不适合HTML5环境. HTML5 Websocket是建立在TCP基础上的双通道通信,和TCP通 ...
- JavaIO再回顾
File类 JavaIO访问文件名和文件检测相关操作 分隔符最好是使用File类提供的File.separator,使程序更加的健壮. File类提供的方法基本上是见名知意,例如getName()就是 ...
- 删除编辑文件警告Swap file “…” already exists!
Linux下多个用户同时编辑一个文件,或编辑时非正常关闭,再下次编辑打开文件时均为显示如下警告信息: Swap file "test.xml.swp" already exists ...
- 使用HttpClient以文件流的方式上传文件(非multipartFormData方式)
@Test public void testAdd() throws IOException { HttpPost post = new HttpPost("http://localhost ...
- 【BZOJ4196】[Noi2015]软件包管理器 树链剖分
[Noi2015]软件包管理器 树链剖分 Description Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从 ...
- iOS 如何在视图中添加一个用xib创建的view
NSArray *nib = [[NSBundle mainBundle]loadNibNamed:[pages objectAtIndex:] owner:self options:nil]; // ...