转载自 http://www.mongoing.com/archives/3573原文:http://www.cnblogs.com/wangshouchang/p/6919942.html
MongoDB高可用集群搭建
一、环境准备# 启动时需要使用非root用户,所有创建一个mongo用户:
useradd mongo# 为mongo用户添加密码:
echo 123456 | passwd --stdin mongo# 将mongo添加到sudoers
echo "mongo ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/mongo
chmod 0440 /etc/sudoers.d/mongo
#解决sudo: sorry, you must have a tty to run sudo问题,在/etc/sudoer注释掉 Default requiretty 一行
sudo sed -i ‘s/Default...
。二是因为它与大型的关系型数据库相比有很多优势,比如查询快速、bson存储结构利于扩展、免费等。
解决方案
整合mongodb和log4j
1、安装mongodb数据库,并在本地启动,默认端口是27017,详细请参考:玩转mongodb(一):初识mongodb
2、新建一个maven(maven版本要求3.0以上)工程,选择maven-archetype-quickstart,工程名:log4j2mongo
3、在pom.xml文件中,添加log4j、log4mongo-java、mongo-java-driver三个依赖。具体代码如下...
; 下面是测试代码,首先是按帖子id来查询相应数量(基于分组查询实例方式): public partial class getfile : System.Web.UI.Page { public Mongo Mongo { get; set; } public IMongoDatabase DB { get { return this.Mongo["dnt_mongodb"]; } } /// <summary> /// Sets up the test environment. You can eith...
GridFS是MongoDB之上的分布式文件系统,其利用了MongoDB的分布式存储机制并通过MongoDB来存储文件数据和文件元数据,兼具文档型数 GridFS是MongoDB之上的分布式文件系统,其利用了MongoDB的分布式存储机制并通过MongoDB来存储文件数据和文件元数据,兼具文档型数据库和文件系统的优势。GridFS是当前大数据潮流和复杂数据分析需求的产物。 简单来说,GridFS通过将文件数据和文件元数据保存在MongoDB里来实现文件系统,通过复制(Repl...
上一篇《Elasticsearch与MongoDB 数据同步及分布式集群搭建 (一)》我们已经配置了一个Elasticsearch与MongoDB 数据同步高可用,可扩展以及分布式是ES的一个优势和特色,扩展垂直扩展或者向上扩展,VerticalScale/Scaling Up,或是水平扩展或者向外扩展,Horizontal Scale/Scaling Out。一个节点会运行一个ES的实例,一个集群则会包含拥有相同cluster.name的一个或者多个节点,这些节点共同工作来完成数据共享和负载分担。随着节点...
前面3篇博客讲了mongodb的分布式和集群,其中第一种的主从复制我们几乎不用,没有什么意义,剩下的两种,我们不论单独的使用哪一个,都会出现相应的问题,比较好的一种解决方案就是,分片和副本集的集合使用,这样就比较完美了。部署图
在这里,我们需要注意,我们mongos服务器配置成了集群,所以,我们需要在客户端上分别得添加相应的地址,这个和在副本集的那篇博客中将的内容一样,在java客户端程序的具体核心代码,在...
关于分布式集群的概念有很多的解释,我比较倾向于“分布式集群”为两个概念,即,分布式是一个概念,集群是另一概念。
分布式是把一个整体系统分成多个部分,分别部署到不同的服务器上,然后由中心服务器统一控制,形成的一个对外来说为一个整体的系统。集群是把一个整体,整体的分别部署到多个服务器上的结果。
分布式和集群都是部署上的现象的描述,都涉及到多台服务器的部署,这是分布式和集群相同的地方,当然,...
上面两篇博客都是关于mongodb的集群的配置,没有涉及到分布式,该片博客就是写mongodb的分布式,把一个整体,分成多个片,每个片部署到不同的服务器上,这个就是mongodb的分布式,即:mongodb的分片操作。部署图
mongos服务器做的是路由服务器,config服务器就是保存相应配置的服务器,shard1和shard2就是分片服务器,这两个服务器合在一起才是一个整体,而mongos服务器就是他们的和点,所以,我们客户端只需要和mo...
副本集是主从复制的一种,是一种自带故障转移功能的主从复制,解决了上述主从复制的缺点,实现主服务器发生故障后,不需人为介入,系统自动从新选举一个新的主服务器的功能。部署图
该图是copy别人的,有兴趣的可以查看该人的博客,写的非常的棒副本集配置
<strong> </strong> //启动服务器(登录每台服务器)mongod --dbpath d:/data/ --replSet repset//初始化副本集(登录任意一台服务器)config = { _id:"repset",...
副本集是主从复制的一种,是一种自带故障转移功能的主从复制。攻克了上述主从复制的缺点。实现主server发生问题后。不需人为介入。系统自己主动从新选举一个新的主server的功能。部署图
该图是copy别人的,有兴趣的能够查看该人的博客,写的很的棒副本集配置
<strong> </strong> //启动server(登录每台server)mongod --dbpath d:/data/ --replSet repset//初始化副本集(登录随意一台server)config = { _id:"repset...
关键字:Replica-Set Shard 副本 分片 鉴权 KeyFile authMongoDB根据部署的不同,有两种添加鉴权的方式,分别是单实例的鉴权方式和KeyFile的鉴权方式。两种方式的共同点都是,先在没有鉴权的情况下创建超级用户,然后再以鉴权的方式重启实例。下面分别介绍这两种方式。
1 单实例的鉴权部署这种方式比较简单,步骤如下:
1.1 启动MongoDBmongod --logpath ./test.log -dbpath ./data --port 8765 --fork
1.2 添加超级用户use admind...
如果在数据存储区中找到会话项数据但该数据已锁定,则 GetItemExclusive 方法将 locked 输出参数设置为 true,将 lockAge输出参数设置为当前日期和时间与该项锁定日期和时间的差,将 lockId 输出参数设置为从数据存储区中检索的锁定标识符,并返回 null。这将导致 SessionStateModule 隔半秒后再次调用 GetItemExclusive 方法,以尝试检索会话项信息和获取对数据的锁定。如果 lockAge 输出参数的设置值超过 ExecutionTimeout 值,S...
Mongodb存在三种级别的分布式配置:主从配置、集群配置以及集群分片配置,建议我们采用集群配置。
主从配置启动主服务器: mongod.exe --dbpath ..\db --port 27017 –master
启动若干个从服务器:mongod.exe --slave --source 127.0.0.1:27017 --dbpath ..\db2 --port 27018,source后面是主服务器的地址和端口号。这种方式简单灵活,可用于备份、故障恢复,读扩展。为了平衡负载,一般通过读写分离模式,即主库写、从库读。缺...
转载自 http://www.mongoing.com/archives/3573MongoDB 分布式架构 复制 分片 适用性范围标签:分布式架构 hive arc ec2 bsp https http mon cab 本文系统来源:http://www.cnblogs.com/wangshouchang/p/6919942.html