写在前面: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. Java SE 基础:标识(zhì)符

    Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不 ...

  2. Redis3.2+Tomcat实现集群的Session管理 -- tomcat-redis-session-manager的编译和开发部署环境搭建

    已经有不少文章介绍使用tomcat-redis-session-manager来实现Redis存储Tomcat的Session,实现分布式Session管理.但是现在官方编译的tomcat-redis ...

  3. css样式表(四)

    ******* CSS 常用属性 ********* [font] font 设置或检索对象中的文本特性.该属性是复合属性. 使用第一种声明方式参数必须按照如上的排列顺序,且font-size和fon ...

  4. HQL查询——HQL查询的基本用法

    HQL查询--HQL查询的基本用法 1.HQL语法类似于SQL语法,但是需要注意的是,HQL是一种完全面向对象的查询语言.SQL语言操作的对象是数据表.列等数据库对象,而HQL语言的操作对象是类.实例 ...

  5. java编程者必收藏的十大学习网站-xiaolanglang123 -

    3S博客 http://blog.3snews.net/space.php?uid=13924628&do=blog&id=70282

  6. 1.NSNotification|远程通知|本地通知|激光推送

    1.   通知在iOS中应用非常广泛,合理的应用通知可以减少冗余代码,使我们的代码层次结构变了更加的清晰明了,利于程序猿读写.它主要分为不可见通知可见通知两种: 1.1 不可见通知,主要是有系统发出的 ...

  7. 修改客户端连接的服务器IP地址(内部使用)

    登录系统时如果出现 “验证失败”,或者,无法登陆系统,请修改服务器端IP地址,修改方法如下: 注意: (1)修改服务器端IP地址时,要提前关闭/退出客户端.建议也看看“Windows的任务管理器”中是 ...

  8. nginx+lua实现简单的waf网页防火墙功能

    原文:http://www.2cto.com/net/201608/534272.html 安装LuaJIT http://luajit.org/download/LuaJIT-2.0.4.tar.g ...

  9. Java的数据类型

    在JAVA中一共有八种基本数据类型,他们分别是byte.short.int.long.float.double.char.boolean整型其中byte.short.int.long都是表示整数的,只 ...

  10. Java Web之会话管理一: 使用Cookie进行会话管理

    一.Cookie的概念 Cookie(会话)可以简单的理解为:用户开一个浏览器,点击多个链接,访问服务器多个web资源,然后关闭浏览器,整个过程称为一个会话. 二.会话过程中解决的问题 用户在使用浏览 ...