七叶笔记 » 数据库 » MongoDB学习以及集群搭建的实践全纪录

MongoDB学习以及集群搭建的实践全纪录

安装mongo

这里统一安装在/usr/local/mongodb下。

首先解压并重命名:

然后在/mongodb下新建几个文件:

这里需要注意下,配置文件中配置的文件路径一定要存在,不然在启动mongo时会出错,mongo启动时也不会自动生成。

接着分配创建配置文件:

主节点:mongodb_master.conf

备份节点:vi mongodb_slave.conf

仲裁点: vi mongodb_arbiter.conf

在使用上只是最基本的配置,实际场景中可以根据自己的业务需求进行配置,其他参数供参考:

--quiet     # 安静输出 --port arg  # 指定服务端口号,默认端口27017 --bind_ip arg   # 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP --logpath arg   # 指定MongoDB日志文件,注意是指定文件不是目录 --logappend     # 使用追加的方式写日志 --pidfilepath arg   # PID File 的完整路径,如果没有设置,则没有PID文件 --keyFile arg   # 集群的私钥的完整路径,只对于Replica Set 架构有效 --unixSocketPrefix arg  # UNIX域套接字替代目录,(默认为 /tmp) --fork  # 以守护进程的方式运行MongoDB,创建服务器进程 --auth  # 启用验证 --cpu   # 定期显示CPU的CPU利用率和iowait --dbpath arg    # 指定数据库路径 --diaglog arg   # diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads --directoryperdb    # 设置每个数据库将被保存在一个单独的目录 --journal   # 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里 --journalOptions arg    # 启用日志诊断选项 --ipv6  # 启用IPv6选项 --jsonp     # 允许JSONP形式通过HTTP访问(有安全影响) --maxConns arg  # 最大同时连接数 默认2000 --noauth    # 不启用验证 --nohttpinterface   # 关闭http接口,默认关闭27018端口访问 --noprealloc    # 禁用数据文件预分配(往往影响性能) --noscripting   # 禁用脚本引擎 --notablescan   # 不允许表扫描 --nounixsocket  # 禁用Unix套接字监听 --nssize arg (=16)  # 设置信数据库.ns文件大小(MB) --objcheck  # 在收到客户数据,检查的有效性, --profile arg   # 档案参数 0=off 1=slow, 2=all --quota     # 限制每个数据库的文件数,设置默认为8 --quotaFiles arg    # number of files allower per db, requires --quota --rest  # 开启简单的rest API --repair    # 修复所有数据库run repair on all dbs --repairpath arg    # 修复库生成的文件的目录,默认为目录名称dbpath --slowms arg (=100)     # value of slow for profile and console log --smallfiles    # 使用较小的默认文件 --syncdelay arg (=60)   # 数据写入磁盘的时间秒数(0=never,不推荐) --sysinfo   # 打印一些诊断系统信息 --upgrade   # 如果需要升级数据库 --fastsync  # 从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步 --autoresync    # 如果从库与主库同步数据差得多,自动重新同步, --oplogSize arg     # 设置oplog的大小(MB) --master    # 主库模式 --slave     # 从库模式 --source arg    # 从库 端口号 --only arg  # 指定单一的数据库复制 --slavedelay arg    #设置从库同步主库的延迟时间

--replSet arg   # 设置副本集名称

--configsvr     # 声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb --shardsvr  # 声明这是一个集群的分片,默认端口27018 --noMoveParanoia    # 关闭偏执为moveChunk数据保存

节点配置完之后就可以启动mongo了,cd到bin目录下:

配置节点

最后,就需要配置主、备、仲裁节点了。首先我们选择一台服务器进行连接:

然后进行配置:

如果不出意外,配置正常生效,基本也就完成了,可以通过rs.status()命令查看相关信息。

到这里,你可以登录数据库测试下成果了,看下正常的数据库操作,主从是否同步了。测试的话这里就不再多说了。

数据备份与还原

简单搭建完集群之后,需要将原来的测试环境数据迁移过来,所以涉及到了mongo的备份与还原。

相对来说还是比较容易的,通过mongodump和mongorestore来实现:

总结

到这里,对于mongo有了一定了解和认识,也基本掌握了搭建和迁移流程,面对三无(无开发,无文档,无注释)的老项目也有点底气了,剩下的时光就要在边看代码边吐槽的日子中渡过啦,想象就心累...

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对七叶笔记的支持。

相关文章