分片第一次啟動mongos的時候報錯,誰能告訴我咋回事嗎
mongos的組態檔
# mongod.conf
sharding:
configDB: mdbconfig/192.168.139.134:21000,192.168.139.135:21000,192.168.139.136:21000
net:
bindIp: 192.168.139.134,127.0.0.1
port: 20000
systemLog:
destination: file
logAppend: true
path: /u01/mongodb/mongos/log/configsrv.log
processManagement:
fork: true
2017-12-20T01:12:26.018-0800 W SHARDING [mongosMain] Error initializing sharding state, sleeping for 2 seconds and trying again :: caused by :: Unauthorized: Error loading clusterID :: caused by :: not authorized on config to execute command { find: "version", readConcern: { level: "majority", afterOpTime: { ts: Timestamp(0, 0), t: -1 } }, maxTimeMS: 30000, $readPreference: { mode: "nearest" }, $replData: 1, $clusterTime: { clusterTime: Timestamp(0, 0), signature: { hash: BinData(0, 0000000000000000000000000000000000000000), keyId: 0 } }, $configServerState: { opTime: { ts: Timestamp(0, 0), t: -1 } }, $db: "config" }
2017-12-20T01:12:26.018-0800 I SHARDING [shard registry reload] Periodic reload of shard registry failed :: caused by :: Unauthorized: could not get updated shard list from config server due to not authorized on config to execute command { find: "shards", readConcern: { level: "majority", afterOpTime: { ts: Timestamp(0, 0), t: -1 } }, maxTimeMS: 30000, $readPreference: { mode: "nearest" }, $replData: 1, $clusterTime: { clusterTime: Timestamp(0, 0), signature: { hash: BinData(0, 0000000000000000000000000000000000000000), keyId: 0 } }, $configServerState: { opTime: { ts: Timestamp(0, 0), t: -1 } }, $db: "config" }; will retry after 30s
2017-12-20T01:12:26.018-0800 I ASIO [NetworkInterfaceASIO-ShardRegistry-0] Successfully connected to 192.168.139.134:21000, took 1ms (4 connections now open to 192.168.139.134:21000)
2017-12-20T01:12:26.019-0800 W SHARDING [replSetDistLockPinger] pinging failed for distributed lock pinger :: caused by :: Unauthorized: not authorized on config to execute command { findAndModify: "lockpings", query: { _id: "mongodb1:20000:1513761146:7138224804712661548" }, update: { $set: { ping: new Date(1513761146014) } }, upsert: true, writeConcern: { w: "majority", wtimeout: 15000 }, maxTimeMS: 30000, $replData: 1, $clusterTime: { clusterTime: Timestamp(0, 0), signature: { hash: BinData(0, 0000000000000000000000000000000000000000), keyId: 0 } }, $configServerState: { opTime: { ts: Timestamp(0, 0), t: -1 } }, $db: "config" }
2017-12-20T01:12:26.218-0800 I ASIO [NetworkInterfaceASIO-ShardRegistry-0] Connecting to 192.168.139.135:21000
2017-12-20T01:12:26.219-0800 I ASIO [NetworkInterfaceASIO-ShardRegistry-0] Successfully connected to 192.168.139.135:21000, took 1ms (1 connections now open to 192.168.139.135:21000)
2017-12-20T01:12:26.420-0800 I ASIO [NetworkInterfaceASIO-ShardRegistry-0] Connecting to 192.168.139.136:21000
uj5u.com熱心網友回復:
mongos config mongod都用統一個keyfile啟動uj5u.com熱心網友回復:
謝謝,我試試,難道各自的復制集不能用各自的keyfile嗎,我看官方檔案的deploy里面好像也沒提醒要用同一個keyfileuj5u.com熱心網友回復:
mongos要和config通信 config要和mongod通信 mongos要和monogd通信 config之間要通信這些內部通信全靠keyfile
uj5u.com熱心網友回復:
好了,已經沒問題了,謝謝,再請教個問題,mongodb分片的話災備怎么部署
uj5u.com熱心網友回復:
每個分片都是一個副本集 副本集是高可用的uj5u.com熱心網友回復:
這個我知道,但是建的時候肯定是在同一個機房里的,那如果需要災備在另外的機房咋處理呀
uj5u.com熱心網友回復:
跨機房搭建副本集也沒問題uj5u.com熱心網友回復:
那我的分片都是再不同機器上的,異地災備想省資源的話,可以把復制集放在一臺機器上嘛
uj5u.com熱心網友回復:
復制集放在一臺機器上就失去了高可用性 因為這一臺宕機 相當于一個分片就不可用
正確的做法是交叉部署
uj5u.com熱心網友回復:
跨機房搭建副本集也沒問題
那我的分片都是再不同機器上的,異地災備想省資源的話,可以把復制集放在一臺機器上嘛
復制集放在一臺機器上就失去了高可用性 因為這一臺宕機 相當于一個分片就不可用
正確的做法是交叉部署
您的意思就是,我三臺在本地復制集交叉部署之后,然后異地災備的話,也是相當于是三份在一臺上面對嘛,就相當于,再加一個節點
可是有點疑問的是,異地,mongodb的復制集,對帶寬的要求是怎么樣的
uj5u.com熱心網友回復:
跨機房搭建副本集也沒問題
那我的分片都是再不同機器上的,異地災備想省資源的話,可以把復制集放在一臺機器上嘛
復制集放在一臺機器上就失去了高可用性 因為這一臺宕機 相當于一個分片就不可用
正確的做法是交叉部署
您的意思就是,我三臺在本地復制集交叉部署之后,然后異地災備的話,也是相當于是三份在一臺上面對嘛,就相當于,再加一個節點
可是有點疑問的是,異地,mongodb的復制集,對帶寬的要求是怎么樣的
我覺的你現階段先不必考慮異地災備 一步步來
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/99595.html
標籤:MongoDB
上一篇:mysql用a表資料更新b表
下一篇:MySQL資料庫
