Centos 下MongoDB 集群安装

版权声明:本文为博主原创文章,未经博主允许不得转载。http://mp.blog.csdn.net/configure#i https://blog.csdn.net/wangming520liwei/article/details/85295765

                                        Centos 下MongoDB 集群安装

架构

准备三台服务器

172.31.1.135
172.31.1.136
172.31.1.137

创建目录

mkdir /data
mkdir /data/log
mkdir /data/log/mongodb/
mkdir /data/mongodb/data

下载二进制包

cd /data

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.3.tgz

tar -zxvf mongodb-linux-x86_64-rhel62-3.6.3.tgz

mv mongodb-linux-x86_64-rhel62-3.6.3 /data/mongodb

 三台机器编写mongodb.conf

cd /data/mongodb
vi mongodb.conf

三台机器分别添加如下内容:

bind_ip=172.31.1.135
fork = true 
port = 27017
dbpath = /data/mongodb/data
logpath = /data/log/mongodb/mongodb.log
logappend = true
replSet = Jackie
directoryperdb = true
journal = true


bind_ip=172.31.1.136
fork = true 
port = 27017
dbpath = /data/mongodb/data
logpath = /data/log/mongodb/mongodb.log
logappend = true
replSet = Jackie
directoryperdb = true
journal = true



bind_ip=172.31.1.137
fork = true 
port = 27017
dbpath = /data/mongodb/data
logpath = /data/log/mongodb/mongodb.log
logappend = true
replSet = Jackie
directoryperdb = true
journal = true

保存退出

配置参数说明

dbpath = \ 指定数据的存放位置,必需项
logpath = \ 指定日志的存放位置
logappend = \ 日志以追加方式写入
pidfilepath = \ 存放启动mongod是分配的进程号
bind_ip = \ mongod监听的ip,可以不设置,不设置时,通过机器的ip访问
port = \监听的端口号,务必设置,默认的端口不安全
directoryperdb = \为每个数据库的数据分配一个存储目录,建议设置,数据更好管理
journal=\ 启用恢复日志,如果mongod意外退出,下一次启动时会根据恢复日志进行恢复,但恢复日志所占空间比较大。建议设置true
keyFile = \指定使用的key的路径,集群中的所有节点都要使用相同的key才能相互连接。(在集群搭建完成之前,不应当使用keyFile,否则在部署副本集和分片时会出现没有权限操作的情况)
auth = \ 是否使用授权认证机制,集群使用时,应当使用auth=true,但在集群部署时不应该使用auth=true
noprealloc = \ 是否预分配空间,预分配空间比较占空间;不预分配空间可能对性能有影响。
replSet = \节点所属副本集的名称
fork 务必将fork选项设置为true,否则当启动节点的终端意外退出时,节点的运行进程会被杀掉

三台机器启动

 启动mongodb

cd /data/mongodb
bin/mongod -f mongodb.conf

启动成功如下


 

任意一台登录

/data/mongodb/bin/mongo 172.31.1.135:27017

这里的 _id: ” Jackie ” 和上面配置文件中“replSet = Jackie” 要保持一样

在连接mongdo后,输入一下内容:

config = {"_id" : "Jackie",
    "members" : [
    {"_id" : 0, "host" : "172.31.1.135:27017"},
    {"_id" : 1, "host" : "172.31.1.136:27017"},
    {"_id" : 2, "host" : "172.31.1.137:27017"}
   ]}

然后回车,执行初始化副本集配置命令:

rs.initiate(config);

返回ok =1 表示成功

查看集群状态

Jackie:PRIMARY> rs.status()
{
	"set" : "Jackie",
	"date" : ISODate("2018-12-28T02:32:44.359Z"),
	"myState" : 1,
	"term" : NumberLong(1),
	"heartbeatIntervalMillis" : NumberLong(2000),
	"optimes" : {
		"lastCommittedOpTime" : {
			"ts" : Timestamp(1545964363, 1),
			"t" : NumberLong(1)
		},
		"readConcernMajorityOpTime" : {
			"ts" : Timestamp(1545964363, 1),
			"t" : NumberLong(1)
		},
		"appliedOpTime" : {
			"ts" : Timestamp(1545964363, 1),
			"t" : NumberLong(1)
		},
		"durableOpTime" : {
			"ts" : Timestamp(1545964363, 1),
			"t" : NumberLong(1)
		}
	},
	"members" : [
		{
			"_id" : 0,
			"name" : "n1:27017",
			"health" : 1,
			"state" : 1,
			"stateStr" : "PRIMARY",
			"uptime" : 486,
			"optime" : {
				"ts" : Timestamp(1545964363, 1),
				"t" : NumberLong(1)
			},
			"optimeDate" : ISODate("2018-12-28T02:32:43Z"),
			"electionTime" : Timestamp(1545963891, 1),
			"electionDate" : ISODate("2018-12-28T02:24:51Z"),
			"configVersion" : 1,
			"self" : true
		},
		{
			"_id" : 1,
			"name" : "n2:27017",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 484,
			"optime" : {
				"ts" : Timestamp(1545964363, 1),
				"t" : NumberLong(1)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1545964363, 1),
				"t" : NumberLong(1)
			},
			"optimeDate" : ISODate("2018-12-28T02:32:43Z"),
			"optimeDurableDate" : ISODate("2018-12-28T02:32:43Z"),
			"lastHeartbeat" : ISODate("2018-12-28T02:32:43.346Z"),
			"lastHeartbeatRecv" : ISODate("2018-12-28T02:32:44.138Z"),
			"pingMs" : NumberLong(0),
			"syncingTo" : "n1:27017",
			"configVersion" : 1
		},
		{
			"_id" : 2,
			"name" : "n3:27017",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 484,
			"optime" : {
				"ts" : Timestamp(1545964363, 1),
				"t" : NumberLong(1)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1545964363, 1),
				"t" : NumberLong(1)
			},
			"optimeDate" : ISODate("2018-12-28T02:32:43Z"),
			"optimeDurableDate" : ISODate("2018-12-28T02:32:43Z"),
			"lastHeartbeat" : ISODate("2018-12-28T02:32:43.346Z"),
			"lastHeartbeatRecv" : ISODate("2018-12-28T02:32:44.140Z"),
			"pingMs" : NumberLong(0),
			"syncingTo" : "n1:27017",
			"configVersion" : 1
		}
	],
	"ok" : 1,
	"operationTime" : Timestamp(1545964363, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1545964363, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}

也可配置环境变量

export MONGODB_HOME=/data/mongodb
export PATH=.:$MONGODB_HOME/bin:$PATH

登录:

mongo 172.31.1.135:27017

猜你喜欢

转载自blog.csdn.net/wangming520liwei/article/details/85295765
今日推荐