12节点分片集群安装搭建(3.2版)
前提是安装好操作系统(本案例基于rhel6.10),数据库使用的存储可使用(xfs)
一、针对集群的每个节点,都需要创建用户和安装软件的基本操作:
--创建用户和路径
root/root123
groupadd -g 1000 mongodb
useradd -u 1000 -g mongodb mongodb
passwd mongodb
密码:mongodb
mkdir /mongodb
chown mongodb:mongodb /mongodb
--修改原文件系统挂载到/mongodb
vi /etc/fstab
umount /data
mount -a
chown mongodb:mongodb /mongodb
--解压软件:
su - mongodb
cd /mongodb
mkdir data conf soft log
cd soft
mkdir 3.2.22
cd 3.2.22
--先行上传安装包到/mongodb目录
tar -xzvf /mongodb/mongodb-linux-x86_64-rhel62-3.2.22.tgz
cd mongodb-linux-x86_64-rhel62-3.2.22
mv * ../
cd ../
rm -r mongodb-linux-x86_64-rhel62-3.2.22
--添加环境变量
cd
vi .bash_profile
添加
export PATH=$PATH:/mongodb/soft/3.2.22/bin
source .bash_profile
--操作系统参数配置--
vi /etc/hosts
10.10.1.5 MongoDB01
10.10.1.6 MongoDB02
10.10.1.7 MongoDB03
10.10.1.8 MongoDB04
10.10.1.9 MongoDB05
10.10.1.10 MongoDB06
10.10.1.11 MongoDB07
10.10.1.12 MongoDB08
10.10.1.13 MongoDB09
10.10.1.14 MongoDB10
10.10.1.15 MongoDB11
10.10.1.16 MongoDB12
--关闭selinux
setenforce 0
getenforce
vi /etc/selinux/config
SELINUX=disabled
--关闭防火墙:
chkconfig iptables off
chkconfig ip6tables off
service iptables stop
service ip6tables stop
--修改系统参数:
vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 10000 1280000 512 1024
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 4194304
vm.dirty_ratio=20
vm.dirty_background_ratio=3
vm.dirty_writeback_centisecs=100
vm.dirty_expire_centisecs=500
vm.swappiness=10
vm.min_free_kbytes=524288
sysctl -p
--关闭透明大页:
vi /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
--设置mongodb用户的limits
vi /etc/security/limits.conf
mongodb soft nproc 4095
mongodb hard nproc 16384
mongodb soft nofile 8192
mongodb hard nofile 65536
mongodb soft stack 10240
mongodb hard stack 32768
vi /etc/security/limits.d/90-nproc.conf
添加
mongodb soft nproc unlimited
二、mongodb副本集配置(数据节点和配置节点):
su - mongodb
mkdir /mongodb/data/28001
mkdir /mongodb/conf/28001
mkdir /mongodb/log/28001
cd /mongodb/conf/28001
openssl rand -base64 102 > .keyFile
chmod 400 .keyFile
将文件拷到其它节点相同目录下
vi mongo_sh1rs_28001.conf --不同sh的配置文件全称不同
port = 28001
dbpath = /mongodb/data/28001
logpath = /mongodb/log/28001
pidfilepath = /mongodb/data/28001/28001.pid
logappend = true
fork = true
oplogSize = 204800
replSet = SH1RS --其它对应为SH2RS/SH3RS/SH4RS
#keyFile = /mongodb/conf/28001/.keyFile
--启动mongod
numactl --interleave=all mongod -f /mongodb/conf/28001/mongo_sh1rs_28001.conf
--配置副本集
repConfig = {
_id:'SH1RS',
members:[
{_id:0,host:'MongoDB01:28001'},
{_id:1,host:'MongoDB02:28001'},
{_id:2,host:'MongoDB03:28001'}]
}
rs.initiate(repConfig)
rs.status()
<wiz_code_mirror>
x 1
分片本地管理员(该账号仅供特殊本地维护之用,无法从外部mongos登录):
2
SH1RS:PRIMARY> admin = db.getSiblingDB("admin")
3
admin
4
SH1RS:PRIMARY> admin.createUser(
5
...
6
... user"mongoadmin"
7
... pwd"Super**********"
8
... roles role"root" db"admin"
9
...
10
... )
11
Successfully added user
12
"user" "mongoadmin"
13
"roles"
14
15
"role" "root"
16
"db" "admin"
17
18
19
20
21
22
集群层管理员(日常超级账号,可用于创建其它用户,维护管理集群和数据库等,只限管理员使用,不可用于应用连接):
23
mongos> admin = db.getSiblingDB("admin")
24
admin
25
mongos> admin.createUser(
26
...
27
... user"shadmin"
28
... pwd"shSuper**********"
29
... roles role"root" db"admin"
30
...
31
... )
32
Successfully added user
33
"user" "shadmin"
34
"roles"
35
36
"role" "root"
37
"db" "admin"
38
39
40
41
42
43
"shadmin" -p "shSuper**********" --authenticationDatabase "admin" mongodb@MongoDB03 ~ $ mongo 172.1.1.14:28003 -u
44
MongoDB shell version3.2.22
45
connecting to 10.10.1.14 28003/test
46
mongos>
47
48
49
集群管理账号: shadmin 密码:shSuper**********
50
mongos:共配置了三个,10.10.1.14/15/16 端口:28003 任意一个IP均可连接到集群
|
|
来自: python_lover > 《待分类》