MongoDB之分片集群搭建

一元咙、環(huán)境準(zhǔn)備
linux:centos7
備注:如果大家要買ECS的話建議還是買阿里云,筆者用騰訊云安裝mongodb分片集群的時候遇到了很多問題,花了很長時間解決疆栏。阿里這方面做得比較好,無論是yum源還是相關(guān)配置都已經(jīng)設(shè)置好了多搀。
mongodb:3.2.9(3.2以后的版本分片集群的搭建方式有改動,具體請參照官網(wǎng))

由于筆者只買了一臺ECS服務(wù)器,所以本次集群的方式可以說是一個偽集群.所有的節(jié)點都是部署在同一臺機器摧阅。

二、安裝

下載mongodb-linux-x86_64-ubuntu1404-3.2.9.tgz.
其它版本可以訪問:https://www.mongodb.org/dl/linux/

  cd /usr/local/software
  tar -zxvf  mongodb-linux-x86_64-ubuntu1404-3.2.9.tgz
  mv mongodb-linux-x86_64-ubuntu1404-3.2.9 mongodb3.2.9
二委煤、配置
    //建立數(shù)據(jù)存儲目錄
    cd /  進(jìn)入根目錄
    mkdir -p /data/config
    mkdir -p /data/shard1
    mkdir -p /data/shard2
    mkdir -p /data/shard3

    //建立日志目錄:
    mkdir logs

    //配置configsrv啟動文件
    //(/usr/local/software/mongodb3.2.9/config.d/configsrv.conf)
    logpath=/logs/configsrv.log
    pidfilepath=/logs/configsrv.pid
    logappend=true
    fork=true
    port=27000
    dbpath=/data/config
    configsvr=true

    //配置路由節(jié)點啟動文件
    //(/usr/local/software/mongodb3.2.9/config.d/router.conf)
    logpath=/logs/mongos_router.log
    pidfilepath=/logs/mongos_router.pid
    logappend=true
    fork=true
    port=27010
    configdb=172.27.0.14:27000  //指定的是configsrv的ip和端口(3.2版本以后configdb只能用于副本集集群模式-親測)

三堂油、啟動服務(wù)

1.啟動配置服務(wù)器(configsrv)

./mongod -f ../config.d/configsrv.conf 

2.啟動路由服務(wù)器(router)

./mongos -f ../config.d/router.conf   注意:用mongos啟動

3.分別啟動分片1,2,3.用不同的端口27001,27002,27003區(qū)分:

./mongod --dbpath /data/shard1/ --logpath /logs/shard1.log  --fork --port 27001
./mongod --dbpath /data/shard2/ --logpath /logs/shard2.log  --fork --port 27002
./mongod --dbpath /data/shard3/ --logpath /logs/shard3.log  --fork --port 27003

4.用ps查看一下

[root@VM_0_14_centos bin]# ps -ef|grep mongo
root      2391     1  0 20:00 ?        00:00:08 ./mongod -f ../config.d/configsrv.conf
root      2760     1  0 20:06 ?        00:00:00 ./mongos -f ../config.d/router.conf
root      2975     1  0 20:10 ?        00:00:01 ./mongod --dbpath /data/shard1/ --logpath /logs/shard1.log --fork --port 27001
root      3054     1  0 20:12 ?        00:00:00 ./mongod --dbpath /data/shard2/ --logpath /logs/shard2.log --fork --port 27002
root      3183     1  0 20:13 ?        00:00:00 ./mongod --dbpath /data/shard3/ --logpath /logs/shard3.log --fork --port 27003
root      3267  2330  0 20:15 pts/2    00:00:00 grep --color=auto mongo
[root@VM_0_14_centos bin]# 

說明已經(jīng)正常啟動了,一個configsrv節(jié)點,一個路由幾點,3個分片節(jié)點碧绞。

5.啟動異常說明
????????筆者啟動的時候老提示"Error while loading shared libraries: libssl.so.6: cannot open shared object file:"

解決辦法:

下載openssl-1.0.1e(https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz)称诗,解壓后再通過./config shared zlib-dynamic命令生成MakeFile,然后執(zhí)行make重新生成libssl.so.1.0.0libcrypto.so.1.0.0,再將這兩個文件copy到/usr/lib64下面头遭。然后執(zhí)行:

ln -s libssl.so.1.0.0          libssl.so.10
ln -s libcrypto.so.1.0.0    libcrypto.so.10

如果中途make的時候出現(xiàn)gcc,zib.h缺失直接yum install安裝即可寓免。如果ln -s的時候提示軟鏈接已存在,則將原來的軟鏈接刪掉重新執(zhí)行上述命令即可。

6.添加分片
[root@VM_0_14_centos bin]# ./mongo --port 27000
./mongo: /lib64/libcrypto.so.1.0.0: no version information available (required by ./mongo)
./mongo: /lib64/libssl.so.1.0.0: no version information available (required by ./mongo)
MongoDB shell version: 3.2.9
connecting to: 127.0.0.1:27000/test
Server has startup warnings: 
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] 
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] 
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] 
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] 
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 7281 processes, 100001 files. Number of processes should be at least 50000.5 : 0.5 times number of files.
2018-05-12T20:00:53.255+0800 I CONTROL  [initandlisten] 
configsvr> 

//注意添加分片的時候必須連到路由節(jié)點的端口:
[root@VM_0_14_centos bin]# ./mongo --port 27010
./mongo: /lib64/libcrypto.so.1.0.0: no version information available (required by ./mongo)
./mongo: /lib64/libssl.so.1.0.0: no version information available (required by ./mongo)
MongoDB shell version: 3.2.9
connecting to: 127.0.0.1:27010/test
Server has startup warnings: 
2018-05-12T20:06:43.668+0800 I CONTROL  [main] ** WARNING: You are running this process as the root user, which is not recommended.
2018-05-12T20:06:43.668+0800 I CONTROL  [main] 
mongos> use admin
switched to db admin
mongos> sh.addShard("172.27.0.14:27001");
{ "shardAdded" : "shard0000", "ok" : 1 }
mongos> sh.addShard("172.27.0.14:27002");
{ "shardAdded" : "shard0001", "ok" : 1 }
mongos> sh.addShard("172.27.0.14:27003");
{ "shardAdded" : "shard0002", "ok" : 1 }
mongos> 

一個分片集群就已經(jīng)搭建完成了计维。

四袜香、總結(jié)

要想深入了解mongodb,就必要搭建一套集群環(huán)境.mongodb其實有分片,主從鲫惶,副本集的集群方式,但是企業(yè)一般都是用的分片集群,所以搭建一套集群環(huán)境對以后深入了解mongodb是非常有必要的蜈首。

參考文檔:
https://blog.csdn.net/qq43748322/article/details/78327389
https://blog.csdn.net/shmnh/article/details/50465862

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市欠母,隨后出現(xiàn)的幾起案子欢策,更是在濱河造成了極大的恐慌,老刑警劉巖赏淌,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件踩寇,死亡現(xiàn)場離奇詭異,居然都是意外死亡六水,警方通過查閱死者的電腦和手機俺孙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掷贾,“玉大人睛榄,你說我怎么就攤上這事∠胨В” “怎么了场靴?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長港准。 經(jīng)常有香客問我旨剥,道長,這世上最難降的妖魔是什么叉趣? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任泞边,我火速辦了婚禮,結(jié)果婚禮上疗杉,老公的妹妹穿的比我還像新娘阵谚。我一直安慰自己蚕礼,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布梢什。 她就那樣靜靜地躺著奠蹬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗡午。 梳的紋絲不亂的頭發(fā)上囤躁,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音荔睹,去河邊找鬼狸演。 笑死,一個胖子當(dāng)著我的面吹牛僻他,可吹牛的內(nèi)容都是我干的宵距。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吨拗,長吁一口氣:“原來是場噩夢啊……” “哼满哪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起劝篷,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤哨鸭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后娇妓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體像鸡,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年峡蟋,在試婚紗的時候發(fā)現(xiàn)自己被綠了坟桅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片华望。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蕊蝗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赖舟,到底是詐尸還是另有隱情蓬戚,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布宾抓,位于F島的核電站子漩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏石洗。R本人自食惡果不足惜幢泼,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望讲衫。 院中可真熱鬧缕棵,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至别厘,卻和暖如春虱饿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背触趴。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工氮发, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冗懦。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓折柠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親批狐。 傳聞我的和親對象是個殘疾皇子扇售,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容