写在前面:mongodb是nosql非关系型数据库中,比较受欢迎的产品。在数据持久化及与关系型数据库的关联上也做的比较好,目前各大公司在存放二进制文件(图片、视频等)中应用也比较广泛。其遵循的key-value的数据模式及面向对象的json语句用法,也比较简单。在之后,会系列的跟大家分享,我在学习及生产应用中,使用到的mongodb的一些心得。希望大家共同学习,共同研究探讨。谢谢。

以下内容,是简单的将整个mongodb的安装过程,进行shell脚本化编辑。很简单的脚本编写。如有任何问题,欢迎大家反馈并与我联系。大家使用过程中,可以将整段内容粘贴至类似mongodbinit.sh的文本脚本中。chmod修改权限+x。之后执行即可。

注:replSet为副本集名称,可以自由编辑设定,本示例中使用replSet=picture。当使用db.shutdownServer()来关闭db时,只接受本地连接。

###install mongodb bags###
yum install -y openssl-devel openssl
cd /opt/
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.2.tgz
tar zxvf /opt/mongodb-linux-x86_64-rhel62-3.0.2.tgz -C /usr/local/
ln -s /usr/local/mongodb-linux-x86_64-rhel62-3.0.2 /usr/local/mongodb-3.0.2

###configure limit parameters###
cat >> /etc/security/limits.conf << EOF
* soft nofile   655350
* hard nofile   655350
* soft nproc    65535
* hard nproc    65535
* soft core             unlimited
* hard core             unlimited
* soft memlock  50000000
* hard memlock  50000000
EOF

###prepare the menu for data or logs###
mkdir -pv /usr/local/mongodb-3.0.2/{data,logs,socket}
mkdir -pv /var/run/mongodb

###edit mongodb config file###
parastr=(  
"dbpath=/usr/local/mongodb-3.0.2/data"  
"logpath=/usr/local/mongodb-3.0.2/logs/mongo.log"  
"pidfilepath=/var/run/mongodb/mongodb.pid"  
"unixSocketPrefix=/usr/local/mongodb-3.0.2/socket"  
"directoryperdb=true"  
"replSet=picture"
"shardsvr=true"
"logappend=true"  
"bind_ip=0.0.0.0"  
"port = 27017"
"maxConns=20000"
"oplogSize=30720"
"fork=true"
"nohttpinterface=true"
"nojournal=true"  
)  
 
if [ ! -f /etc/mongodb.conf ]; then  
  size=${#parastr[@]};  
  for ((i=0;i<$size;i++))  
  do  
    eval tmp=\${parastr[i][@]}  
    echo $tmp >> /etc/mongodb.conf
  done  
fi

###/usr/local/mongodb-3.0.2/bin/mongod --config /etc/mongodb.conf

cat >> /etc/init.d/mongo << EOF
ulimit -SHn 655350
#!/bin/sh
# chkconfig: - 64 36
# description:mongod

case $1 in
    start)
    /usr/local/mongodb-3.0.2/bin/mongod --config /etc/mongodb.conf
    ;;

stop)
    /usr/local/mongodb-3.0.2/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
    #/usr/local/mongodb-3.0.2/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('system', '123456');db.shutdownServer()"
    ;;

status)
    /usr/local/mongodb-3.0.2/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
    #/usr/local/mongodb-3.0.2/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('system', '123456');db.stats()"
    ;;
esac
EOF

chmod +x /etc/init.d/mongo

/etc/init.d/mongo start

Mongodb 副本集分片(一)---初始化mongodb安装启动的更多相关文章

  1. MongoDB 副本集+分片 认证方式搭建

    MongoDB 副本集+分片 认证方式搭建 参考资料: https://www.cnblogs.com/ityouknow/p/7344005.htmlhttps://jorwen-fang.itey ...

  2. mongoDB副本集+分片集群

    首先搭建一个副本集(三台机器) 主,从,仲裁 然后搭建分片shard1,在每台机子上启用shard1(这里就写一个分片吧!!如果写多了怕初学者会混乱,先写一个.然后可以按照同样的方法写第二个,第三个) ...

  3. Mongodb 副本集+分片

    mongodb的分片功能是建立在副本集之上的,所以首先我们尝试着配置副本集. docker启动3个已经安装好mongo的镜像 # docker run -idt --name mongodb_01 m ...

  4. mongodb 副本集+分片集群搭建

    数据分片节点#192.168.114.26mongod --shardsvr --replSet rsguo --port 2011 --dbpath=/data/mongodb/guo --logp ...

  5. C# 连接mongodb副本集+分片读写分离及学习资料

    一.副本集配置 搭建完毕,1台主实例.1台从实例.1台仲裁实例.mongodb建议副本集中的机器数量为奇数,即至少需要3台实例 二.副本集连接字符串 1.读 mongodb://secondary.c ...

  6. MongoDB副本集配置系列一:安装MongoDB

    1:下载MongoDB 2.6版本 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.6.9.zip 2:解压 tar ...

  7. mongodb副本集出现的错误 mongodb error: { MongoNetworkError: failed to connect to server [127.0.0.1:1010] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:1010]

    replset = pictureWorks 执行:mongo --port 1008  (查看1008是否是住数据库) rs.status() 执行: onfig={"_id": ...

  8. Mongodb 副本集分片(二)---mongodb副本集部署脚本详解

    分享下,最近做的一主一从一仲裁的示例,如有需要,大家可以扩展成一主两从一仲裁. 大家可以看到  我的集群名字沿用了默认的neunnm,如果是其他的话   大家注意修改. 需要辅助文件hosts.con ...

  9. mongodb 副本集之入门篇

    作者: 凹凸曼-军军 前言:mongodb 因为高性能.高可用性.支持分片等特性,作为非关系型数据库被大家广泛使用.其高可用性主要是体现在 mongodb 的副本集上面(可以简单理解为一主多从的集群) ...

随机推荐

  1. cocos IDE 编译lua 游戏程序的环境配置

    因为毕业设计需要用cocosIDE编译一个apk在手机上跑,所以搭建这个环境还是需要的. ps:是针对win系统的. 需要的工具: 1.cocosIDE:点击链接 (ps:据说这个软件设计有点反人类, ...

  2. CentOS 7 下,如何设置DNS服务器

    在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了.和CentOS 6下的设置DNS方法不同,有几种方式: 1.使用全新的命令行工具 ...

  3. Android多媒体--MediaCodec 中文API文档

    *由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...

  4. 21-React的学习

    # React的学习 React概述: React是一个用于构建用户界面的JavaScript库. React主要用于构建UI,很多人认为React是MVC中的V(视图). React起源于Faceb ...

  5. html热力图的操作(点击图片的不同位置操作不同的事件)适合说明文档

    页面核心代码 <div class="first_top"> <div class="back"> <img src=" ...

  6. 2.ReactNative Properties|States|Styles 笔记

    原文地址:http://reactnative.cn/docs/0.31/props.html#content 1. property: 如下代码所示 import React, { Componen ...

  7. FontMetrics属性的介绍

    1.基准点是baseline 2.ascent:是baseline之上至字符最高处的距离 3.descent:是baseline之下至字符最低处的距离 4.leading:是上一行字符的descent ...

  8. Linux关机和重启命令

    shutdown shutdown [选项] 时间 选项: -c : 取消一个关机命令 -h : 关机 -r : 重启 [root@localhost ~]# date Tue Dec 6 21:06 ...

  9. consul模板的说明2

    保证模板的正常执行 使用||true $ consul-template -template "in.ctmpl:out.file:service nginx restart || true ...

  10. MySQL自定义函数

    用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同. 自定义函数两个必要条件: 参数:可以有另个或多个 返回值:只能有一个 创建自定 ...