#!/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. Codeforces Round #538 (Div. 2) C. Trailing Loves (or L'oeufs?) (分解质因数)

    题目:http://codeforces.com/problemset/problem/1114/C 题意:给你n,m,让你求n!换算成m进制的末尾0的个数是多少(1<n<1e18    ...

  2. MySQL父子节点查询

    MySQL父子结点递归查询 表结构: CREATE TABLE `agency` ( `id` ) NOT NULL COMMENT '编号', `name` ) NOT NULL COMMENT ' ...

  3. Mysql和Hadoop+Hive有什么关系?

    1.Hive不存储数据,Hive需要分析计算的数据,以及计算结果后的数据实际存储在分布式系统上,如HDFS上. 2.Hive某种程度来说也不进行数据计算,只是个解释器,只是将用户需要对数据处理的逻辑, ...

  4. better-scroll

    better-scroll会将默认事件阻止掉,如果自己写的部分需要有点击事件,需要在参数里加上click:true. 同时,在PC上或某些手机端,由于未成功将touchend事件move掉,点击事件会 ...

  5. 2Sum问题

    2Sum问题是3Sum和4Sum的基础,很多OJ都是以此为最简单的练手题的. 题目描述: 从一个数组里找出两个和为target的数. LeetCode上的描述: Given an array of i ...

  6. 运维ps语法---》ps、pstree、top、htop、nice、renice、kill、ulimit、w 和 who 和 whoami、pgrep、fg 和 bg、ipcs

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  7. mysql数据库操作记录持续更新...

    1.查看删除数据库表的唯一约束 SHOW INDEX FROM tbl_name (唯一约束也是索引) ALTER TABLE tbl_name DROP INDEX index_name   2.u ...

  8. centos6.5卸载及安装git

    一.卸载原有的git 用whereis git命令来检查是否已经安装了git版本的 再使用命令:yum remove git卸载git 二.安装git (一)官网下载:https://mirrors. ...

  9. SVN配置(服务器端及客户端)

    版本控制工具,在前几年一直用的SVN,从去年后半年开始本人开始使用GIT.为了避免后期再次使用SVN过程中出现生疏,在此将SVN服务端及客户端配置方式罗列出来. 本人使用的SVN版本为 服务端: Vi ...

  10. you-get 下载视频

    亲测有效,没在别的平台试,道理是相通的 平台:Windows 10 所需工具: python3,pip3,you-get 步骤流程: 正确安装python3,配置环境变量 (目前使用的是3.6+) 打 ...