資料庫管理
備份mongodb伺服器
執行mongodump //預設使用本地連線127及埠連線本地資料庫
資料庫恢復到備份之前的狀態:
mongorestore --drop
##--drop選項告訴mongorestore工具,在恢復集合之前先丟棄現有的資料,如果不使用該選項,被恢復的資料將被追加到每個集合的尾部,導致資料的重複
備份單個資料庫
mongodump -d database_name -c post ##備份指定庫下集合
--help
恢復單個資料庫
mongorestore -d blog --drop
恢復單個集合
mongorestore -d blog -c posts --drop
備份大資料庫
資料庫備份系統有乙個必殺技,就是時間點快照,它的速度非常快,快照完成的速度越快,資料庫伺服器需要被凍結的時間就越短
在mongodb中建立隱藏輔助伺服器是非常簡單的,並且可以使用mongodb的複製機制來保證他與主伺服器一直
1使用日誌檔案系統建立快照
2使用隱藏的輔助伺服器備份資料
mongodb上執行fysnc和lock,可以保證磁碟上資料庫的映象處於一致狀態,並保證在完成快照之前他們仍然保持一致狀態
use admin
db.fsynclock() //進入fsync和lock狀態
檢視當前鎖的狀態
use admin
db.currentop()
釋放鎖db.fsyncunlock() //鎖釋放之前可能有短暫的延遲
資料匯入mongodb使用mongoimport
mongoimport 工具可載入3種檔案格式的資料
1、csv:此種檔案格式,每行代表乙個文件,字段之間由逗號分隔
2、tsv:該檔案類似csv,它使用tab作為分隔符
3、json:該檔案格式每行都辦好一塊json,代表乙個文件,與其他格式不同,json可以支援可變模式的文件
mongoimport --help
mongodb支援簡單的基於角色的身份驗證系統,通過系統可以控制使用者對資料庫的訪問以及他們被授予的訪問級別
新增admin
use admin
db.createuser(,]})
db.auth("admin","root123")
db.getllsers() //使用者許可權相關資訊
db.serverstatus()
驗證和修復資料
修復伺服器
使用repair命令是乙個代價高昂的操作,會消耗很長世間,並且要求使用兩倍於mongodb資料檔案大小,因為所有的資料都被轉殖島新的檔案並重建,本質上是對所有資料檔案的重建
mongod --dbpath /data/db --repair
在大型資料修復過程中,可以指定乙個大的空間的驅動器,用於儲存修復過程中建立的臨時檔案
mongod -f /etc/mongodb.conf --repair --repairpath /tmp/bigdata/
通過validata選項可以驗證資料庫中集合的內容是否存在問題
use dblog
db.posts.ensureindex()
db.posts.validate()
修復集合的索引
修復集合的資料檔案
use blog
mongodb的優化
啟用和禁用mongodb分析器
use blog
db.setprofilinglevel(1) //0關閉
db.setprofilinglevel(1,500) //啟動毫秒級別
db.setprofilinglevel(2) //所有查詢啟動分析器
查詢慢查詢
db.system.profile.find()
增加分析器集合的大小
1、關閉分析器
use blog
db.setprofilinglevel(0)
2、刪除system.profile集合
db.system.profile.drop()
3、建立新的集合分析器
4、重新啟用分析器
db.setprofilinglevel(2)
使用explain()分析特定的查詢
use blog
db.posts.find().explain(true)
大資料運維 結語 大資料運維,大有作為
高俊峰 南非螞蟻 你好,看到這裡,恭喜你學完了本專欄的全部內容。本專欄的定位是零基礎入門大資料運維,所以你學習的內容更多是關於大資料平台各個元件的安裝 部署和配置,這些技術看似簡單,但操作起來,其實一點也不簡單。大資料平台中涉及的技術,都需要 理解原理 執行機制 才能順利完成配置,也只有完成了安裝部...
mongodb運維技術
這一篇我們以管理員的視角來看mongodb,作為一名管理員,我們經常接觸到的主要有4個方面 1 安裝部署 2 狀態監控 3 安全認證 4 備份和恢復,下面我們就一點一點的講解。一 安裝部署 我之前的文章都是採用console程式來承載,不過在生產環境中這並不是最佳實踐,誰也不願意在機器重啟後滿地找牙...
大資料運維 HDFS學習
一 hdfs概念 1 介紹 hadoop distributed file system,簡稱hdfs,是乙個分布式檔案系統。hdfs有著高容錯性 fault tolerent 的特點,並且設計用來部署在低廉的 low cost 硬體上。而且它提供高吞吐量 high throughput 來訪問應用...