mongodb 集群replicat set搭建 linux系统

2023-10-17 06:08

本文主要是介绍mongodb 集群replicat set搭建 linux系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:

服务器:

mongodb1           192.168.1.2       redhat6
mongodb2           192.168.1.3       redhat6

主节点master:192.168.1.2
备节点+仲裁点 slave+arbiter  : 192.168.1.3

安装包:mongodb-linux-x86_64-rhel55-3.2.8.tgz


--192.168.1.2

#安装mongdb软件

cd /mongodb
tar zxf mongodb-linux-x86_64-rhel55-3.2.8.tgz
mkdir mongodbprod
mv mongodb-linux-x86_64-rhel55-3.2.8 /mongodb/mongodb3.2.8

#创建所需数据,日志目录

mkdir data
mkdir log
cd data
mkdir master

#确认端口未占用,mongodb默认27017端口

netstat -tunlp |grep 27017  --查看端口是否被占用

#创建配置文件
cd /mongodb
vi mongodb_master.conf

#master.conf
dbpath=/mongodb/data/master
logpath=/mongodb/log/master.log
pidfilepath=/mongodb/master.pid
directoryperdb=true
logappend=true
replSet=mongodb
bind_ip=192.168.1.2
port=27017
oplogSize=3000
fork=true
noprealloc=true


--192.168.1.3

#安装mongdb软件
cd /mongodb
tar zxf mongodb-linux-x86_64-rhel55-3.2.8.tgz
mkdir mongodbprod
mv mongodb-linux-x86_64-rhel55-3.2.8 /mongodb/mongodb3.2.8

#创建所需数据,日志目录

mkdir data
mkdir log
cd data
mkdir slaver
mkdir arbiter   --创建备节点和仲裁点的data目录

#确认端口未占用

netstat -tunlp |grep 27017  --查看端口是否被占用
netstat -tunlp |grep 27019

--创建配置文件
cd /mongodb/

vi mongodb_slaver.conf

#slaver.conf
dbpath=/mongodb/data/slaver
logpath=/mongodb/log/slaver.log
pidfilepath=/mongodb/slaver.pid
directoryperdb=true
logappend=true
replSet=mongodb
bind_ip=192.168.1.3
port=27017
oplogSize=3000
fork=true
noprealloc=true

vi mongodb_arbiter.conf

#arbiter.conf
dbpath=/mongodb/data/arbiter
logpath=/mongodb/log/arbiter.log
pidfilepath=/mongodb/arbiter.pid
directoryperdb=true
logappend=true
replSet=mongodb
bind_ip=192.168.1.3
port=27019
oplogSize=3000
fork=true
noprealloc=true

/*
dbpath:数据存放目录
logpath:日志存放路径
pidfilepath:进程文件,方便停止mongodb
directoryperdb:为每一个数据库按照数据库名建立文件夹存放
logappend:以追加的方式记录日志
replSet:replica set的名字
bind_ip:mongodb所绑定的ip地址
port:mongodb进程所使用的端口号,默认为27017
oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%
fork:以后台方式运行进程
noprealloc:不预先分配存储
*/

--启动mongodb,进入每个mongodb节点的bin目录下(可以相对路径也可以绝对路径)
./mongod -f /mongodb/mongodb_master.conf  
./mongod -f /mongodb/mongodb_slaver.conf  
./mongod -f /mongodb/mongodb_arbiter.conf  


--配置主,备,仲裁节点
--在1.2上配置
./mongo 192.168.1.2:27017   #ip和port是某个节点的地址  
>use admin  
>cfg={ _id:"mongodb", members:[ {_id:0,host:'192.168.1.2:27017',priority:2}, {_id:1,host:'192.168.1.3:27017',priority:1},   
{_id:2,host:'192.168.1.3:27019',arbiterOnly:true}] };  
>rs.initiate(cfg)             #使配置生效  


--查看状态


mongodb:SECONDARY> rs.status()
{
        "set" : "mongodb",
        "date" : ISODate("2016-10-20T06:03:36.107Z"),
        "myState" : 1,
        "term" : NumberLong(1),
        "heartbeatIntervalMillis" : NumberLong(2000),
        "members" : [
                {
                        "_id" : 0,
                        "name" : "192.168.1.2:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 256,
                        "optime" : {
                                "ts" : Timestamp(1476943394, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2016-10-20T06:03:14Z"),
                        "infoMessage" : "could not find member to sync from",
                        "electionTime" : Timestamp(1476943393, 1),
                        "electionDate" : ISODate("2016-10-20T06:03:13Z"),
                        "configVersion" : 1,
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "192.168.1.3:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 32,
                        "optime" : {
                                "ts" : Timestamp(1476943394, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2016-10-20T06:03:14Z"),
                        "lastHeartbeat" : ISODate("2016-10-20T06:03:35.774Z"),
                        "lastHeartbeatRecv" : ISODate("2016-10-20T06:03:34.334Z"),
                        "pingMs" : NumberLong(0),
                        "syncingTo" : "192.168.1.2:27017",
                        "configVersion" : 1
                },
                {
                        "_id" : 2,
                        "name" : "192.168.1.3:27019",
                        "health" : 1,
                        "state" : 7,
                        "stateStr" : "ARBITER",
                        "uptime" : 32,
                        "lastHeartbeat" : ISODate("2016-10-20T06:03:35.774Z"),
                        "lastHeartbeatRecv" : ISODate("2016-10-20T06:03:35.333Z"),
                        "pingMs" : NumberLong(0),
                        "configVersion" : 1
                }
        ],
        "ok" : 1
        
        
        

 


 

这篇关于mongodb 集群replicat set搭建 linux系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/223433

相关文章

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子