#!/bin/sh
CONFIG_NAME=$
CONFIG_PORT=$
SERIAL_NUM=$
STORAGE_HOME=$ if [ ! -n "$CONFIG_NAME" ] ; then
CONFIG_NAME=MCCONFIG
fi if [ ! -n "$CONFIG_PORT" ] ; then
CONFIG_PORT=
fi if [ ! -n "$STORAGE_HOME" ] ; then
STORAGE_HOME=.
fi if [ ! -d "$STORAGE_HOME/config" ] ; then
mkdir $STORAGE_HOME/config
mkdir $STORAGE_HOME/config/datas
mkdir $STORAGE_HOME/config/logs
fi DBPATH=$STORAGE_HOME/config/datas/$CONFIG_NAME-$SERIAL_NUM
LOGPATH=$STORAGE_HOME/config/logs if [ ! -d "$DBPATH" ] ; then
mkdir $DBPATH
fi mongod --configsvr \
--replSet $CONFIG_NAME \
--dbpath $DBPATH \
--logpath $LOGPATH/$CONFIG_NAME-$SERIAL_NUM.log \
--bind_ip_all \
--port $CONFIG_PORT \
--fork \
--logappend \
--journal

start_config.sh

 #!/bin/sh

 # 分片名称
SHARD_NAME=$ # 分片端口
SHARD_PORT=$ #分片序列号
SERIAL_NUM=$ STORAGE_HOME=$ usage() {
echo "sh start_shard.sh <SHARD_NAME> <SHARD_PORT> <SERIAL_NUM>"
echo "- SHARD_NAME : 分片名称"
echo "- SHARD_PORT : 分片端口"
echo "- SERIAL_NUM : 分片序列号"
} if [ ! -n "$SHARD_NAME" ] ; then
echo "SHARD_NAME 不能为空!"
usage
exit
fi if [ ! -n "$SHARD_PORT" ] ; then
echo "SHARD_PORT不能为空!"
usage
exit
fi if [ ! -n "$SERIAL_NUM" ] ; then
echo "SERIAL_NUM不能为空"
usage
exit
fi if [ ! -n "$STORAGE_HOME" ] ; then
STORAGE_HOME=.
fi if [ ! -d "$STORAGE_HOME" ] ; then
mkdir $STORAGE_HOME
fi WORKDIR_DATA=$STORAGE_HOME/datas
WORKDIR_LOG=$STORAGE_HOME/logs if [ ! -d "$WORKDIR_DATA" ] ; then
mkdir $WORKDIR_DATA
fi if [ ! -d "$WORKDIR_DATA/$SHARD_NAME-$SERIAL_NUM" ] ; then
mkdir $WORKDIR_DATA/$SHARD_NAME-$SERIAL_NUM
fi if [ ! -d "$WORKDIR_LOG" ] ; then
mkdir $WORKDIR_LOG
fi #启动脚本
mongod --shardsvr \
--replSet $SHARD_NAME \
--bind_ip_all \
--port $SHARD_PORT \
--dbpath $WORKDIR_DATA/$SHARD_NAME-$SERIAL_NUM \
--logpath $WORKDIR_LOG/$SHARD_NAME-$SERIAL_NUM.log \
--nojournal \
--oplogSize \
--fork

start_shard.sh

#!/bin/sh
CONFIG_NAME=$
MONGOS_PORT=$
STORAGE_HOME=$ if [ ! -n "$CONFIG_NAME" ] ; then
CONFIG_NAME=MCCONFIG
fi if [ ! -n "$MONGOS_PORT" ] ; then
MONGOS_PORT=
fi if [ ! -n "$STORAGE_HOME" ] ; then
STORAGE_HOME=.
fi if [ ! -d "$STORAGE_HOME/mongos" ] ; then
mkdir $STORAGE_HOME/mongos
fi LOGPATH=$STORAGE_HOME/mongos/logs
if [ ! -d "$LOGPATH" ] ; then
mkdir $LOGPATH
fi
#同一台机器,不同端口
mongos --configdb $CONFIG_NAME/127.0.0.1:,127.0.0.1:,127.0.0.1: --logpath $LOGPATH/mongos.log --logappend --port $MONGOS_PORT --bind_ip_all --fork
#不同机器,同一端口
#mongos --configdb $CONFIG_NAME/172.16.1.53:,172.16.1.54:,172.16.1.55: --logpath $LOGPATH/mongos.log --logappend --port $MONGOS_PORT --fork

start_mongos.sh

MongoDB Sharding分片 shell 脚本的更多相关文章

  1. 全自动安装mongoDB数据库的shell脚本

    最近在研究mongoDB数据库,写了个全自动安装mongoDB数据库的shell脚本,仅供参考,欢迎拍砖,内容如下: #!/bin/bash # shell的执行选项: # -n 只读取shell脚本 ...

  2. MongoDB Sharding分片配置

    Ps:mongod是mongodb实例,mongos被默认为为mongodb sharding的路由实例. 本文使用的mongodb版本为3.2.9,因此参考网址为:https://docs.mong ...

  3. 第41章:MongoDB-集群--Sharding(分片)

    ①Sharding分片概念 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载. 分片是每个分 ...

  4. MongoDB的集群模式--Sharding(分片)

    分片是数据跨多台机器存储,MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署. 具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量.例如,高查询率会耗尽服务器的CP ...

  5. MongoDB之分片集群(Sharding)

    MongoDB之分片集群(Sharding) 一.基本概念 分片(sharding)是一个通过多台机器分配数据的方法.MongoDB使用分片支持大数据集和高吞吐量的操作.大数据集和高吞吐量的数据库系统 ...

  6. MongoDB学习笔记(五)--复制集 && sharding分片

    主从复制                                                                                       主从节点开启 主节 ...

  7. MongoDB 自动分片 auto sharding

    MongoDB部署实验系列文章 MongoDB做为NoSQL数据库,最近几年持续升温,越来越多的企业都开始尝试用MongoDB代替原有Database做一些事情.MongoDB也在集群,分片,复制上也 ...

  8. MongoDB整理笔记のSharding分片

    这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding 的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB 集群.MongoDB 的数据分块称为 chu ...

  9. 转】MongoDB 自动分片 auto sharding

    原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/4/ 感谢! MongoDB 自动分片 auto shard ...

随机推荐

  1. MySQL数据库需进行修改密码问题解决方案

    两种方式可供大家进行参考: 第一种: 格式:mysqladmin -u用户名 -p旧密码 password 新密码 1.给root加个密码pass123: 首先在DOS下进入目录mysql\bin,然 ...

  2. [Paper][Link note]

    http://ieeexplore.ieee.org/document/6974670/

  3. java HttpClient 忽略证书的信任的实现 MySSLProtocolSocketFactory

    当不需要任何证书访问https时,java中先实现一个MySSLProtocolSocketFactory类忽略证书的信任 package com.tgb.mq.producer.utils; imp ...

  4. axis调用Web服务报axis unexpected wrapper element{XXXX}XXX错误的解决

    使用axis调用WebService时报错:axis unexpected wrapper element{XXXX}YYY .... expected {XXXX}. 经查,XXXX为wsdl文件中 ...

  5. dos脚本》

    如上图,我们只要在dos界面中输入各种dos命令,即可实现相应的命令,下面分享下dos命令大全:net use ipipc$ " " /user:" " 建立I ...

  6. 10/03/2019 PCL-1.8.1 Ubuntu 16.04 boost 1.69 CUDA 9.0 installation

    cmake -DCMAKE_BUILD_TYPE=None -DBUILD_GPU=ON -DBUILD_CUDA=ON -DBUILD_gpu_kinfu=ON -DBUILD_gpu_kinfu_ ...

  7. Heap Sort - recursion

    Heap Sort  Build a max heap using exsiting array, which is called Heapify Swap root with the last el ...

  8. thinkphp5.0引入类

    /application/index/controller/Test.php <?php namespace app\index\controller; 当前命名空间名称 use think\C ...

  9. 线性求第k大

    快排变种. 快排每次只进行部分排序,进入左边或者右边或者当前mid就是答案. 据说期望值是O(n) 然后STL中的 nth_element也是用这个思想. #include <cstdio> ...

  10. Java基础知识——算术操作符、自增自减、关系操作符,你真的了解吗?

    三人行,必有我师焉.欢迎大家加我的微信 yh18482155461,或扫描下方二维码,关注我的微信公众号,共同探讨Java相关技术问题. 温故知新 上一节我们讲到了Java中的赋值操作符,用案例的方式 ...