当前位置: 首页 > news >正文

设计感网站有哪些方面山东省建设项目监理协会网站

设计感网站有哪些方面,山东省建设项目监理协会网站,在哪家网站做淘宝客最好,移动网站开发教材MongoDB集群的介绍与搭建 一.MongoDB集群的介绍 注意#xff1a;Mongodb是一个比较流行的NoSQL数据库#xff0c;它的存储方式是文档式存储#xff0c;并不是Key-Value形式#xff1b; 1.1集群的优势和特性 MongoDB集群的优势主要体现在以下几个方面#xff1a; (1)高…MongoDB集群的介绍与搭建 一.MongoDB集群的介绍 注意Mongodb是一个比较流行的NoSQL数据库它的存储方式是文档式存储并不是Key-Value形式 1.1集群的优势和特性 MongoDB集群的优势主要体现在以下几个方面 (1)高可用性 MongoDB集群支持主从复制和故障转移机制这确保了数据的高可用性和冗余性。当主节点出现故障时集群可以自动切换到从节点保证系统的持续运行。这种故障转移能力对于维护系统的稳定性和可靠性至关重要。 (2)扩展性 MongoDB集群具有出色的扩展性可以通过水平扩展来增加系统的处理能力和存储容量。随着数据量的增加和访问压力的增大只需简单地添加新的节点即可轻松应对。这种扩展性使得MongoDB集群能够适用于各种规模的数据存储和处理需求。 (3)数据分片 MongoDB集群支持数据分片功能可以将数据划分为多个分片并部署在不同的节点上。这种数据分片机制不仅提高了系统的读写性能还提供了更大的存储容量。MongoDB能够根据数据的分布情况自动将查询请求分发到相应的分片上进行处理从而进一步优化了系统的性能。 (4)弹性伸缩 MongoDB集群具有弹性伸缩的能力可以根据系统的负载情况进行自动调整。当负载过高时可以添加更多的节点来分担压力当负载较低时可以减少节点数量以节省资源。这种弹性伸缩机制使得MongoDB集群能够灵活地应对各种负载变化保持系统的稳定性和性能。 (5)灵活性 MongoDB集群提供了灵活的数据模型和查询语言可以存储和处理各种类型的数据。它支持文档型、关系型和图形型数据并提供了强大的查询和聚合功能方便用户对数据进行分析和处理。这种灵活性使得MongoDB集群能够适用于各种复杂的数据存储和处理场景。 (6)数据安全与容灾 MongoDB集群通过数据冗余和备份机制提供了数据的安全性和容灾功能。即使某个节点出现故障其他节点仍然可以正常运行并保证数据的一致性和完整性。此外MongoDB还支持跨地域的数据复制和容灾部署进一步提高了数据的安全性和可靠性。 然而也需要注意到MongoDB集群的一些潜在挑战如配置复杂性、成本较高以及数据一致性等问题。在实际应用中需要根据具体的需求和资源情况来选择合适的集群类型和配置方案并进行合理的优化和维护以确保系统的性能和稳定性。 综上所述MongoDB集群具有高可用性、扩展性、数据分片、弹性伸缩、灵活性和数据安全与容灾等优势适用于各种大规模数据存储和处理的场景。 二.MongoDB集群的搭建 主要介绍三种集群方式的搭建过程 2.1Replica Set(副本集)方式 主节点-备节点-仲裁节点 是集群当中包含了多份数据保证主节点挂掉了备节点能继续提供数据服务提供的前提就是数据需要和主节点一致。 其中Mongodb(M)表示主节点Mongodb(S)表示备节点Mongodb(A)表示仲裁节点。主备节点存储数据仲裁节点不存储数据。客户端同时连接主节点与备节点不连接仲裁节点。 默认设置下主节点提供所有增删查改服务备节点不提供任何服务。但是可以通过设置使备节点提供查询服务这样就可以减少主节点的压力当客户端进行数据查询时请求自动转到备节点上。这个设置叫做Read Preference Modes同时Java客户端提供了简单的配置方式可以不必直接对数据库进行操作。 仲裁节点是一种特殊的节点它本身并不存储数据主要的作用是决定哪一个备节点在主节点挂掉之后提升为主节点所以客户端不需要连接此节点。这里虽然只有一个备节点但是仍然需要一个仲裁节点来提升备节点级别。我开始也不相信必须要有仲裁节点但是自己也试过没仲裁节点的话主节点挂了备节点还是备节点所以咱们还是需要它的。 1建立数据文件夹 一般情况下不会把数据目录建立在mongodb的解压目录下不过这里方便起见就建在mongodb解压目录下吧。 mkdir -p /mongodb/data/master mkdir -p /mongodb/data/slaver mkdir -p /mongodb/data/arbiter #三个目录分别对应主备仲裁节点 2建立配置文件 由于配置比较多所以我们将配置写到文件里。 #master.conf dbpath/mongodb/data/master logpath/mongodb/log/master.log pidfilepath/mongodb/master.pid directoryperdbtrue logappendtrue replSettestrs bind_ip10.10.148.130 port27017 oplogSize10000 forktrue noprealloctrue#slaver.conf dbpath/mongodb/data/slaver logpath/mongodb/log/slaver.log pidfilepath/mongodb/slaver.pid directoryperdbtrue logappendtrue replSettestrs bind_ip10.10.148.131 port27017 oplogSize10000 forktrue noprealloctrue#arbiter.conf dbpath/mongodb/data/arbiter logpath/mongodb/log/arbiter.log pidfilepath/mongodb/arbiter.pid directoryperdbtrue logappendtrue replSettestrs bind_ip10.10.148.132 port27017 oplogSize10000 forktrue noprealloctrue参数解读 dbpath数据存放目录 portmongodb进程所使用的端口号默认为27017 logpath日志存放路径、bind_ipmongodb所绑定的ip地址 oplogSizemongodb操作日志文件的最大大小。单位为Mb默认为硬盘剩余空间的5% pidfilepath进程文件方便停止mongodb fork以后台方式运行进程 directoryperdb为每一个数据库按照数据库名建立文件夹存放 noprealloc不预先分配存储、replSetreplica set的名字 logappend以追加的方式记录日志 3启动mongodb 进入每个mongodb节点的bin目录下 ./monood -f master.conf ./mongod -f slaver.conf ./mongod -f arbiter.conf 4配置主备仲裁节点 可以通过客户端连接mongodb也可以直接在三个节点中选择一个连接mongodb。 ./mongo 10.10.148.130:27017 #ip和port是某个节点的地址 use admin cfg{ _id:testrs, members:[ {_id:0,host:10.10.148.130:27017,priority:2}, {_id:1,host:10.10.148.131:27017,priority:1}, {_id:2,host:10.10.148.132:27017,arbiterOnly:true}] }; rs.initiate(cfg) #使配置生效cfg是可以任意的名字当然最好不要是mongodb的关键字confconfig都可以。最外层的_id表示replica set的名字members里包含的是所有节点的地址以及优先级。优先级最高的即成为主节点即这里的10.10.148.130:27017。特别注意的是对于仲裁节点需要有个特别的配置——arbiterOnly:true。这个千万不能少了不然主备模式就不能生效。       配置的生效时间根据不同的机器配置会有长有短配置不错的话基本上十几秒内就能生效有的配置需要一两分钟。如果生效了执行rs.status()命令会看到如下信息 {set : testrs,date : ISODate(2013-01-05T02:44:43Z),myState : 1,members : [{_id : 0,name : 10.10.148.130:27017,health : 1,state : 1,stateStr : PRIMARY,uptime : 200,optime : Timestamp(1357285565000, 1),optimeDate : ISODate(2013-01-04T07:46:05Z),self : true},{_id : 1,name : 10.10.148.131:27017,health : 1,state : 2,stateStr : SECONDARY,uptime : 200,optime : Timestamp(1357285565000, 1),optimeDate : ISODate(2013-01-04T07:46:05Z),lastHeartbeat : ISODate(2013-01-05T02:44:42Z),pingMs : 0},{_id : 2,name : 10.10.148.132:27017,health : 1,state : 7,stateStr : ARBITER,uptime : 200,lastHeartbeat : ISODate(2013-01-05T02:44:42Z),pingMs : 0}],ok : 1 }如果配置正在生效其中会包含如下信息 stateStr : RECOVERING 同时可以查看对应节点的日志发现正在等待别的节点生效或者正在分配数据文件。        现在基本上已经完成了集群的所有搭建工作。至于测试工作可以留给大家自己试试。一个是往主节点插入数据能从备节点查到之前插入的数据查询备节点可能会遇到某个问题可以自己去网上查查看。二是停掉主节点备节点能变成主节点提供服务。三是恢复主节点备节点也能恢复其备的角色而不是继续充当主的角色。二和三都可以通过rs.status()命令实时查看集群的变化。 2.2Sharding方式 主节点-备节点-仲裁节点-路由节点 和Replica Set类似都需要一个仲裁节点但是Sharding还需要配置节点和路由节点。就三种集群搭建方式来说这种是最复杂的。 (1)启动数据节点 ./mongod --fork --dbpath ../data/set1/ --logpath ../log/set1.log --replSet test #192.168.4.43 ./mongod --fork --dbpath ../data/set2/ --logpath ../log/set2.log --replSet test #192.168.4.44 ./mongod --fork --dbpath ../data/set3/ --logpath ../log/set3.log --replSet test #192.168.4.45 决策 不存储数据(2)启动配置节点 ./mongod --configsvr --dbpath ../config/set1/ --port 20001 --fork --logpath ../log/conf1.log #192.168.4.30 ./mongod --configsvr --dbpath ../config/set2/ --port 20002 --fork --logpath ../log/conf2.log #192.168.4.31(3)启动路由节点 ./mongos --configdb 192.168.4.30:20001,192.168.4.31:20002 --port 27017 --fork --logpath ../log/root.log #192.168.4.29 这里我们没有用配置文件的方式启动其中的参数意义大家应该都明白。一般来说一个数据节点对应一个配置节点仲裁节点则不需要对应的配置节点。注意在启动路由节点时要将配置节点地址写入到启动命令里。 4配置Replica Set 这里可能会有点奇怪为什么Sharding会需要配置Replica Set。其实想想也能明白多个节点的数据肯定是相关联的如果不配一个Replica Set怎么标识是同一个集群的呢。这也是人家mongodb的规定咱们还是遵守吧。配置方式和之前所说的一样定一个cfg然后初始化配置。 ./mongo 192.168.4.43:27017 #ip和port是某个节点的地址 use admin cfg{ _id:testrs, members:[ {_id:0,host:192.168.4.43:27017,priority:2}, {_id:1,host:192.168.4.44:27017,priority:1}, {_id:2,host:192.168.4.45:27017,arbiterOnly:true}] }; rs.initiate(cfg) #使配置生效5 配置Sharding ./mongo 192.168.4.29:27017 #这里必须连接路由节点 sh.addShard(test/192.168.4.43:27017) #test表示replica set的名字 当把主节点添加到shard以后会自动找到set里的主备决策节点 db.runCommand({enableSharding:diameter_test}) #diameter_test is database name db.runCommand( { shardCollection: diameter_test.dcca_dccr_test,key:{__avpSessionId:1}})第一个命令很容易理解第二个命令是对需要进行Sharding的数据库进行配置第三个命令是对需要进行Sharding的Collection进行配置这里的dcca_dccr_test即为Collection的名字。另外还有个key这个是比较关键的东西对于查询效率会有很大的影响具体可以查看 Shard Key Overview        到这里Sharding也已经搭建完成了以上只是最简单的搭建方式其中某些配置仍然使用的是默认配置。如果设置不当会导致效率异常低下所以建议大家多看看官方文档再进行默认配置的修改。 2.3Master-Slave方式 主节点-备节点 这个是最简答的集群搭建不过准确说也不能算是集群只能说是主备。并且官方已经不推荐这种方式所以在这里只是简单的介绍下吧搭建方式也相对简单。 ./mongod --master --dbpath /data/masterdb/ #主节点./mongod --slave --source masterip:masterport --dbpath /data/slavedb/ 备节点 基本上只要在主节点和备节点上分别执行这两条命令Master-Slaver就算搭建完成了。我没有试过主节点挂掉后备节点是否能变成主节点不过既然已经不推荐了大家就没必要去使用了。 三.自己亲测过程 3.1.准备工作 因为我这里的数据量不大所以一般使用带仲裁节点的集群即可没必要使用带有路由节点的 1环境准备三台Centos7的虚拟机192.168.32.215 / 192.168.32.216 / 192.168.32.217 2机器分配215为master节点 , 217为slave节点 , 216为仲裁节点 3安装包下载使用wget来下载版本为4.4.5想要其他的版本自己可以更换 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.5.tgz 将安装包用scp命令传输到另外两台上  3.2.进行配置 1目录准备 三台机器的目录尽量一致我这里都存放解压后的目录为/opt/hadoop 创建目录 215机器 #在opt下创建hadoop mkdir /opt/hadoop #将安装包解压到hadoop下 tar -zxvf mongodb-linux-x86_64-rhel70-4.4.5.tgz -C /opt/hadoop/ #解压的目录形式为:/opt/hadoop/mongo4.4 #我这里修改为了:/opt/hadoop/mongodb4.4为了方便然后就在mongodb4.4里面执行下面的操作#数据存文的目录 mkdir -p data/master #日志目录 mkdir logs #配置目录 mkdir conf cd logs #日志文件 touch master.log cd conf #配置文件 touch mongodb.conf 如同下面得图中表现 217机器 同上述节点 mkdir -p data/slave mkdir logs mkdir conf cd logs touch slave.log cd conf touch mongodb.conf 216机器 同上述节点 mkdir -p data/arbite mkdir logs mkdir conf cd logs touch arbite.log cd conf touch mongodb.conf 2编辑配置文件 215节点Master: 编辑mongodb.conf #master配置 #数据存放路径 dbpath/opt/hadoop/mongodb4.4/data/master #日志路径 logpath/opt/hadoop/mongodb4.4/logs/master.log #以追加的方式记录日志 logappendtrue #mongoDB进程所绑定的ip地址 bind_ip192.168.32.215 #端口号默认端口号为27017 port27017 #以后台方式运行进程 forktrue #4.33版本后已经取消 #noprealloctrue #集群名称 replSettest 217节点Slave: 编辑mongodb.conf #slave配置 dbpath/opt/hadoop/mongodb4.4/data/slave logpath/opt/hadoop/mongodb4.4/logs/slave.log logappendtrue bind_ip192.168.32.217 port27017 forktrue #noprealloctrue replSettest 216节点arbite仲裁节点: 编辑mongodb.conf #仲裁节点配置 dbpath/opt/hadoop/mongodb4.4/data/arbite logpath/opt/hadoop/mongodb4.4/logs/arbite.log logappendtrue bind_ip192.168.32.216 #注意仲裁节点我给的端口号是27018 port27018 forktrue #noprealloctrue replSettest 3.3启用 分别启动mongodb 直接输入如下命令即可要保证路径正确即可 /opt/hadoop/mongodb4.4/bin/mongod -f /opt/hadoop/mongodb4.4/conf/mongodb.conf 启动成功如下 4再进一步简单的配置 a.在任意一个节点上连接到主节点 这里ip换成你们配置中的主节点即可 b.输入如下命令里面ip换成你们自己的即可 cfg{_id:test, members: [ {_id:0,host:192.168.32.215:27017,priority:2} ,{_id:1,host:192.168.32.217:27017,priority:1} ,{_id:2,host:192.168.32.216:27018,arbiterOnly:true}]}; c.初始化集群-让配置生效 rs.initiate(cfg)  当你能看到代表成功ok:1 注意如下是返回的初始化不成功的信息需要关闭你们的机器防火墙即可 关闭防火墙的命令 systemctl status firewalld systemctl stop firewalld systemctl disable firewalld 再次执行发现返回状态成功。 d.查看集群状态 OK,测试完毕。 四.总结 以上三种集群搭建方式首选Replica Set只有真的是大数据Sharding才能显现威力毕竟备节点同步数据是需要时间的。Sharding可以将多片数据集中到路由节点上进行一些对比然后将数据返回给客户端但是效率还是比较低的说。大家在应用的时候还是多多做下性能测试毕竟不像Redis有benchmark。 Mongodb现在用的还是比较多的但是个人觉得配置太多了我看官网都看了好多天才把集群搭建的配置和注意要点弄明白。而且用过的人应该知道mongodb吃内存的问题解决办法只能通过ulimit来控制内存使用量但是如果控制不好的话mongodb会挂掉。
http://www.hkea.cn/news/14302094/

相关文章:

  • 广州网站设计网站制作wordpress首页文章显示分类
  • 贵阳哪里可以做网站政务建设网站得必要性
  • 企业网站服务器河南省建设培训中心网站
  • 北京市城乡结合部建设领导小组办公室网站企业qq出售平台
  • 中企动力做的保安服务网站html网页源码
  • 优度网站建设广州住房和城乡建设局网站
  • html5做网站导航页合肥网站系统建设公司
  • 美食网站二级页面模板o2o商城网站制作
  • 另外网站是做的IPv4还是IPv6网页上的视频如何下载
  • 武威市建设局网站 放管服wordpress oauth2插件
  • 做淘宝的网站有哪些内容吗时尚网站策划
  • 网站建设心得体会及总结wordpress多站用户
  • 手机网站建设 新闻产品50个关键词
  • dede旅游网站源码网站设计如何自学
  • 网站详情页怎么做的网站开发工作 岗位怎么称呼
  • 南昌网站优化网站开发网站策划任职要求
  • dedecms网站上传服务器不是空间wordpress 虚拟商品插件
  • 视频网站建设框架微盟小程序是什么
  • 常见行业门户网站网站建设找什么公司
  • 创建网站需要备案吗简单的企业小网站
  • 网站建设基本费用Discuz网站制作教程
  • 手机网站建设价钱在建设厅网站怎么办建造师延期
  • 做个简单网站大概多少钱我的网站为什么打不开怎么回事啊
  • 网站结构说明服装网站建设目的作用是什么
  • 龙华网站建设app已有域名 wordpress
  • 建设网站买了域名还要什么资料做网站除了有服务器还需要什么
  • 广州专业网站建设哪里有应届毕业生招聘官网
  • 艺腾青岛网站建设wordpress 显示标签页
  • 广西旅游 网站建设什么是网络营销?网络营销有哪些功能
  • 深圳做网站做app建设一个网站的基本成本