脚本

port="28017 28018 28019 28020"dir=/usr/local/mongodb/shardexec=/usr/local/mongodb/bin/mongodfunction create(){    for  i in $port        do           mkdir -p $dir/$i/conf            mkdir -p $dir/$i/data            mkdir -p $dir/$i/log    donecat >>$dir/28017/conf/mongod.conf<<'EOF'systemLog:  destination: file  path: /usr/local/mongodb/shard/28017/log/mongodb.log  logAppend: truestorage:  journal:    enabled: true  dbPath: /usr/local/mongodb/shard/28017/data  directoryPerDB: true  #engine: wiredTiger  wiredTiger:    engineConfig:      # cacheSizeGB: 1      directoryForIndexes: true    collectionConfig:      blockCompressor: zlib    indexConfig:      prefixCompression: trueprocessManagement:  fork: true  pidFilePath: /usr/local/mongodb/shard/28017/mongod.pidnet:  port: 28017replication:  oplogSizeMB: 2048  replSetName: my_replEOF    for i in 28018 28019 28020      do         \cp  $dir/28017/conf/mongod.conf  $dir/$i/conf/       sed  -i '' "s#28017#$i#g" $dir/$i/conf/mongod.conf    done}function start(){    for i in $port      do          $exec -f $dir/$i/conf/mongod.conf     done}function stop(){        for i in $port      do        kill -9 `cat ${dir}/$i/mongod.pid`    done}if [[ $1 == 'start' ]];then    echo "Service Start"    startelif [[ $1 == 'create' ]];then    echo "Service Create"    createelif [[ $1 == 'stop' ]];then    echo "Service Stop"    stopelif [[ $1 == 'restart' ]];then    stop    startelse   echo "Only Can use (create|start|stop|restart)"fi

加入集群

mongo --port 28017config = {_id: 'my_repl', members: [                          {_id: 0, host: '127.0.0.1:28017'},                          {_id: 1, host: '127.0.0.1:28018'},                          {_id: 2, host: '127.0.0.1:28019'}]          }rs.initiate(config)