广告
返回顶部
首页 > 资讯 > 数据库 >MongoDB Replica Set搭建
  • 256
分享到

MongoDB Replica Set搭建

2024-04-02 19:04:59 256人浏览 八月长安
摘要

第0部分 业务信息业务名称: xyz端口号: 28017第1部分 准备环境创建mongoDB用户# useradd monGodb创建数据目录# mkdir -pv /data1/mongodb/28017

第0部分 业务信息


业务名称: xyz

端口号: 28017



第1部分 准备环境


创建mongoDB用户

# useradd monGodb


创建数据目录

# mkdir -pv /data1/mongodb/28017/data

# chown -R mongodb.mongodb /data1/mongodb/28017/data/


创建配置, 日志文件目录

# mkdir -pv /home/mongodb/mongodb/xyz/28017/{conf,logs,pid}


准备配置文件

# cat /home/mongodb/mongodb/xyz/28017/conf/mongodb.conf

##General options

port = 28017

maxConns = 1024

logpath = /home/mongodb/mongodb/xyz/28017/logs/mongodb.log

logappend = false

logRotate = rename

timeStampFORMat = iso8601-local

pidfilepath = /home/mongodb/mongodb/xyz/28017/pid/mongodb.pid

#keyFile = /home/mongodb/mongodb/xyz/28017/conf/mongodb.key

Httpinterface = false

nounixSocket = true

fork = true

#auth = true

slowms = 100

profile = 1


##Replication options

oplogSize = 5120


##Replica set options

replSet = xyz


##Storage options

storageEngine = wiredTiger

dbpath = /data1/mongodb/28017/data/

directoryperdb = true

journal = true


##WiredTiger options

wiredTigerCacheSizeGB = 5


# chown -R mongodb.mongodb /home/mongodb/mongodb/xyz/28017/{conf,logs,pid}



第2部分 调整操作系统参数


切换到mongodb用户.

# su - mongodb


启动mongodb进程.

$ /usr/local/mongodb/bin/mongod --config /home/mongodb/mongodb/xyz/28017/conf/mongodb.conf


根据日志提示的WARNING, 调整操作系统参数.

$ cat /home/mongodb/mongodb/xyz/28017/logs/mongodb.log

2018-11-07T17:03:40.974+0800 I CONTROL  [initandlisten]

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten] ** WARNING: You are running on a NUMA Machine.

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten] **          We suggest launching mongod like this to avoid performance problems:

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten] **              numactl --interleave=all mongod [other options]

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten]

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten]

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten]

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 32000 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files.

2018-11-07T17:03:40.975+0800 I CONTROL  [initandlisten]


调整系统参数

# echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled

# echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag


# tail -n 4 /etc/security/limits.conf

mongodb soft nofile 64000

mongodb hard nofile 64000

mongodb soft nproc 64000

mongodb hard nproc 64000


关闭mongodb进程.

$ /usr/local/mongodb/bin/mongo --port 28017 --host localhost

MongoDB shell version v3.4.3

connecting to: mongodb://localhost:28017/

MongoDB server version: 3.4.3

> use admin

switched to db admin


> db.shutdownServer()

server should be down...


再次启动mongodb进程.

$ numactl --interleave=all /usr/local/mongodb/bin/mongod --config /home/mongodb/mongodb/xyz/28017/conf/mongodb.conf



第3部分 初始化副本集


保持开启replSet, 关闭keyFile和auth参数.

$ /usr/local/mongodb/bin/mongo --port 28017 --host localhost

> config = {_id: "xyz", members: [{_id: 0, host: "192.168.1.157:28017"}, {_id: 1, host: "192.168.1.158:28017"}, {_id: 2, host: "192.168.1.159:28017"}]}

{

"_id" : "xyz",

"members" : [

{

"_id" : 0,

"host" : "192.168.1.157:28017"

},

{

"_id" : 1,

"host" : "192.168.1.158:28017"

},

{

"_id" : 2,

"host" : "192.168.1.159:28017"

}

]

}


> rs.initiate(config)

{ "ok" : 1 }


创建管理用户

xyz:PRIMARY> use admin

switched to db admin


xyz:PRIMARY> db.createUser({user: "root", pwd: "root_passWord", roles: [{role: "root", db: "admin"}]})

Successfully added user: {

"user" : "root",

"roles" : [

{

"role" : "root",

"db" : "admin"

}

]

}


关闭mongodb进程, 准备key文件.

$ echo 'L6rE59OEHWGeQAIIZHy3uXNj1cxu9lFuCJxZSejf' > /home/mongodb/mongodb/xyz/28017/conf/mongodb.key


$ chmod 600 /home/mongodb/mongodb/xyz/28017/conf/mongodb.key


开启keyFile和auth参数, 启动mongodb进程, 登陆.

$ /usr/local/mongodb/bin/mongo --port 28017 --host localhost --username root --password root_password --authenticationDatabase admin



第4部分 部署业务


创建业务用户

xyz:PRIMARY> use abc

switched to db abc


xyz:PRIMARY> db.createUser({user : "abc_user", pwd : "xyzabc", roles : [{role : "readWrite", db : "abc"}]})

Successfully added user: {

"user" : "abc_user",

"roles" : [

{

"role" : "readWrite",

"db" : "abc"

}

]

}


业务用户abc_user登陆.

$ /usr/local/mongodb/bin/mongo --port 28017 --host localhost --username abc_user --password xyzabc --authenticationDatabase abc

xyz:PRIMARY> db

test


xyz:PRIMARY> use abc

switched to db abc


xyz:PRIMARY> db.tt.insert({"name" : "abc"})

WriteResult({ "nInserted" : 1 })


xyz:PRIMARY> show collections

tt


xyz:PRIMARY> db.tt.find()

{ "_id" : ObjectId("5be3ffb4832bb6db59e4e60f"), "name" : "abc" }


若感兴趣可关注订阅号”数据库最佳实践”(DBBestPractice).

MongoDB Replica Set搭建

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB Replica Set搭建

本文链接: https://www.lsjlt.com/news/41916.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MongoDB Replica Set搭建
    第0部分 业务信息业务名称: xyz端口号: 28017第1部分 准备环境创建mongodb用户# useradd mongodb创建数据目录# mkdir -pv /data1/mongodb/28017...
    99+
    2022-10-18
  • MongoDB搭建Replica Set复制集
      1、在MongoDB的同级安装目录下创建数据目录,目录结构如下:        /data/rs0...
    99+
    2022-10-18
  • 如何搭建mongodb架构Replica Set&Sharding—ttlsa
    本篇文章给大家分享的是有关如何搭建mongodb架构Replica Set&Sharding—ttlsa,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小...
    99+
    2022-10-18
  • 【Mongodb】如何创建mongodb的replica set
    Replica sets 在主从复制上做的扩展,增加了故障自动切换和自动修复成员节点。下面从技术上介绍如何搭建mongodb的replica set (个人觉得,搭建mongodb本身没有多少干货,重要是如...
    99+
    2022-10-18
  • MongoDB Replica Set排错
    1.检查Replica Set的状态使用db.runCommand({"replSetGetStatus" : 1});或者rs.status();2.检查复制延迟时间source:  ...
    99+
    2022-10-18
  • MongoDB Replica Set 部署
    在生产中使用MongoDB, 为了数据安全性和访问稳定性. 副本集是经常被使用到的.书接上回, 话说MongoDB副本集已经安装过很多次了.但是每次都要去 百度 具体命令细节.只好自己整理笔记,记录下来,以...
    99+
    2022-10-18
  • mongodb 2.4 不同server节点的replica set 搭建过程(二)
    上篇文章已经详细的介绍了replica set的搭建过程,这篇文章主要对故障的自动切换、节点的增、删、改进行介绍http://1413570.blog.51cto.com/1403570/1337619 m...
    99+
    2022-10-18
  • mongodb 2.4 不同server节点的replica set 搭建过程(一)
    Mongodb支持在多个机器中通过异步复制达到故障转移和实现冗余,多机器之间同一时刻只有一台是用于写操作,正是由于这个特性,为mongodb提供了数据一致性的保证,担当primary角色的机器能把读操作分发...
    99+
    2022-10-18
  • MongoDB Replica Set 副本集
    1、简介MongoDB复制是将数据同步在多个服务器的过程,类似MySQL Replication是一种异步复制;复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的...
    99+
    2022-10-18
  • Mongodb replica set模式篇
    复制集架构图:三节点replicaset配置安装(无仲裁节点):Replica set 【10.10.20.161-10.10.20.163】10.10.20.161-10.10.20.163这三台按下面的...
    99+
    2022-10-18
  • MongoDB Replica Sets该怎样搭建
    本篇文章给大家分享的是有关MongoDB Replica Sets该怎样搭建,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  无论我们学习什么...
    99+
    2022-10-18
  • Mongodb Replica Set 读写分离
    环境:mongodb版本:2.4.6,Replica Set需求:primary压力过大,期望secondary分担读压力前言    从应用程序角度来看,使用Replica Set 和使...
    99+
    2022-10-18
  • 实战MongoDB-Replication之Replica Set
    实战MongoDB Master-Slave   MongoDB支持不同服务之间的异步的数据复制,来实现failover(故障转移,故障切换,故障恢复) and redundancy(数据冗余)。...
    99+
    2022-10-18
  • [MongoDB] 复制策略 - Replica Set 副本集
    ...
    99+
    2022-10-18
  • 【Mongodb】 Replica set的自动故障切换
    Replica set 为我们提供了自动故障切换功能,这个机制是由mongodb自己来操作的,它根据从库的优先级或者数据新鲜度(也就是最新的从主库同步数据的那个节点)来选择primary,而当以前的prim...
    99+
    2022-10-18
  • mongodb replica set 副本集 安装部署(三)
    1.节点类型         简单的说副本集(replica set)就是有自动故障恢复功能的主从集群,主从集群和副本集最为明...
    99+
    2022-10-18
  • MongoDB Replica Set使用经验分享理论篇
    MongoDB Replica Set是MongoDB官方推荐的主从复制和高可用方案,用于替代原有的Master-Slave主从复制方案。Replicat Set具有自动切换功能,当Primary挂掉之后,...
    99+
    2022-10-18
  • MongoDB添加仲裁节点报错replica set IDs do not match怎么办
    这篇文章将为大家详细讲解有关MongoDB添加仲裁节点报错replica set IDs do not match怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。背景...
    99+
    2022-10-18
  • mongodb搭建
    最新版mongodb3.0的搭建,最简单的是新建mongodb-org-3.0.repo的yum源(官网www.mongodb.org)  [root@n2 ~]# cat /etc/yum.re...
    99+
    2022-10-18
  • mongodb之sharding搭建
    mongodb版本3.2.7资源划分:192.168.1.11:27017----》config server192.168.1.11:27018----》mongos192.168.1.11:27019-...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作