#!/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. SharePoint Framework 在web部件中使用第三方样式 - 将第三方样式打到包中

    博客地址:http://blog.csdn.net/FoxDave 有许多第三方库可以帮助我们构建丰富的SharePoint Framework客户端web部件.并且这些JavaScript脚本常常包 ...

  2. 1019. General Palindromic Number (20)

    生词以及在文中意思 forward 向前地 backward 向后地 palindromic 回文的 base 基数(如十进制的10 和二进制的2) numeral system 数制 decimal ...

  3. day 23 对象的名称空间 类,对象属性和方法 封装 接口提供

    一.对象的特有名称空间 # 对象独有的名称空间:在产生对象时就赋初值 '''class ted: def func(): 当func里不存在参数时,调用时不需要给值 print('hah')ted.f ...

  4. 2018-4-25 初识html

    第一天 简单了解web 路线 html css js 发布网站 web运作 html html是超文本语言,也就是标记语言.说白了也就规定了一些符号,然后赋予这些符号意义.比如规定a就是超链接标签,用 ...

  5. HttpClient 通过代理访问验证服务器

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  6. CSS第二篇

    给导航设置圆角的代码: c3 里面的属性:border-radius:7px: 1补充盒子问题 (盒子边框紧邻变粗问题)将两个盒子边框重叠并且设置定位提高层级避免盒子重叠,鼠标放上去只显示一个盒子的边 ...

  7. 10_java基础——构造器里调用构造器

    package com.huawei.test.java04; /** * This is Description * * @author * @date 2018/08/30 */ public c ...

  8. Linux 环境下安装RabbitMQ的步骤

    #下载erlangcd /usr/local/devwget wget http://erlang.org/download/otp_src_17.5.tar.gz # 解压tar -xzvf otp ...

  9. 元组tuple 可迭代对象

    1. 字符串.元组和列表相互转化 s = 'abcdef' li = ['a','b','c','d'] tu = (1,2,4,9) v = tuple(s) print('v = ',v) w = ...

  10. Hive的初识

    Hive是构建于Hadoop上的数据仓库基础框架,它提供了以下功能: 可通过SQL轻松的访问数据,从而实现数据仓库的任务.如提取/转换/加载,报告和数据分析. 对各种数据格式施加结构. 访问存储在HD ...