Linux Mongodb
date:2017-11-11
author:张建新
[root@dscn022 mongodb]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 278.5G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 224.9G 0 part
├─rhel-root 253:0 0 50G 0 lvm /
├─rhel-swap 253:1 0 4G 0 lvm [SWAP]
├─rhel-home 253:2 0 100.9G 0 lvm /home
├─rhel-var 253:3 0 20G 0 lvm /var
└─rhel-var_log 253:4 0 50G 0 lvm /var/log
sdb 8:16 0 3.7T 0 disk
└─sdb1 8:17 0 3.7T 0 part /home/hadmin/logs
sdc 8:32 0 3.7T 0 disk
└─sdc1 8:33 0 3.7T 0 part
sdd 8:48 0 3.7T 0 disk
└─sdd1 8:49 0 3.7T 0 part
sde 8:64 0 3.7T 0 disk
└─sde1 8:65 0 3.7T 0 part
sdf 8:80 0 3.7T 0 disk
└─sdf1 8:81 0 3.7T 0 part /home/hadmin/data/mongodb/prev
sdg 8:96 0 3.7T 0 disk
└─sdg1 8:97 0 3.7T 0 part /home/hadmin/data/mongodb/curr
sdh 8:112 0 3.7T 0 disk
└─sdh1 8:113 0 3.7T 0 part /home/hadmin/data/mongodb/next
sdi 8:128 0 3.7T 0 disk
└─sdi1 8:129 0 3.7T 0 part
sdj 8:144 0 3.7T 0 disk
└─sdj1 8:145 0 3.7T 0 part
sdk 8:160 0 3.7T 0 disk
└─sdk1 8:161 0 3.7T 0 part
sdl 8:176 0 3.7T 0 disk
└─sdl1 8:177 0 3.7T 0 part
sdm 8:192 0 3.7T 0 disk
└─sdm1 8:193 0 3.7T 0 part
loop0 7:0 0 3.8G 0 loop /mnt
------- | ------ | ------- | |||
---|---|---|---|---|---|
curr | 1 | 2 | 3 | 4 | 5 |
prev | 5 | 1 | 2 | 3 | 4 |
next | 2 | 3 | 4 | 5 | 1 |
mkdir -p /home/hadmin/data/mongodb/prev
mkdir -p /home/hadmin/data/mongodb/curr
mkdir -p /home/hadmin/data/mongodb/next
mount /dev/sdf1 /home/hadmin/data/mongodb/prev
mount /dev/sdg1 /home/hadmin/data/mongodb/curr
mount /dev/sdh1 /home/hadmin/data/mongodb/next
[root@dscn022 mongodb]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 50G 5.1G 45G 11% /
devtmpfs 126G 0 126G 0% /dev
tmpfs 126G 0 126G 0% /dev/shm
tmpfs 126G 50M 126G 1% /run
tmpfs 126G 0 126G 0% /sys/fs/cgroup
/dev/sda1 494M 127M 368M 26% /boot
/dev/mapper/rhel-var 20G 101M 20G 1% /var
/dev/mapper/rhel-home 101G 1.5G 100G 2% /home
/dev/mapper/rhel-var_log 50G 58M 50G 1% /var/log
/dev/loop0 3.8G 3.8G 0 100% /mnt
tmpfs 126G 64K 126G 1% /tmp
tmpfs 26G 0 26G 0% /run/user/0
/dev/sdb1 3.6T 89M 3.4T 1% /home/hadmin/logs
/dev/sdf1 3.6T 390M 3.4T 1% /home/hadmin/data/mongodb/prev
/dev/sdg1 3.6T 390M 3.4T 1% /home/hadmin/data/mongodb/curr
/dev/sdh1 3.6T 390M 3.4T 1% /home/hadmin/data/mongodb/next
重要 numactl
yum install -y numactl
配置Mongodb用到的文件夹都要mkdir
common.sh
#!/bin/bash
# $1就是shard几
# $2目录,重新规划磁盘后可以修改此处
# $3是关闭位,启动不传,关闭传 --shutdown
INDEX=$1
PORT=$(( 27018 + $INDEX ))
HOSTNAME=`cat /etc/hostname`
SHARD="TOD-Shard-$INDEX"
DB_PATH=" /home/hadmin/data/mongodb/"$2
PID_FILE="/home/hadmin/data/pids/mongodb/$SHARD.pid"
LOG_FILE="/home/hadmin/data/logs/mongodb/$SHARD.log"
numactl --interleave=all /home/hadmin/mongodb/bin/mongod --logpath $LOG_FILE --logappend --logRotate rename --timeStampFormat ctime --fork --pidfilepath $PID_FILE --port $PORT --bind_ip $HOSTNAME --dbpath $DB_PATH --journalCommitInterval 100 --storageEngine wiredTiger --wiredTigerCacheSizeGB 4 --replSet $SHARD --enableMajorityReadConcern --shardsvr --oplogSize 10240 $3
#!/bin/bash
numactl --interleave=all /home/hadmin/mongodb/bin/mongod -f /home/hadmin/mongodb/conf/configserver.conf
#!/bin/bash
/home/hadmin/mongodb/bin/mongos -f /home/hadmin/mongodb/conf/router.conf
#!/bin/bash
/home/hadmin/mongodb/sbin/common.sh 1 curr
#!/bin/bash
/home/hadmin/mongodb/sbin/common.sh 2 next
#!/bin/bash
/home/hadmin/mongodb/sbin/common.sh 5 prev
初始化副本
#!/bin/bash
/home/hadmin/mongodb/bin/mongo dscn022:27018 <
初始化Shard
#!/bin/bash
/home/hadmin/mongodb/bin/mongo dscn022:27017 <
#!/bin/bash
############
# init rs1 #
############
/home/hadmin/mongodb/bin/mongo dscn022:27019 <
common.sh
ConfigServer
名称Route
指定的 ConfigServer地址hosts
breakEval13