根據服務器的硬盤狀況,其中/home爲固態盤,/data爲固態盤 /storage爲機械盤php
[root@mail ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 197G 1.6G 186G 1% /
tmpfs 63G 0 63G 0% /dev/shm
/dev/sda1 380M 70M 290M 20% /boot
/dev/sdb1 733G 197M 696G 1% /data
/dev/sda5 410G 235M 389G 1% /home
/dev/sdc1 9.0T 40M 8.5T 1% /storage
linux
若是沒有numactl命令,使用yum安裝
MongoDB 3.0版本安裝介質
MongoDB 3.0版本安裝包比之前更細化,有的朋友可能不太瞭解區別,簡單說明一下:
Linux 64-bit legacy 這個版本即mongodb-linux-x86_64-3.0.0.tgz 不推薦在正式環境使用,這個版本特色是沒有鏈接ssl相關的庫,而且可能缺乏針對操做系統的一些性能優化,可是能夠測試用,安裝簡單。
推薦按相應操做系統版本選擇對應的安裝包如centos6 rhel6選擇RHEL 6 Linux 64-bit,即mongodb-linux-x86_64-rhel62-3.0.0.tgz這個安裝包。
有朋友反應安裝不上,由於還須要安裝相應的依賴庫如OpenSSL 相關的庫。
以下所示,就是缺乏OpenSSL 相關的庫c++
ldd mongodb-linux-x86_64-rhel62-3.0.0/bin/mongod mongodb-linux-x86_64-rhel62-3.0.0/bin/mongod: /usr/lib64/libssl.so.10: no version information available (required by mongodb-linux-x86_64-rhel62-3.0.0/bin/mongod) mongodb-linux-x86_64-rhel62-3.0.0/bin/mongod: /usr/lib64/libcrypto.so.10: no version information available (required by mongodb-linux-x86_64-rhel62-3.0.0/bin/mongod) mongodb-linux-x86_64-rhel62-3.0.0/bin/mongod: /usr/lib64/libcrypto.so.10: no version information available (required by mongodb-linux-x86_64-rhel62-3.0.0/bin/mongod) linux-vdso.so.1 => (0x00007ffffd961000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d5b600000) libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003d62e00000) libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003d60e00000) librt.so.1 => /lib64/librt.so.1 (0x0000003d5be00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003d5ae00000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000039bc800000) libm.so.6 => /lib64/libm.so.6 (0x0000003d5ba00000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003d5ce00000) libc.so.6 => /lib64/libc.so.6 (0x0000003d5b200000) /lib64/ld-linux-x86-64.so.2 (0x0000003d5aa00000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003d61a00000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003d60a00000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003d5e200000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003d60600000) libz.so.1 => /lib64/libz.so.1 (0x0000003d5c200000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003d61e00000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003d60200000) libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003d5d600000) libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003d5ca00000)
安裝好後web
[root[@ccj-sf](/user/ccj-sf) export]# ldd /export/mongodb/bin/mongod linux-vdso.so.1 => (0x00007fff8f7ff000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6e0d5a9000) libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f6e0d33d000) libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f6e0cf59000) librt.so.1 => /lib64/librt.so.1 (0x00007f6e0cd51000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f6e0cb4d000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f6e0c846000) libm.so.6 => /lib64/libm.so.6 (0x00007f6e0c5c2000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f6e0c3ac000) libc.so.6 => /lib64/libc.so.6 (0x00007f6e0c017000) /lib64/ld-linux-x86-64.so.2 (0x00007f6e0d7cf000) libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f6e0bdd3000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f6e0baed000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f6e0b8e8000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f6e0b6bc000) libz.so.1 => /lib64/libz.so.1 (0x00007f6e0b4a6000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f6e0b29a000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f6e0b097000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f6e0ae7d000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f6e0ac5d000)
配置文件
mmapv1引擎,配置文件與2.x版本徹底相同。如:mongodb
# cat mongod.cnf dbpath=/export/data/mongodb30/mongod logpath=/export/data/mongodb30/log/mongod.log pidfilepath=/export/data/mongodb30/pid/mongod.pid directoryperdb=true replSet=a3 logappend=true keyFile=/export/data/mongodb30/key port=20000 fork=true
wireTiger引擎配置增長相關參數便可,以副本集爲例,如:centos
# cat mongod.cnf dbpath=/export/data/mongodb30/mongod logpath=/export/data/mongodb30/log/mongod.log pidfilepath=/export/data/mongodb30/pid/mongod.pid directoryperdb=true replSet=a3 logappend=true keyFile=/export/data/mongodb30/key port=20000 fork=true storageEngine=wiredTiger wiredTigerCacheSizeGB=10 wiredTigerStatisticsLogDelaySecs=0 wiredTigerJournalCompressor=snappy wiredTigerDirectoryForIndexes=true wiredTigerCollectionBlockCompressor=snappy wiredTigerIndexPrefixCompression=1
YAML 格式配置文件:
2.6版本就引入,以上面副本集爲例:api
$ cat mongodb.cnf systemLog: destination: file path: /export/data/mongodb30/log/mongod.log logAppend: true storage: journal: enabled: true dbPath: /export/data/mongodb30/mongod directoryPerDB: true engine: wiredTiger wiredTiger: engineConfig: cacheSizeGB: 10 directoryForIndexes: true collectionConfig: blockCompressor: snappy indexConfig: prefixCompression: true net: port: 20000 replication: replSetName: a3 security: keyFile: /export/data/mongodb30/key processManagement: pidFilePath: /export/data/mongodb30/pid/mongod.pid fork: true setParameter: enableLocalhostAuthBypass: false
單機去掉replication及keyfile設置便可,分片增長一些參數,如:
mongod增長性能優化
sharding: clusterRole: shardsvr
configer server服務器
sharding: clusterRole: configsvr
參考:
http://docs.mongodb.org/manual/reference/configuration-options/app