配置MongoDB3.04叢集分區

來源:互聯網
上載者:User

配置MongoDB3.04叢集分區

網上大部分都是的mongo2.x叢集分區了,咱寫個3.04的。
由於公司採用磁碟陣列冗餘儲存,所以不考慮資料備份問題只是簡單的分區儲存資料進行測試的。
配置結構

伺服器配置:
cpu雙核、8G記憶體、/shard目錄掛載500G硬碟。

伺服器列表:

IP 職能
192.168.6.117 config、mongos
192.168.6.118 client
192.168.6.119 client
192.168.6.147 client
192.168.6.160 client

首先開啟這5台機器執行如下相同命令:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.4.tgz
tar zxvf mongodb-linux-x86_64-3.0.4.tgz
cp -rf mongodb-linux-x86_64-3.0.4 /usr/local/

依次開啟118、119、147、160四台機器執行如下命令(注意:使用118替換指定的119):

mkdir /shard/shard11 9
chmod -R 777 /shard/shard119
/usr/local/mongodb-3.0.4/bin/mongod -shardsvr -port 27017 -dbpath=/shard/shard119/ --storageEngine wiredTiger -logpath=/shard/shard119.log --fork

然後啟動。在終端中分別執行檢查Mongod進程是否成功啟動:

ps aux | grep mongo

如果任何一台沒有啟動成功,重複上面的,直到找出原因。

OK,現在我們成功的分別在4台電腦上啟動了1個mongod執行個體,mongod是真正儲存資料的進程。叢集中還需要一個設定管理員,用來儲存在各個節點中共用的配置資訊,儲存資料的元資訊[METADATA],也如上面我結構圖中config.

開啟117伺服器執行如下命令:

mkdir /data/config

/usr/local/mongodb-3.0.4/bin/mongod -configsvr -dbpath=/data/config -port 20000 -logpath=/data/config.log --fork

當以上都啟動成功,我們可以開啟mongos服務了。mongo也是在117上執行。

/usr/local/mongodb-3.0.4/bin/mongos -configdb 192.168.6.117:20000 -port 30000 -chunkSize 100 -logpath=/data/mongos.log --fork

注意-configdb所對應的IP地址和連接埠應該為config裡設定的所在ip及連接埠。-chunkSize設定分區大小主機預設200,我們可以設定成100即100M。

如果順利的話,你在117能看到兩個mongo上啟動並執行進程,執行查看:ps -ef  | grep mong。表明mongo分區安裝完畢。

下面開始配置mongo分區:

串連操作資料庫:

/usr/local/mongodb-3.0.4/bin/mongo 192.168.6.117:30000/admin

注意:以下都是在mongo命令列下完成的操作:

添加分區伺服器:
db.runCommand({"addshard":"192.168.6.118:27017"})
db.runCommand({"addshard":"192.168.6.119:27017"})
db.runCommand({"addshard":"192.168.6.147:27017"})
db.runCommand({"addshard":"192.168.6.160:27017"})

設定分區資料庫:
db.runCommand({"enablesharding": "qiaodazhao"})

使用資料庫:
use qiaodazhao

設定表分區基於欄位hash:
sh.shardCollection("qiaodazhao.resume_meta_data",{_id:"hashed"})

設定表分區基於欄位(注意這種形式與以上作用相同):
db.runCommand({"shardcollection":"qiaodazhao.things", "key":{"_id":1}})

列印資料庫分區資訊:
db.printShardingStatus()

列印伺服器資訊:
db.serverStatus()

建立表索引:
db.resume_meta_data.ensureIndex({"org_name":1},{"background":true})

查看錶索引:
db.resume_meta_data.getIndexes()

列印資訊這裡就不了。

MongoDB常用操作命令整理 

MongoDB 3.0 正式版發布下載 

CentOS編譯安裝MongoDB

CentOS 編譯安裝 MongoDB與mongoDB的php擴充

CentOS 6 使用 yum 安裝MongoDB及伺服器端配置

Ubuntu 13.04下安裝MongoDB2.4.3

MongoDB入門必讀(概念與實戰並重)

Ubunu 14.04下MongoDB的安裝指南

《MongoDB 權威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Nagios監控MongoDB分區叢集服務實戰

基於CentOS 6.5作業系統搭建MongoDB服務

MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.