#!/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. iphone html5页面禁止点击数字就打电话

    在html页面的head代码之间增加下面代码: <meta name="format-detection" content="telephone=no" ...

  2. shell脚本学习总结(不断更新中)

    前言:自从大学毕业参加工作以来,接触的开发工作都是在服务端完成,于是接触了比较多的Linux当做开发机使用,或多或少有一些重复性的工作,于是开始琢磨学习一些shell脚本的知识,以便处理这些繁琐的事情 ...

  3. pytest自动化5:pytest-html插件--生成html报告

    前言:pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告.兼容Python 2.7,3.6 pytest-html 1.  pip 安装: pip install pytes ...

  4. Python第四章(北理国家精品课 嵩天等)

    一.程序的分支结构 二.身体质量指数BMI #CalBIv1.py height,weight = eval((input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))) ...

  5. shell脚本判断安装包位置及类型

    Log() { LogFile=/tmp/``.log LogDate=$(date +"%F %T") echo -e "\n\n||| ${LogDate} ||| ...

  6. python之三级目录

    #python之三级目录低配版 menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{ }, 'HP':{ }, '渣打银行':{ }, 'CCTV':{ }, }, '望京': ...

  7. 运维ldd语法--》ldconfig

    Linux:ldd命令详解   ldd 用于打印程序或者库文件所依赖的共享库列表. 语法 ldd(选项)(参数) 选项 --version:打印指令版本号: -v:详细信息模式,打印所有相关信息: - ...

  8. idea 里自动下载私服jar一直不能下载下来

    idea 里自动下载私服jar一直不能下载下来,只生成了.lastUpdated文件,检查了setting.xml文件.网络,私服,均无问题,在idea中打开Terminal窗口,在所要更新的pom. ...

  9. 08_java基础知识——方法重载

    一.自变量顺序不同 package com.huawei.test.java04; /** * This is Description * * @author 王明飞 * @date 2018/08/ ...

  10. Centos7-跟踪用户操作记录并录入日志

    1. 添加bash全局配置文件: cd /etc/profile.d sudo -e vi log_command.sh 输入如下内容: export PROMPT_COMMAND='RETRN_VA ...