mongo4.0副本集搭建

1 概述
本文包含MongoDB标准化复制集数据库搭建方案。采用3台服务器搭建高可用数据库,服务器的底层分离,分布于三个资源池上。
2 运行环境
部署在三台虚拟机上:
标准化集群
序号 ip 服务器功能
1 资源池1 rep(primary)
2 资源池2 rep(secondary)
3 资源池3 rep(secondary)

3 安装部署
物理机安装需要确保有下列包(Linux 7)
数据库运行所需环境包
lm_sensors-3.1.1-17.el6.x86_64.rpm
lm_sensors-devel-3.1.1-17.el6.x86_64.rpm
lm_sensors-libs-3.1.1-17.el6.x86_64.rpm
net-snmp-5.5-60.el6.x86_64.rpm
net-snmp-libs-5.5-60.el6.x86_64.rpm
net-snmp-utils-5.5-60.el6.x86_64.rpm
xfs格式包
xfsprogs-3.1.1-10.el6.x86_64.rpm (Mongo建议磁盘使用xfs格式)
执行:
yum install net-snmp -y
yum install libnetsnmpmibs.* -y
格式化盘符
pvcreate /dev/sdb
vgcreate datavg /dev/sdb
lvcreate -l 100%FREE -n data_lv datavg
mkfs.xfs /dev/mapper/datavg-data_lv
mount /dev/mapper/datavg-data_lv /mgdata
vi /etc/fstab (配置磁盘开机自动挂载)
/dev/mapper/datavg-data_lv /mgdata xfs defaults 0 0
关闭transparent_hugepage(同时写进rc.local)
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
写进开机自启动
echo “” >> /etc/rc.local
echo “echo never > /sys/kernel/mm/transparent_hugepage/enabled” >> /etc/rc.local
echo “echo never > /sys/kernel/mm/transparent_hugepage/defrag” >> /etc/rc.local
修改HOSTNAME
vi /etc/hosts
ip1 host1
ip2 host2
ip3 host3
配置三台服务器之间的域名解析
groupadd mongod
useradd mongod -g mongod
passwd mongod
密码自订
3.3 配置mongod用户SHELL限制
vi /etc/security/limits.conf
mongod soft nofile 65536
mongod hard nofile 65536
mongod soft nproc 32768
mongod hard nproc 32768
3.4 创建目录
数据库软件目录
mkdir /mongodb (存放DB介质)
数据库文件目录(按服务器功能创建对应目录)
mkdir –p /mgdata/conf (存放DB参数文件)
/mgdata/data
/mgdata/log
chown -R mongod:mongod /mongodb /mgdata
chmod -R 755 /mgdata
3.5 配置环境变量
vi /etc/profile
export PATH=$PATH:/mongodb/mongodb/bin
3.6 安装软件
cd /mongodb
tar zxvf mongodb-linux-x86_64-enterprise-rhel62-3.4.10.tgz
mv mongodb-linux-x86_64-enterprise-rhel62-3.4.10 mongodb
3.7 参数文件配置
sudo -u mongod vi /mgdata/conf/db.conf
systemLog:
destination: file
path: /mgdata/log/db.log
storage:
journal:
enabled: true
dbPath: /mgdata/data
directoryPerDB: true
engine: wiredTiger
wiredTiger:
engineConfig:
directoryForIndexes: true
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
net:
port: 27017
bindIp: 0.0.0.0
replication:
oplogSizeMB: 20480
replSetName: rep(复制集名,一般按业务简称设置 不一样)
processManagement:
fork: true
security:
keyFile: /mgdata/conf/keyfile
3.8 配置Keyfile
生成并配置keyfile
生成keyfile:在任何一台服务器执行如下步骤
su - mongod
openssl rand -base64 741 > /mgdata/conf/keyfile
chmod 600 /mgdata/conf/keyfile

分发到各主机
scp /mgdata/conf/keyfile mongod@ip:/mgdata/conf/keyfile

3.9 初始化replicate set
启动所有DB进程
mongod -f /mgdata/conf/db.conf

数据库对应关系并初始化
mongo localhost:27017/admin
config = {_id: ‘rep’, members: [
{_id: 0, host: ‘host1:27017’},
{_id: 1, host: ’ host2:27017’},
{_id: 2, host: ’ host3:27017’}]
}
rs.initiate(config)

3.10 创建管理员账号
use admin
db.createUser(
{
user: “root”,
pwd: “***”,
roles: [ { role: “root”, db: “admin” } ]
}
)
db.auth(“root”,"***") 测试连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值