Centos安裝Mongodb并使用ycsb進行性能測試步驟及流程

一、Mongodb安裝指南

1.修改YUM配置

在/etc/yum.repos.d/mongodb-org-3.6.repo的文件中寫入一下內(nèi)容

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

2.在shell中運行命令進行安裝

sudo yum install -y mongodb-org

3.啟動服務

sudo service mongod start

二、Ycsb安裝(安裝前需要安裝好JDK)

1.下載YCSB

curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.12.0/ycsb-0.12.0.tar.gz

2.解壓文件

tar xfvz ycsb-0.12.0.tar.gz

3.切換到安裝目錄

cd ycsb-0.12.0

三、單節(jié)點測試(已安裝好mongodb,步驟參照一,假設ip為10.10.90.18)

在ycsb/workloads/目錄下建立名為test的文件,寫入一下內(nèi)容

recordcount=500000
operationcount=1000000
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0.1
updateproportion=0
scanproportion=0
insertproportion=0.9
requestdistribution=uniform
insertorder=hashed
fieldlength=250
fieldcount=8
mongodb.url=mongodb://10.10.90.18:27017
mongodb.writeConcern=normal
threadcount=30

其中10.10.90.18:27017為節(jié)點的IP和端口,默認端口為27017
Ycsb的每次測試之前需要load數(shù)據(jù),命令為:

./bin/ycsb load mongodb -P workloads/test –s

測試運行命令為:

./bin/ycsb run mongodb -P workloads/test –s

刪除數(shù)據(jù)命令為

mongo 10.10.90.18
use ycsb
db.dropDatabase()

1. 記錄數(shù)變化測試:

修改ycsb/workloads/test中的recordcount一行為不同的數(shù)字,分別運行上述的load數(shù)據(jù)步驟和測試步驟,每次測試完之后需要刪除數(shù)據(jù)

2.記錄大小變化測試:

修改ycsb/workloads/test中的fieldlength一行為不同的數(shù)字,分別運行上述的load數(shù)據(jù)步驟和測試步驟,每次測試完之后需要刪除數(shù)據(jù)

3. 行記錄變化測試

修改ycsb/workloads/test中的fieldcount一行為不同的數(shù)字,分別運行上述的load數(shù)據(jù)步驟和測試步驟,每次測試完之后需要刪除數(shù)據(jù)

四、多節(jié)點測試

1. 單分片雙復制集(假設兩臺機器IP為10.10.10.1和10.10.10.2)

按照一種的步驟分別在兩臺節(jié)點安裝好mongodb,停止mongdb服務:

sudo service mongod stop

分別在兩臺機器手動啟動mongodb并設置復制集名稱都為rs1:

mongod --port 27017 --dbpath="YOUR_DB_DATA_PATH"--replSet =rs1

連接10.10.10.1服務器:

mongo 10.10.10.1

將10.10.10.2添加到復制集:

rs.add(10.10.10.2:27017)

將ycsb/workloads/test文件mongodb.url=mongodb://10.10.90.18:27017修改為

mongodb.url=mongodb://10.10.10.1:27017

運行測試步驟即可

2. 二分片(假設兩臺數(shù)據(jù)節(jié)點IP為10.10.10.1和10.10.10.2,路由和配置節(jié)點都為10.10.10.3)

按照一種的步驟分別在3臺節(jié)點安裝好mongodb,停止mongdb服務:

sudo service mongod stop

在10.10.10.1和10.10.10.2上分別啟動復制集為rs1和rs2的分片

mongod --dbpath="YOUR_DB_DATA_PATH"--replSet=rs1 –shardsvr --bind_ip 10.10.10.1(10.10.10.1運行)
mongod --dbpath="YOUR_DB_DATA_PATH"--replSet=rs2 –shardsvr --bind_ip 10.10.10.2(10.10.10.2運行)

連接10.10.10.1服務器并配置復制集:

mongo 10.10.10.1:27018
rs.initiate({_id: 'rs1', members: [{_id: 0, host: '10.10.10.1:27018'}]})

連接10.10.10.2服務器并配置復制集:

mongo 10.10.10.2:27018
rs.initiate({_id: 'rs2', members: [{_id: 0, host: '10.10.10.2:27018'}]})

在10.10.10.3上啟動配置節(jié)點

mongod --configsvr --replSet conf --dbpath="YOUR_DB_DATA_PATH"--bind_ip 10.10.10.3

連接10.10.10.3服務器并配置復制集:

mongo 10.10.10.3:27019
rs.initiate({_id: 'conf', configsvr: true, members: [{_id:0, host: '10.10.10.3:27019'}]})

在10.10.10.3上啟動路由服務

mongos --configdb conf/10.10.10.3:27019 --bind_ip10.10.10.3

配置路由節(jié)點并添加數(shù)據(jù)分片節(jié)點并開啟分片

mongo 10.10.10.3
sh.addShard( "rs1/10.10.10.1:27018")//添加rs1的分片到集群中
sh.addShard( "rs2/10.10.10.2:27018")//添加rs2的分片到集群中
sh.enableSharding("ycsb")//在數(shù)據(jù)庫上開啟分片
sh.shardCollection("ycsb. usertable ", { "key":{"_id":"hashed"}})//在數(shù)據(jù)表上開啟分片,分片策略為哈希

將ycsb/workloads/test文件mongodb.url=mongodb://10.10.90.18:27017修改為

mongodb.url=mongodb://10.10.10.3:27017

運行3中的測試步驟即可

3. 四分片

按照2中的步驟配置4臺數(shù)據(jù)節(jié)點
在最后配置路由節(jié)點并添加數(shù)據(jù)分片中將所有節(jié)點添加進去即可,其他步驟與二分片相同

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容