172.31.10.160 至 164 五个虚机上搭建mongodb集群,版本3.0,
#端口port = 27017
#为每个数据库创建一个单独目录directoryperdb=true
#副本replSet=rs0
环境与mongo包
ip: 172.31.10.160-164
OS:centos 6.5
mongo:3.0.4
download rmp package:
https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.0/x86_64/RPMS/
Install MongoDB
1 Configure the package management system (yum).
Create a /etc/yum.repos.d/mongodb-org-3.0.repo file so that you can install MongoDB directly, using yum.
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1
2,
Install the MongoDB packages and associated tools.
To install the latest stable version of MongoDB, issue the following command:
sudo yum install -y mongodb-org
3, 注意包与os一定要选好,否则会装不上
rpm -ivh mongodb-org-server-3.0.4-1.el6.x86_64.rpm
rpm -ivh mongodb-org-mongos-3.0.4-1.el6.x86_64.rpm
rpm -ivh mongodb-org-shell-3.0.4-1.el6.x86_64.rpm
rpm -ivh mongodb-org-3.0.4-1.el6.x86_64.rpm
rpm -ivh mongodb-org-tools-3.0.4-1.el6.x86_64.rpm
4, /etc/init.d/mongod start
5,设置开机自动启动mongo,开机关防火墙
chkconfig --level 2345 iptables off
chkconfig --level 2345 mongod on
chkconfig iptables off
6,创建数据与日志目录
mkdir -p /data/mongodb/data
mkdir -p /data/mongodb/log
chown -R mongod:mongod /data/mongodb
chmod -R 755 /data/mongodb
6, /etc/mongod.conf
logpath=/data/mongodb/log/mongod.log
logappend=true
fork=true
dbpath=/data/mongodb/data
pidfilepath=/data/mongodb/mongod.pid
rest=true
replSet=rs0
#bind_ip=127.0.0.1 #一事实上要注释掉
7,
3.1,修改/etc/hosts
172.31.10.160 sjsa-zookeeper01
172.31.10.161 sjsa-zookeeper02
172.31.10.162 sjsa-zookeeper03
172.31.10.163 sjsa-zookeeper04
172.31.10.164 sjsa-zookeeper05
8, 配置replset
mongo 127.0.0.1:27017
>use admin
> config = { "_id" : "rs0","members" :
[ {"_id" : 1, "host" : "172.31.10.160:27017",priority:3},
{"_id" : 2, "host" : "172.31.10.161:27017",priority:2},
{"_id" : 3, "host" : "172.31.10.162:27017",priority:2},
{"_id" : 4, "host" : "172.31.10.163:27017",priority:2},
{"_id" : 5, "host" : "172.31.10.164:27017",priority:2}
]
}
初始化:rs.initiate(config);
查看replica set状态的命令:
rs.status()
查看replica set配置的命令:
rs.conf()
查看服务节点是否为Primary的命令:
db.isMaster();
问题 【Mongodb】3.0版本源码启动方式疑问!
* WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-07-16T17:24:44.426+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-07-16T17:24:44.427+0800 I CONTROL [initandlisten]
2015-07-16T17:24:44.427+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-07-16T17:24:44.427+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-07-16T17:24:44.427+0800 I CONTROL [initandlisten]
2015-07-16T17:24:44.427+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 63535 files. Number of processes should be at least 31767.5 : 0.5 times number of files.
2015-07-16T17:24:44.427+0800 I CONTROL [initandlisten]
解决方法:
系统环境:Centos 7.0 x64
用户:root
这是一个在root身份下运行源码Mongodb的warning,我们先不讨论第一个警告!
剩下3个警告都比较好解决和理解!
echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
# mongo
MongoDB shell version: 3.0.2
connecting to: test
Server has startup warnings:
2015-05-09T12:34:19.688-0700 I CONTROL [initandlisten]
2015-05-09T12:34:19.688-0700 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
>
mongodb当前限制:1024 processes, 64000 files
mongodb建议要求:processes = 0.5*files=32000(至少)
所以需要将 processes 从1024 改为 32000 或更大.
查看当前mongodb进程信息:
[root@localhost ~]# ps -ef | grep mongod
mongod 24283 1 0 12:35 ? 00:00:04 /usr/bin/mongod -f /etc/mongod.conf
root 24240 22049 0 12:45 pts/2 00:00:00 grep mongod
修改 Max processes 或者 files ,有几种方法:
方法一:
[root@localhost ~]# vi /etc/security/limits.d/90-nproc.conf
* soft nproc 1024
改为:
* soft nproc 32000
重启 mongod 服务:
[root@localhost ~]# service mongod restart
方法二:
修改配置文件 /etc/security/limits.conf,添加配置信息:
[root@localhost ~]# vi /etc/security/limits.conf
mongod soft nofile 64000
mongod hard nofile 64000
mongod soft nproc 32000
mongod hard nproc 32000
重启 mongod 服务:
[root@localhost ~]# service mongod restart
也可以查看 limits.conf 更多配置信息和使用方法:
[root@localhost ~]# man limits.conf
查看系统限制:
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 14833
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 14833
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited




