MongoDB Sharding分片 shell 脚本
#!/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 脚本的更多相关文章
- 全自动安装mongoDB数据库的shell脚本
最近在研究mongoDB数据库,写了个全自动安装mongoDB数据库的shell脚本,仅供参考,欢迎拍砖,内容如下: #!/bin/bash # shell的执行选项: # -n 只读取shell脚本 ...
- MongoDB Sharding分片配置
Ps:mongod是mongodb实例,mongos被默认为为mongodb sharding的路由实例. 本文使用的mongodb版本为3.2.9,因此参考网址为:https://docs.mong ...
- 第41章:MongoDB-集群--Sharding(分片)
①Sharding分片概念 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载. 分片是每个分 ...
- MongoDB的集群模式--Sharding(分片)
分片是数据跨多台机器存储,MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署. 具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量.例如,高查询率会耗尽服务器的CP ...
- MongoDB之分片集群(Sharding)
MongoDB之分片集群(Sharding) 一.基本概念 分片(sharding)是一个通过多台机器分配数据的方法.MongoDB使用分片支持大数据集和高吞吐量的操作.大数据集和高吞吐量的数据库系统 ...
- MongoDB学习笔记(五)--复制集 && sharding分片
主从复制 主从节点开启 主节 ...
- MongoDB 自动分片 auto sharding
MongoDB部署实验系列文章 MongoDB做为NoSQL数据库,最近几年持续升温,越来越多的企业都开始尝试用MongoDB代替原有Database做一些事情.MongoDB也在集群,分片,复制上也 ...
- MongoDB整理笔记のSharding分片
这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在sharding 的各个节点上,使用者通过简单的配置就可以很方便地构建一个分布式MongoDB 集群.MongoDB 的数据分块称为 chu ...
- 转】MongoDB 自动分片 auto sharding
原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/4/ 感谢! MongoDB 自动分片 auto shard ...
随机推荐
- oracle 同义词synonym
在A用户下,想访问B用户下的表,一遍需要用 “用户名.表名 ”的格式进行访问.如果想不加用户名,直接访问,需要建同义词. 同义词语法如下: CREATE [PUBLIC] SYNONYM synony ...
- filter以及reduce的用法
简单的写了就几个例子 # 删掉偶数 li = [1,2,3,4,5,6,7,8,9,10] print(list(filter( lambda x : not x % 2 ==0 ,li))) #保留 ...
- go语言 godep save 报错 is not using a known version control system
使用 godep save 后提示需要包 如果使用 gopm 下载需要的包,就会没有版本控制文件夹,再次使用godep save后会报错 https://github.com/gpmgo/gopm/i ...
- pytorch怎么抽取中间的特征或者梯度
for i, (input, target) in enumerate(trainloader): # measure data loading time data_time.update(time. ...
- 浅谈MVC中的service层(转)
概述 mvc框架由model,view,controller组成,执行流程一般是:在controller访问model获取数据,通过view渲染页面. mvc模式是web开发中的基础模式,采用的是分层 ...
- EDF转TXT,EDF转mat,rec转TXT eeg
https://files.cnblogs.com/files/myohao/edfsample.zip
- 每天一本电子书 - JavaScript for Kids: A Playful Introduction to Programming
JavaScript for Kids: A Playful Introduction to Programming 作者: Nick Morgan 出版社: No Starch Press 副标题 ...
- webpack基本配置
module: { rules: [ { test: /\.css$/, use: ['style-loader','css-loader?minimize'] } ] } 一.入门 loader可以 ...
- MySQL_视图
MySQL 视图 (http://www.cnblogs.com/chenpi/p/5133648.html) 1.什么是视图 通俗的讲,视图就是一条SELECT语句执行后返回的结果集.所以我们在创建 ...
- js数组遍历方法总结
数组遍历方法 1.for循环 使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显. 1 2 3 for(j = 0,len=arr.length; j < le ...