IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

MongoDB主从复制(master–>slave)环境搭建

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

导读:

MongoDB一直都不推荐使用主从复制方式进行数据同步,而是推荐复制集(replicate set),相对于主从同步,复制集有更多优秀的功能,如自动故障转移等,但是,既然MongoDB到4.2版本还保留着该功能,我们不妨探索一下。

基础信息

IP地址 操作系统版本 数据库版本 作用
192.168.10.71 centos7.4 mongo 2.7.1 主节点(Master)
192.168.10.72 centos7.4 mongo 2.7.1 从节点(Slave)

(一)MongoDB安装

MongoDB每个版本的安装方法都差不多,安装见:Linux下安装MongoDB 4.2数据库–使用tar包方式

(二)MongoDB主从环境配置

对于主从配置,相对于其它数据库而言,MongoDB的配置非常简单,只需要配置参数文件即可。

主节点:192.168.10.71 从节点:192.168.10.72
“`
ppend</span>=<span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">

rk and run </span><span style="color: rgb(0, 0, 255);">in</span><span style="color: rgb(0, 0, 0);"> background
</span>=<span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">

</span>=<span style="color: rgb(128, 0, 128);">27017</span><span style="color: rgb(0, 0, 0);">
th</span>=/mongo/<span style="color: rgb(0, 0, 0);">data

cation of pidfile
ilepath</span>=/mongo/<span style="color: rgb(0, 0, 0);">mongod.pid

sten to local interface only. Comment out to listen on all interfaces.
_ip</span>=<span style="color: rgb(128, 0, 128);">0.0</span>.<span style="color: rgb(128, 0, 128);">0.0</span><span style="color: rgb(0, 0, 0);">
er</span>=<span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">
ile</span>=/mongo/mongodb-<span style="color: rgb(0, 0, 0);">keyfile
“`

“`
ppend</span>=<span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">

rk and run </span><span style="color: rgb(0, 0, 255);">in</span><span style="color: rgb(0, 0, 0);"> background
</span>=<span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">

</span>=<span style="color: rgb(128, 0, 128);">27017</span><span style="color: rgb(0, 0, 0);">
th</span>=/mongo/<span style="color: rgb(0, 0, 0);">data

cation of pidfile
ilepath</span>=/mongo/<span style="color: rgb(0, 0, 0);">mongod.pid

sten to local interface only. Comment out to listen on all interfaces.
_ip</span>=<span style="color: rgb(128, 0, 128);">0.0</span>.<span style="color: rgb(128, 0, 128);">0.0</span><span style="color: rgb(0, 0, 0);">
resync</span>=<span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">
e</span>=<span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">
ce</span>=<span style="color: rgb(128, 0, 128);">192.168</span>.<span style="color: rgb(128, 0, 128);">10.71</span>:<span style="color: rgb(128, 0, 128);">27017</span><span style="color: rgb(0, 0, 0);">
ile</span>=/mongo/mongodb-<span style="color: rgb(0, 0, 0);">keyfile
“`

特别注意:

  • 主节点需要配置:master=true参数;
  • 从节点需要配置:slave=true参数和source参数,source参数指定master数据库的IP及端口;
  • 如果启用了用户登录验证auth=true,那么还需要配置KeyFile参数,主从才能正常同步;
  • 从节点的autoresync=true是一个可选参数。主从同步的本质是主节点将重做日志(存放在local数据库下的oplog.$main集合中)传输到从节点,从节点再次根据日志执行一遍。但是oplog.$main是一个上限集合,如果主节点的日志还未拷贝到从节点就发生了日志覆盖,此时管理员必须手动重新搭建复制环境,假如使用了autoresync=true参数,当主从不同步时,从库将在10分钟内自动尝试重新同步一次。
  • oplogSize参数可以用来指定oplog.$main集合的最大空间尺寸,如果未指定mongod将在启动时分配5%的可用磁盘空间给oplog。

(三)keyFile注意事项

当启用用户身份认证时,主从节点需要配置keyfil文件以便于主从节点可以正常通信,keyfile的配置见上面的mongoDB配置文件,这里讲一下如何生产keyfile。

在一台服务器上生成keyfile,并且将权限改为600

openssl rand -base64 745 > /mongo/mongodb-keyfile 
chmod 600 /mongo/mongodb-keyfile

将这个文件拷贝到其它节点上即可,需要注意,各个节点的权限需要保持一致。

遇到的问题:

在创建完keyfile并在配置文件中加入参数后,启动MongoDB,发现无法启动:

[root@mongo1 mongo]# mongod -f /mongo/mongodb.conf 
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
about to fork child process, waiting until server is ready for connections.
forked process: 2173
ERROR: child process failed, exited with error number 1

查看MongoDB错误日志,报错如下:

[root@mongo1 log]# tail -f mongod.log 
2020-06-18T21:20:13.900+0800 invalid char in key file /mongo/mon-keyfile: =

打开keyfile,发现在文件末尾有2个“=”,删除2个等号之后,MongoDB启动正常。需要留意,该操作改变了feyfile的内容,需要重新同步到其它节点。

【完】

文章永久链接:https://tech.souyunku.com/?p=35435


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(66) 打赏



未经允许不得转载:搜云库技术团队 » MongoDB主从复制(master–>slave)环境搭建

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367