1、解压monogodb包并将解压出的bin目录拷贝到指定目录下
[root@localhost local]# tar xf mongodb-linux-x86_64-rhel70-3.6.20.tgz
[root@localhost local]# cp -R bin/ /opt/mongodb
2、关闭大页内存机制
[root@localhost local]# vim /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
###临时关闭:
[root@localhost local]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@localhost local]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
3、创建所需用户
[root@localhost conf]# useradd mongod
[root@localhost conf]# passwd mongod
4、创建所需目录并分配权限
[root@localhost local]# mkdir -p /data/mongodb/28017{8\9\20}/conf
[root@localhost local]# mkdir -p /data/mongodb/28017{8\9\20}/log
[root@localhost local]# mkdir -p /data/mongodb/28017{8\9\20}/data
[root@localhost local]# chown -R mongod.mongod /data
5、登录mongod用户设置用户私有环境变量
[root@localhost local]# su mongod
[root@localhost local]# vim ~/.bash_profile
export PATH=/usr/local/mongodb/bin:$PATH
[root@localhost local]# source .bash_profile
6、编辑多套配置文件
###每个节点都要配置,注意修改ip及端口
[mongod@localhost 28018]$ vim /data/mongodb/28017/conf/mongod.conf
systemLog:
destination: file
path: /data/mongodb/28017/log/mongodb.log
logAppend: true
storage:
journal:
enabled: true
dbPath: /data/mongodb/28017/data
directoryPerDB: true
#engine: wirtedTiger
###mongodb的存储引擎,类似与innodb,具备事务功能
wiredTiger:
engineConfig:
###设置缓冲区大小,核心的内存区域
cacheSizeGB: 1
directoryForIndexes: true
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: true
processManagement:
fork: true
net:
bindIp: 192.168.1.39,127.0.0.1
port: 28017
###复制集配置
replication:
###mongodb用表来存储日志,设置存储大小为2G
oplogSizeMB: 2048
###复制集群名称
replSetName: my_repl
7、启动多个节点
[mongod@localhost 28018]$ mongod -f /data/mongodb/28017/conf/mongod.conf
8、查看服务端口
[mongod@localhost 28018]$ netstat -lnp|grep 280
9、登录任意节点配置复制集
[mongod@localhost 28018]$ mongo --port 28017 admin
###一主一从一arbiter
config={
"_id" : "my_repl",
"members" : [
{
"_id" : 0,
"host" : "192.168.1.39:28017"
},
{
"_id" : 1,
"host" : "192.168.1.39:28018"
},
{
"_id" : 2,
"host" : "192.168.1.39:28019",
"arbiterOnly" : true
}
]
}
rs.initiate(config)
###查看复制集状态
rs.status()
###查看复制集配置信息
rs.conf()