安装MongoDB单机与路由-配置-副本集模式集群

MongoDB单机和集群安装

下载

下载地址:https://www.mongodb.com/download-center/community
选择合适的版本和系统型号,我这里下载的是社区版tgz的
在这里插入图片描述
下载完成后上传到服务器解压即可.

linux单机安装

  1. 找到想安装的位置解压tgz在这里插入图片描述
		我的安装目录是在/opt下,执行  
		
		tar -zxvf 安装目录		

最终结果是/opt/mongodb/
在这里插入图片描述

  1. 设置环境变量
    在/ect/profile中加入如下环境变量后刷新一下(source /etc/profile)使配置生效
    在这里插入图片描述
  2. 设置数据存储,日志存储以及配置文件地址
    在/opt/mongodb目录下创建
    data,logs,etc目录
    在etc下创建配置文件mongodb.conf
    内容如下:
    配置内容解释回头看我另一个博文mongodb配置文件解析 或者 MongoDB配置文件信息
	dbpath=/opt/mongodb/data
	logpath=/opt/mongodb/logs/mongodb.log
	logappend=true
	#bind_ip=ip
	port=27017
	fork=true
	auth=true
	#master=true
	#slave=true
	#source=ip:port
  1. 启动db
    mongod --config /opt/mongodb/etc/mongodb.conf
    在这里插入图片描述
  2. 设置账号密码
    通过客户端进入db
	mongo --port 27017

在这里插入图片描述
新增root账户
db的roles主要有以下几种:

role含义
read允许用户读取指定数据库
readWrite允许用户读写指定数据库
dbAdmin允许用户在指定的数据库中执行管理函数,比如说增删改查还有索引,统计,访问system.profile.
userAdmin允许用户向system.users集合写数据,可以在指定数据库中管理用户
clusterAdmin只在admin数据库中可用,可以管理所有分片,复制集相关函数
readAnyDatabase只在admin数据库中可用,所有数据库读权限
readWriteAnyDatabase只在admin数据库中可用,所有数据库读写权限
userAdminAnyDatabase只在admin数据库中可用,所有数据库userAdmin权限
dbAdminAnyDatabase只在admin数据库中可用,所有数据库dbAdmin权限
root只在admin数据库中可用,超级权限
use admin;
db.createUser({user:"root",pwd:"root",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});

在这里插入图片描述
创建完成后重启一下,可以kill掉这个进程并删除/opt/mongodb/data下的.lock文件
6. 访问db
重新启动db以后继续用mongo --port 27017 进入db
进入db后需要进行授权认证才能进行其他操作

use admin;
db.auth("root","root");
show users;

在这里插入图片描述
然后即可进行其他的增删改查操作了.
7. 退出db
kill掉进程即可

linux集群安装

这里主要是自己以前操作过的笔记,等有时间会再搭建一次把内容截图补充完整!

主从集群(不推荐)

两个角色:
master slave

安装过程和上边单机的一样,只不过配置mongodb.conf不同而已
master节点配置

	dbpath=/opt/mongodb/data
	logpath=/opt/mongodb/logs/mongodb.log
	logappend=true
	bind_ip=192.168.0.201
	port=27017
	fork=true
	auth=true
	master=true
	source=192.168.0.202:27017

slave节点配置

	dbpath=/opt/mongodb/data
	logpath=/opt/mongodb/logs/mongodb.log
	logappend=true
	bind_ip=192.168.0.201
	port=27017
	fork=true
	auth=true
	slave=true
	source=192.168.0.201:27017

副本集集群(选举)

三个角色:
master 主节点
slave 从节点,默认不可写,不可读,就是备份
arbiter仲裁节点,不存任何数据,决定谁是主,这个节点挂了,对其他无影响,但是没有了选举主节点的功能,后续会导致整个集群不可用.

比上边多了一个配置

	dbpath=/opt/mongodb/data
	logpath=/opt/mongodb/logs/mongodb.log
	logappend=true
	bind_ip=192.168.0.201
	port=27017
	fork=true
	auth=true
	replset=nodeName
	#允许切片
	shardsvr=true

rs.help();
rs.initiate({_id:“nodeName”,members:[{_id:0,host:‘192.168.0.201:27017’,priortity:3},{_id:1,host:‘192.168.0.202:27017’,priortity:2},{_id:2,host:‘192.168.0.203:27017’,arbiterOnly:true}]});

members的参数:
id:序号
host:节点ip:port
priortity:优先级,优先级越大会被选举被主
arbiterOnly:是否是仲裁节点,true/false

rs.status();

去中心化(一主多从)

rs.initiate({_id:“nodeName”,members:[{_id:0,host:‘192.168.0.201:27017’},{_id:1,host:‘192.168.0.202:27017’},{_id:2,host:‘192.168.0.203:27017’}]});

混合模式-大数据模式(路由-配置-副本集)

集群>副本集>切片>块

配置config服务器:

	dbpath=/opt/mongodb/data
	logpath=/opt/mongodb/logs/mongodb.log
	logappend=true
	bind_ip=192.168.0.201
	port=27017
	fork=true
	auth=true
	replset=configs
	#激活配置服务器
	configsvr=true

rs.initiate({_id:“configs”,members:[{_id:0,host:‘192.168.0.201:27017’},{_id:1,host:‘192.168.0.202:27017’},{_id:2,host:‘192.168.0.203:27017’}]});

配置路由服务器(没数据,有log即可):

	#指定配置服务器副本集
	configdb=configs/192.168.0.201:27017,192.168.0.202:27017,192.168.0.203:27017
	logpath=/opt/mongodb/logs/mongodb.log
	logappend=true
	bind_ip=192.168.0.201
	port=27017
	fork=true
	auth=true
	replset=routes

mongos
#添加切片
sh.addShard(“副本集名称/ip:port”);

#激活切片
sh.enableSharding(“dbName”);
#分块
sh.shardCollection(“dbName.collectionName”,{name:“shardKey”});
shardKey有很多种,下边常用的两种:
ranged 自定义数据区间
hashed hash区间

插入点数据可以检查是否配置有误

db.
#查看分块详情,区间大小ns($minKey:1 负无穷大,$maxKey:1 正无穷大)
db.chunks.find();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值