MongoDB部署Word格式.docx

上传人:b****7 文档编号:22358259 上传时间:2023-02-03 格式:DOCX 页数:28 大小:195.96KB
下载 相关 举报
MongoDB部署Word格式.docx_第1页
第1页 / 共28页
MongoDB部署Word格式.docx_第2页
第2页 / 共28页
MongoDB部署Word格式.docx_第3页
第3页 / 共28页
MongoDB部署Word格式.docx_第4页
第4页 / 共28页
MongoDB部署Word格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

MongoDB部署Word格式.docx

《MongoDB部署Word格式.docx》由会员分享,可在线阅读,更多相关《MongoDB部署Word格式.docx(28页珍藏版)》请在冰豆网上搜索。

MongoDB部署Word格式.docx

-v(virtualmemory):

-n(openfiles):

64000

-m(maxmemorysize):

-u(maxuserprocesses):

一般需要需要(-n:

openfiles)和(-u:

maxuserprocesses)设置。

一般(-u:

maxuserprocesses)设置为(-n:

openfiles)的一半。

永久修改如下:

#vi/etc/security/limits.conf

在文件最后加入:

*softnofile64000

*hardnofile64000

*softnproc64000

*hardnproc64000

只修改当前用户(退出登录后失效):

#ulimit-n64000

#ulimit-u32000

4、修改HostName,在安装MongoDB时可以通过主机名互访。

(可选)

#vi/etc/hosts

172.16.16.100zzk01

5、关闭Linux的内存透明大页面管理(root用户登录)

(1)将disable-transparent-hugepages文件拷贝到/etc/init.d/目录下。

(2)运行以下命令以确保可以使用init脚本:

#chmod755/etc/init.d/disable-transparent-hugepages

(3)在不同的Linux版本上使用适当的命令配置新的init脚本,以下为CentOS7.1的命令:

#chkconfig--adddisable-transparent-hugepages

(4)重新启动服务器

#reboot

(5)检查THP支持的状态:

#cat/sys/kernel/mm/transparent_hugepage/enabled

输出类似于:

alwaysmadvise[never]

#cat/sys/kernel/mm/transparent_hugepage/defrag

6、安装numactl包(root用户登录)

将numactl的安装包(如:

numactl-2.0.9-4.el7.x86_64.rpm)拷贝到/home下,执行命令:

#rpm-ivh/home/numactl-2.0.9-4.el7.x86_64.rpm

7、创建mongodb用户

#useraddmongodb

#passwdmongodb

8、修改mongodb用户为允许执行sudo命令

#visudo

在#%wheelALL=(ALL)NOPASSWD:

ALL后仿照添加

mongodbALL=(ALL)NOPASSWD:

ALL

9、修改mongodb用户的文件打开限制

#vi/etc/security/limits.d/20-nproc.conf

三、下载MongoDB安装文件

官网下载地址:

http:

//www.mongodb.org/downloads

四、安装MongoDB(每台服务器逐一重复)

1、安装MongoDB运行文件

(1)使用mongodb用户登录,或者从root用户切换到mongodb用户。

将下载的文件包拷贝到home/mongodb目录下,解压文件如下:

#sumongodb

#tar-zxvfmongodb-linux-x86_64-rhel70-3.4.0.tgz

(2)删除mongodb安装包,移动解压后文件夹内容到mongodb目录下

#rmmongodb-linux-x86_64-rhel70-3.4.0.tgz

#cdmongodb-linux-x86_64-rhel70-3.4.0

#mv./*/home/mongodb

#cd..

#rm-rfmongodb-linux-x86_64-rhel70-3.4.0/

(3)修改每台服务器的环境变量

编辑文件:

#sudovi/etc/profile

在文件中加入:

PATH=$PATH:

/home/mongodb/bin

使修改立即生效:

#source/etc/profile

注:

在每台服务器上重复上述步骤,分别安装mongodb。

五、配置单节点MongoDB数据库服务器

1、创建存放MongoDB数据的文件夹

#mkdir-p/home/mongodb/data

2、使用root用户将修改后的MongoDB配置文件拷贝/etc目录下,然后修改文件权限

#sudochownmongodb/etc/mongod.conf

3、修改MongoDB(mongod.conf)配置文件

重点修改以下内容:

dbpath=/home/mongodb/data

logpath=/var/log/mongodb.log

bind_ip=127.0.0.1

port=27017

fork=true

replSet=replset

4、手动创建/var/log/mongod.log文件

#sudovi/var/log/mongod.log

不修改文件直接保存

5、修改/var/log/mongod.log文件的权限

#sudochownmongodb/var/log/mongod.log

6、运行MongoDB实例

#numactl--interleave=allmongod-config/etc/mongod.conf

7、查看启动日志

#cat/var/log/mongod.log

六、使用配置文件配置副本集

在三台机器上任意一台机器登陆mongodb

mongo137.20.17.23:

27017

#使用admin数据库

>

useadmin

#定义副本集配置变量,这里的_id:

”repset”和上面命令参数“–replSetrepset”要保持一样

1、配置三个节点的副本集

config={_id:

"

repset"

members:

[

......{_id:

0,host:

137.20.17.23:

27017"

},

1,host:

137.20.17.24:

2,host:

137.20.17.25:

}]

......}

#输出如下

{

"

_id"

:

members"

[

{

"

0,

host"

137.20.17.26:

},

1,

137.20.17.27:

2,

137.20.17.28:

}

]

}

#初始化副本集配置

rs.initiate(config);

{"

ok"

1}

#成功启动副本集

2、配置带有仲裁节点的副本集配置如下(生产环境建议配置):

config={_id:

shard2"

{_id:

10.1.39.187:

10.1.39.188:

10.1.39.193:

arbiterOnly:

true}

};

rs.initiate(config);

其中的仲裁节点(arbiterOnly)不存储数据,只是负责故障转移的群体投票。

其实不只是主节点、副本节点、仲裁节点,还有Secondary-Only、Hidden、Delayed、Non-Voting。

Secondary-Only:

不能成为primary节点,只能作为secondary副本节点,防止一些性能不高的节点成为主节点。

Hidden:

这类节点是不能够被客户端制定IP引用,也不能被设置为主节点,但是可以投票,一般用于备份数据。

Delayed:

可以指定一个时间延迟从primary节点同步数据。

主要用于备份数据,如果实时同步,误删除数据马上同步到从节点,恢复又恢复不了。

Non-Voting:

没有选举权的secondary节点,纯粹的备份数据节点。

3、副本集的增加及删除

rs.remove("

137.20.17.101:

20001"

);

--删除节点登录副本集的主服务器执行

rs.add("

--增加节点登录副本集的主服务器执行

常见问题:

如果显示错误内容:

errmsg"

replSetInitiatequorumcheckfailedbecausenotallproposedsetmembe

rsrespondedaffirmatively:

137.20.17.25:

27017failedwithNoroutetohost"

"

code"

74,

codeName"

NodeNotFound"

则可能是137.20.17.25的防火墙阻止了该服务器的访问,可以关掉防火墙重试。

初始化服务器长期处于SECONDARY状态,而其他服务器长期处于STARTUP状态,如下图所示。

则初始化服务器的防火墙未关闭,可以关掉防火墙重试。

 

查看启动日志:

#cat/var/log/mongodb.log

启动日志显示如下:

#查看集群节点的状态

repset:

PRIMARY>

rs.status();

//执行此命令后,结果显示如下:

set"

date"

ISODate("

2016-12-12T05:

47:

08.656Z"

),

myState"

term"

NumberLong

(1),

heartbeatIntervalMillis"

NumberLong(2000),

optimes"

{

"

lastCommittedOpTime"

ts"

Timestamp(1481521626,1),

t"

NumberLong

(1)

appliedOpTime"

durableOpTime"

},

name"

health"

state"

stateStr"

PRIMARY"

uptime"

7461,

optime"

"

},

optimeDate"

06Z"

electionTime"

Timestamp(1481514256,1),

electionDate"

2016-12-12T03:

44:

16Z"

configVersion"

self"

true

SECONDARY"

7382,

Timestamp(1481521616,1),

optimeDurable"

46:

56Z"

optimeDurableDate"

lastHeartbeat"

06.694Z"

lastHeartbeatRecv"

07.507Z"

pingMs"

NumberLong(0),

syncingTo"

1

06.746Z"

07.666Z"

],

从以上显示结果中可以看出137.20.17.26为主节点PRIMARY,137.20.17.26.27、137.20.17.26.28为副本节点SECONDARY。

七、测试副本集

1、测试副本集数据复制功能

#在主节点137.20.17.26上连接到终端:

mongo137.20.17.26:

#建立test数据库。

usetest;

#往testdb表插入数据。

db.testdb.insert({"

test1"

:

testval1"

})

#查询数据

PRIMARY>

db.testdb.findOne();

//返回结果如下

ObjectId("

584e3c88dcdc3d56c20ff6f2"

),"

}

#在副本节点137.20.17.27、137.20.17.28上连接到mongodb查看数据是否复制过来。

mongo137.20.17.27:

#使用test数据库。

SECONDARY>

usetest;

showtables;

#输出错误结果如下:

2016-12-12T14:

02:

07.479+0800EQUERY[main]Error:

listCollectionsfailed:

notmasterandslaveOk=false"

13435,

NotMasterNoSlaveOk"

#mongodb默认是从主节点读写数据的,副本节点上不允许读,需要设置副本节点可以读。

db.getMongo().setSlaveOk();

#执行如下命令可以查看副本上的数据了

db.testdb.find();

#输出结果如下,数据已经从主节点复制到副本节点了

查看其它副本节点的数据操作同上。

2、测试副本集故障转移功能

先停掉主节点mongodb26,查看27、28的日志可以看到经过一系列的投票选择操作,27当选主节点,28从27同步数据过来。

查看整个集群的状态,可以看到26为状态不可达。

2016-12-12T06:

27:

23.037Z"

NumberLong

(2),

Timestamp(1481524041,1),

NumberLong

(2)

8,

(notreachable/healthy)"

Timestamp(0,0),

NumberLong(-1)

1970-01-01T00:

00:

00Z"

21.288Z"

24:

39.928Z"

lastHeartbeatMessage"

Connectionrefused"

-1

9997,

21Z"

Timestamp(1481523997,2),

26:

37Z"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1