Mongodb 副本集分片(一)---初始化mongodb安装启动

写在前面: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

时间: 2024-08-06 03:44:40

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

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

MongoDB 副本集+分片 认证方式搭建 参考资料: https://www.cnblogs.com/ityouknow/p/7344005.htmlhttps://jorwen-fang.iteye.com/blog/2031756https://www.cnblogs.com/bjx2020/p/9350232.htmlhttps://www.jb51.net/article/161315.htmhttps://blog.51cto.com/beigai/1751381 环境规划: 服务器

Mongodb 副本集+分片集群搭建

环境需求: 在三台机器上搭建副本集,在副本集上做分片 服务器IP: 192.168.1.232/192.168.1.238/192.168.1.241 安装Mongodb all nodes: tar zxvf mongodb-linux-x86_64-rhel62-3.4.4.tgz cp -rvf  mongodb-linux-x86_64-rhel62-3.4.4  /opt/mongodb_3.4.4 cd /opt/mongodb_3.4.4/ mkdir -pv conf logs

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

1:下载MongoDB 2.6版本 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.6.9.zip 2:解压 tar -zxvf mongodb-linux-x86_64-2.6.9.zip mv mongodb-linux-x86_64-2.6.9 mongodb 3:在mongodb目录创建 data目录和 log 目录 和conf配置文件 同时保证data和log目录有可读写权限 4:编辑配置文件 vi mo

MongoDB副本集运维小结

前面的文章介绍了MongoDB副本集和分片集群的做法,下面对MongoDB集群的日常维护操作进行小总结: MongDB副本集故障转移功能得益于它的选举机制.选举机制采用了Bully算法,可以很方便从分布式节点中选出主节点. Bully算法是一种协调者(主节点)竞选算法,主要思想是集群的每个成员都可以声明它是主节点并通知其他节点.别的节点可以选择接受这个声称或是拒绝并进入主 节点竞争.被其他所有节点接受的节点才能成为主节点.节点按照一些属性来判断谁应该胜出.这个属性可以是一个静态ID,也可以是更新

配置MongoDB副本集

1 案例1:配置MongoDB副本集 1.1 问题 具体要求: 准备3台mongodb服务器 配置副本集服务 验证副本集配置 1.2 方案 准备三台虚拟机,配置mongodb副本集,ip分别为192.158.4.51, 192.168.4.52,192.168.4.53其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据,实现存储数据副本,提高了数据的可用性,具体分配如表-1所示: 表-1 1.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:创建mongodb副本集

搭建mongodb集群(副本集+分片)

完整的搭建mongodb集群(副本集+分片)的例子... 准备四台机器,分别是bluejoe1,bluejoe2,bluejoe3,以及bluejoe0 副本集及分片策略确定如下: 将创建3个副本集,命名为shard1,shard2,shard3: 以上3个副本集作为3个分片: 每个副本集包含2个副本(主.辅): 副本分开存储,即shard1存在bluejoe1和bluejoe2上各一份...以此类推 将创建3个配置库实例,一台机器一个 bluejoe0上配置一个mongos(mongos一般可

总结遇到的几次MongoDB副本集初始化失败问题

前言: 在之前搭建MongoDB集群中,遇到过几次小问题引起的初始化副本集失败,都是之前初学时踩的坑,做个小结. 1.IP错误引起MongoDB副本集初始化失败 这个错误在另一篇文章已经描述过,这里略过不赘述.详情见博客:IP错误引起MongoDB副本集初始化失败 2.PRIMARY与SECONDARY主机mongodb-keyfile文件内容不一致,导致在PRIMARY上添加副本集失败 问题描述: 搭建另外一个MongoDB副本集,主机和角色分配如下: 主机IP 角色 系统 131.10.11

Mongodb副本集实现

MongoDB副本集概述 以下图片摘自MongoDB官方文档:http://docs.mongodb.org/manual/core/replication-introduction/ Primary节点接收客户端所有的写操作,整个副本集只会有一个primary节点.MongoDB副本集提供严格的一致性.主节点将所有的操作写入一个叫oplog的capped collection(这个collection的大小一般为磁盘剩余空间的5%,不同的系统可能不一样,详见http://docs.mongod

MongoDB 副本集(类似高可用) [三]

MongoDB 副本集(类似高可用)1.节点类型standard:常规节点,它存储一份完整的数据副本,参与选举投票,有可能成为活跃节点.passive:存储了完整的数据副本,参与投票,不能成为活跃节点.arbiter:仲裁节点,只参与投票,不接收复制的数据,也不能成为活跃节点.2.参数说明--dbpath   数据文件路径--logpath  日志文件路径--port        端口号,默认是27017.我这里使用的也是这个端口号.--replSet   复制集的名字,一个replica s