我有9台机器,我设置了mongod replset实例。 我设置iptables,以便服务器可以看到对方,我可以确认这个sshing到一台服务器,并连接到另一台服务器的mongod。 但rp.status命令报告实例不能互相ping通,而且我的所有服务器都可以使用ping实用程序很好地ping通。
我们正在天青3台虚拟机上运行一个mongodb集群。 我自己设置集群,我们已经使用了大约一年的时间。 几个月前,我们的小学生经历了一次mongodb崩溃。 幸运的是,中学接手,我们的平台没有任何伤害。 问题是,从那时起,小学每两周就会崩溃。 我们将这些服务器安装在Grafana上,并进行自定义监控,而在“I / O花费的时间”发生崩溃之前,这个服务器波动很大,峰值高于正常水平。 稍后,服务器崩溃,出现以下错误: 2017-08-27T23:29:31.537+0000 F – [NetworkInterfaceASIO-BGSync-0] std::exception::what(): Resource temporarily unavailable Actual exception type: std::system_error 0x1556b32 0x1555e42 0x1ce5506 0x1ce5551 0x14e0a35 0x14e1258 0x12d996e 0x12da16e 0x12da8a8 0x12cd06c 0x12c2a38 0x12c3f9a 0x12c4cd9 0x12c0f85 0x128c858 0x129ee53 0x129f48d 0x1576824 0x1576a21 0x12b75fb 0x1d00200 0x7fa0454f56ba 0x7fa04522b3dd —– BEGIN BACKTRACE —– {"backtrace":[{"b":"400000","o":"1156B32","s":"_ZN5mongo15printStackTraceERSo"},{"b":"400000","o":"1155E42"},{"b":"400000","o":"18E5506","s":"_ZN10__cxxabiv111__terminateEPFvvE"},{"b":"400000","o":"18E5551"},{"b":"400000","o":"10E0A35","s":"_ZN5mongo10ThreadPool25_startWorkerThread_inlockEv"},{"b":"400000","o":"10E1258","s":"_ZN5mongo10ThreadPool8scheduleESt8functionIFvvEE"},{"b":"400000","o":"ED996E","s":"_ZN5mongo8executor22ThreadPoolTaskExecutor23scheduleIntoPool_inlockEPNSt7__cxx114listISt10shared_ptrINS1_13CallbackStateEESaIS6_EEERKSt14_List_iteratorIS6_ESD_St11unique_lockISt5mutexE"},{"b":"400000","o":"EDA16E","s":"_ZN5mongo8executor22ThreadPoolTaskExecutor23scheduleIntoPool_inlockEPNSt7__cxx114listISt10shared_ptrINS1_13CallbackStateEESaIS6_EEERKSt14_List_iteratorIS6_ESt11unique_lockISt5mutexE"},{"b":"400000","o":"EDA8A8"},{"b":"400000","o":"ECD06C","s":"_ZN5mongo8executor20NetworkInterfaceASIO7AsyncOp6finishERKNS_10StatusWithINS0_21RemoteCommandResponseEEE"},{"b":"400000","o":"EC2A38","s":"_ZN5mongo8executor20NetworkInterfaceASIO18_completeOperationEPNS1_7AsyncOpERKNS_10StatusWithINS0_21RemoteCommandResponseEEE"},{"b":"400000","o":"EC3F9A","s":"_ZN5mongo8executor20NetworkInterfaceASIO20_completedOpCallbackEPNS1_7AsyncOpE"},{"b":"400000","o":"EC4CD9"},{"b":"400000","o":"EC0F85"},{"b":"400000","o":"E8C858","s":"_ZN4asio6detail14strand_service8dispatchINS0_7binder2IRSt8functionIFvSt10error_codemEES5_mEEEEvRPNS1_11strand_implERT_"},{"b":"400000","o":"E9EE53","s":"_ZN4asio6detail14strand_service8dispatchINS0_17rewrapped_handlerINS0_7binder2INS0_7read_opINS_19basic_stream_socketINS_2ip3tcpENS_21stream_socket_serviceIS8_EEEENS_17mutable_buffers_1ENS0_14transfer_all_tENS0_15wrapped_handlerINS_10io_service6strandESt8functionIFvSt10error_codemEENS0_26is_continuation_if_runningEEEEESI_mEESK_EEEEvRPNS1_11strand_implERT_"},{"b":"400000","o":"E9F48D","s":"_ZN4asio6detail23reactive_socket_recv_opINS_17mutable_buffers_1ENS0_7read_opINS_19basic_stream_socketINS_2ip3tcpENS_21stream_socket_serviceIS6_EEEES2_NS0_14transfer_all_tENS0_15wrapped_handlerINS_10io_service6strandESt8functionIFvSt10error_codemEENS0_26is_continuation_if_runningEEEEEE11do_completeEPvPNS0_19scheduler_operationERKSF_m"},{"b":"400000","o":"1176824","s":"_ZN4asio6detail9scheduler10do_run_oneERNS0_11scoped_lockINS0_11posix_mutexEEERNS0_21scheduler_thread_infoERKSt10error_code"},{"b":"400000","o":"1176A21","s":"_ZN4asio6detail9scheduler3runERSt10error_code"},{"b":"400000","o":"EB75FB"},{"b":"400000","o":"1900200"},{"b":"7FA0454EE000","o":"76BA"},{"b":"7FA045124000","o":"1073DD","s":"clone"}],"processInfo":{ "mongodbVersion" : "3.2.16", "gitVersion" : "056bf45128114e44c5358c7a8776fb582363e094", […]
我有一个独立的应用程序,我正在尝试创build5个线程为每个线程创build一个mongoclient并在MongoDB中保存细节,然后closuresmongoclient。 当我启动我的mongo服务,它正在运行,但一旦我开始我的Java应用程序一段时间后,我的mongo服务正在被杀死,我可以在syslog中看到下面的错误。 Out of memory: Kill process 12715 (mongod) score 433 or sacrifice child\\ kernel: [2946780.340246] Killed process 12715 (mongod) total-vm:6646800kB, anon-rss:6411432kB, file-rss:0kB 我正在使用Linux服务器,它有10GB内存。 据我所知,我们可以在MongoDB中做成千上万的事务。 而在我开始之前,我可以看到一段时间后我可以看到空闲的内存,上面的错误。 不知道到底该怎么做,我们需要设置任何东西在Linux服务器来处理多个mongo请求? 或者我需要增加mongo服务的限制吗? 任何人都可以在这个build议我? 提前致谢。 在执行我的Java应用程序之前和之后,免费-m的o / p如下所示: 之前: total used free shared buffers cached Mem: 14032 7646 6385 54 4 153 -/+ buffers/cache: 7489 6542 Swap: 0 0 0 […]
我们正在尝试根据文档将我们的数据库迁移到atlas解决scheme。 我们的replicasetconfiguration: replication: oplogSizeMB: 1 replSetName: rs0 但是我们得到这样的错误: 2017-09-06T12:47:00.956 + 0100拖尾oplog 2017-09-06T12:47:00.976 + 0100等待新的oplog条目应用。 2017-09-06T12:47:00.977 + 0100失败:拖放源oplog上的错误:检查点在oplog中不可用! 预期:6462593017768312852; 得到:6462630134875684867 什么可能是错的? 为什么它失败?
我正在尝试使用DataFrame更新mongo中的一个集合,例如 df_dict = df[['id', 'name']].to_dict(orient='records') 我得到了下面的字典,例如 [{'name': 'vendor1', 'id': '1'}, {'name': 'vendor2', 'id': '2'}, {'name': 'vendor3', 'id': '3'}, {'name': 'vendor4', 'id': '4'}, {'name': 'vendor5', 'id': '5'}, {'name': 'vendor6', 'id': '6'}, …] df_dict包含大约390k字节,这意味着我需要更新集合中的390k文档。 我试图做的是根据多less线程/进程被分配进行更新,将390k字节分成块/批次。 对于每个批次,我使用以下函数来testing更新, def update_database(update_dicts, table, database): for row_dict in update_dicts: database[table].update_one({'id': row_dict['id']}, {'$set': 'name': row_dict['name']}) def bulk_update_database(database, table, id_field, batch_documents, batch_size): bulk = […]
我在Windows 7笔记本电脑上使用MongoDB版本3.4.6。 我使用Robo 3T版本1.1.1连接到MongoDB。 我正在尝试使用Robo 3T连接到远程Mongo服务器。 我编辑了mongo.conf文件中的bind_Ip选项以包含远程服务器的IP地址。 这是我收到的错误: 无法连接到没有机会加载数据库列表。 当我点击错误的详细信息,这就是它说: 无法连接到MongoDB的错误:networking无法访问。 我通过默认端口27017进行连接,当我尝试将Robo 3T连接到我自己的笔记本电脑上的MongoDB时工作。
我目前正在进行一个项目,我正在使用openshift作为paas。 基本上符合我的所有需求。 我有我的网站,我的静态和我的apinetworking服务器。 只有我的apinetworking服务器调用我的数据库 现在,我的数据库来了一个问题。 我正在使用mongodb。 问题是当前openshift中的replicaset是技术预览,不应该在生产中使用,因为它使用临时存储。 所以如果所有的节点都在下降,所有的数据都会丢失。 我们无法扩展到mongodb pod,因为它可能会导致多个写入操作并产生真正的问题。 所以我有一个想法,但我想知道你是否看到错误。 作为一个概括性的复制品是由以下组成的:一个主要=>这是唯一一个允许进行写入操作的次数多个次级=>确保读取动作任意=>目前我不关注它。 所以我的想法是模拟一个replicaset(它需要一些tweeks在我身边): – 创build一个mongodb的实例,将根据primary.db.example.com – 创build一个mongodb的实例,将根secondary.db。 example.com 两者都将指向相同的持久存储。 那么在我的api里: 引用primary.db.example.com和secondary.db.example.com并相应地调用它们: 如果我做一个写操作,我打电话:primary.db.example.com 如果我进行读取操作,我正在调用secondary.db.example.com 通过这种方式,我将能够扩展二次读取操作。 如果主要的是倒下来的,那么Openshift会尝试重新创build这个吊舱(就像有一个新的小学选举一样) 我知道这不是最好的解决scheme,但这是目前唯一的解决scheme(除了创build外部副本,这意味着很多关于安全性,成本等问题) 您如何看待这个临时解决scheme(等待实际生产就绪的Opensift解决scheme) 问候
我在Digital Ocean上安装FreeBSD 11.1,然后安装mongodb34。 我尝试的pkg和端口版本,但对于这两个性能是非常糟糕的相比Ubuntu下相同的设置,10s与0.6s为我的查询。 我已经尝试freebsd提供的3.2版本,并从Wired Tiger切换回MMAPv1。 数据库以最小的configuration运行,日志文件中没有错误。 基准设置FreeBSD: 1核心1GB内存SSD freebsd 11.1 zfs mongodb 3.4.7从shell(monogd)开始 存储引擎有线老虎 脚本运行时14,2s 基准设置Ubuntu: 1核心1GB内存SSD Ubuntu 16.04 mongodb 3.4.7从shell(monogd)开始 存储引擎有线老虎 脚本运行时间1,6s 在freebsd上,我已经改变了proc的限制,摆脱了警告,但没有提高速度。 而增加更多的RAM / CPU功率并不是真正的区别。 loggingFreebsd 2017-10-17T07:15:07.610+0000 I CONTROL [initandlisten] MongoDB starting : pid=1152 port=27017 dbpath=/data/db 64-bit host=freebsd-1gb-fra1-01 2017-10-17T07:15:07.612+0000 I CONTROL [initandlisten] db version v3.4.7 2017-10-17T07:15:07.612+0000 I CONTROL [initandlisten] git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd […]
为什么closures任何mongo连接都会抛出exception? 如果你设置 SystemLog: traceAllExceptions: true 在mongodb的configuration文件中,当closures一个mongo shell时,会在日志文件中看到以下types的exception。 > bye 2017-10-18T21:35:14.600+0000 W – [conn7819] DBException thrown :: caused by :: 9001 socket exception [CLOSED] for 127.0.0.1:43838 ubuntu@solSenseData:~$ 2017-10-18T21:35:14.605+0000 I – [conn7819] 0x1533852 0x1533677 0x14b5c4a 0x14e9c31 0x14ea47b 0x14ea491 0x14ea4ed 0x14dc6cd 0x14df32e 0x7fd029bfb6ba 0x7fd0299313dd —– BEGIN BACKTRACE —– {"backtrace":[{"b":"400000","o":"1133852","s":"_ZN5mongo15printStackTraceERSo"},{"b":"400000","o":"1133677","s":"_ZN5mongo15printStackTraceEv"},{"b":"400000","o":"10B5C4A","s":"_ZN5mongo11DBException13traceIfNeededERKS0_"},{"b":"400000","o":"10E9C31","s":"_ZN5mongo6Socket15handleRecvErrorEii"},{"b":"400000","o":"10EA47B","s":"_ZN5mongo6Socket5_recvEPci"},{"b":"400000","o":"10EA491","s":"_ZN5mongo6Socket11unsafe_recvEPci"},{"b":"400000","o":"10EA4ED","s":"_ZN5mongo6Socket4recvEPci"},{"b":"400000","o":"10DC6CD","s":"_ZN5mongo13MessagingPort4recvERNS_7MessageE"},{"b":"400000","o":"10DF32E","s":"_ZN5mongo17PortMessageServer17handleIncomingMsgEPv"},{"b":"7FD029BF4000","o":"76BA"},{"b":"7FD02982A000","o":"1073DD","s":"clone"}],"processInfo":{ "mongodbVersion" : "3.2.12", "gitVersion" : "ef3e1bc78e997f0d9f22f45aeb1d8e3b6ac14a14", "compiledModules" : [], […]
这是我做的: 在Windows 2016服务器上启动mongod "C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" –dbpath data –auth –port 37017 –bind_ip 0.0.0.0 。 在客户端: mongo mongodb://user:[email protected]:37017/ar –verbose 我得到这个错误: MongoDB shell version v3.4.9 connecting to: mongodb://user:[email protected]:37017/ar 2017-10-23T11:22:05.420+0200 D NETWORK [thread1] creating new connection to:xyz.com:37017 2017-10-23T11:22:05.460+0200 D NETWORK [thread1] connected to server xyz.com:37017 (152.151.129.37) 2017-10-23T11:22:05.474+0200 I NETWORK [thread1] Socket recv() Connection reset by peer 152.151.129.37:37017 2017-10-23T11:22:05.474+0200 I […]