記一次mongdb搭建複製集的小故障

 搭建複製集過程

  1. 在主機A上面
  2. mkdir -p /opt/srv/mongodb/log
  3. mkdir -p /opt/srv/mongodb/key
  4. mkdir -p /opt/srv/mongodb/data/a1
  5. mkdir -p /opt/srv/mongodb/data/arbiter
  6. echo "sumongodb is the best blog" > /opt/srv/mongodb/key/a1
  7. echo "sumongodb is the best blog" > /opt/srv/mongodb/key/arbiter
  8. chmod 600 /opt/srv/mongodb/key/*

  在主機B上面

  mkdir -p /opt/srv/mongodb/data/b1

  mkdir -p /opt/srv/mongodb/log

  mkdir -p /opt/srv/mongodb/key

  1. echo "sumongodb is the best blog" > /opt/srv/mongodb/key/b1
  2. chmod 600 /opt/srv/mongodb/key/*
  1.  啓動mongodb
  2. mongod --replSet sumongodb --keyFile /opt/srv/mongodb/key/a1 --port 20011 --dbpath /opt/srv/mongodb/data/a1  --logpath /opt/srv/mongodb/log/a1.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
  3. mongod --replSet sumongodb --keyFile /opt/srv/mongodb/key/arbiter --port 20012 --dbpath /opt/srv/mongodb/data/arbiter  --logpath /opt/srv/mongodb/log/arbiter.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
  4. mongod --replSet sumongodb --keyFile /opt/srv/mongodb/key/b1 --port 20011 --dbpath /opt/srv/mongodb/data/b1  --logpath /opt/srv/mongodb/log/b1.log --logappend --oplogSize 100 --rest --directoryperdb --maxConns 200 --fork
  1.  初始化 
  2.   mongo --port 20011
  3. > config = {_id: 'sumongodb', members: [{_id: 0, host: '127.0.0.1:20011'},{_id: 1, host: '127.0.0.1:20012',arbiterOnly:true},{_id: 2, host:'127.0.0.1:20011'}]}
  4. > rs.initiate(config)

 就在這時,報了這樣的錯誤:ERROR - couldn't initiate : need all members up to initiate.

 可是我檢查完了所有的配置,都沒有問題啊,我又重新搭建了幾次,還是報同樣的錯誤!這時的我已經很煩了,於是決定從操作系統找原因。檢查了下系統時間date,結果確實發現點了什麼~我發現在主機A和主機B上的系統時間不一致啊!心想太好了,這下應該解決問題了吧。我又rs.initiate(config)一把,還是同樣的錯誤,剛剛燃起來的,又化成了灰燼!到底是哪裏的原因呢。我回過頭,仔細看了看錯誤日誌,終於發現了問題的所在,我發現居然在主機B數據庫上,沒有local這個庫,這是什麼原因呢。好嘛,我 ll了一下,查看了權限問題,結果讓我大吃一驚,都是些500的權限。我把權限改成root之後,重加載一下,問題就解決啦!

 

        頓時心情愉悅了!!!!!!!!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章