xshell 怎么在服务器上安装mongodb

xshell 怎么在服务器上安装mongodb,第1张

1 复制Mongodb到指定服务器
到mongodb官方网站>小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:
远程桌面连接 (Microsoft Terminal Services Client, MSTSC):
采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。
管理终端 VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。
使用远程桌面连接 (MSTSC) 登录实例
打开 开始菜单 > 远程桌面连接,或在 开始菜单 > 搜索 中输入 mstsc。也可以使用快捷键 Win+R 来启动运行窗口,输入
mstsc后回车启动远程桌面连接。
在 远程桌面连接 对话框中,输入实例的公网 IP 地址。单击 显示选项。
输入用户名,如小鸟云默认为 niaoyun。单击 允许我保存凭据,然后单击 连接。这样以后登录就不需要手动输入密码了。

1 官网下载mongodb数据库安装包 >mongo副本集/复制集是mongo高可用性特征之一,是有自动故障恢复功能的主要集群。由一个Primary节点和一个或多个Secondary节点组成。

复制是在多台服务器之间同步数据的过程,由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点

Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据

通过上述方式来保持复制集内所有成员存储相同的数据集,提供数据的高可用

Failover (故障转移,故障切换,故障恢复)

Redundancy(数据冗余)

避免单点,用于灾难时恢复,报表处理,提升数据可用性

读写分离,分担读压力

对用户透明的系统维护升级

主节点记录所有的变更到oplog日志

辅助节点(Secondary)复制主节点的oplog日志并且将这些日志在辅助节点进行重放(做)

各个节点之间会定期发送心跳信息,一旦主节点宕机,则触发选举一个新的主节点,剩余的辅助节点指向新的主

10s内各辅助节点无法感知主节点的存在,则开始触发选举

通常1分钟内完成主辅助节点切换,10-30s内感知主节点故障,10-30s内完成选举及切换

用户恢复数据,防止数据丢失,实现灾难恢复

人为误 *** 作导致数据删除,程序Bug导致数据损坏等

首要复制节点,由选举产生,提供读写服务的节点,产生oplog日志

备用(辅助)复制节点,Secondary可以提供读服务,增加Secondary节点可以提供复制集的读服务能力

在故障时,备用节点可以根据设定的优先级别提升为首要节点。提升了复制集的可用性

Arbiter节点只参与投票,不能被选为Primary,并且不从Primary同步数据

Arbiter本身不存储数据,是非常轻量级的服务。

当复制集成员为偶数时,最好加入一个Arbiter节点,以提升复制集可用性
Mongodb版本30以上, 三台服务器均为64位

三台服务器    --------  Primary(Centos7)、 Secondary(Centos7)、 Secondary(Debian8);架设IP分别为 19216811、12、 13

三台服务器关闭防火墙    -------- systemctl  stop firewalldservice

三台服务器修改mongo配置文件    --------  vi  /etc/mongodconf 

        侦听地址除了 localhost 外再加上服务器IP; 设置复制集名字(RepliSetName)。
开启mongod服务: mongod

三台服务器mongo各自初始化: rsinitiate()

Primary上副本集配置:

rsconf(配置名称,可随意取)={_id:"副本集名",member:[{_id:0,host:"IP:port",priority:2},{_id:1,host:"IP:port",priority:1},{_id:2,host:"IP:port",priority:1}]}

在初始化:rsinitiate(变量名,如下面的config)
Secondary上配置:

rsslaveOk()    #承认自己是Secondary

三台服务器上互相添加副本集成员:

rsadd("IP:port"), 如在Primary上 rsadd("19216812:27017"), rsadd("19216813:27017")

查看状态

rsstatus()
3、rs(replication set) 常用命令:

初始化副本集  ----  rsinitiate()

mongo查看状态 ---- rsstatus()

初始化副本集配置
rsconf = {_id: "rs0",

members: [{

_id: 0,

host: ":27017"}]}

rsinitiate( rsconf )

验证副本集配置  ----  rsconfig()

增加副本集成员  ----  rsadd("Ip:port")

移除副本集成员  ----  rsremove("IP:port")    #此步骤在Primary上 *** 作

改变成员变量的优先级
cfg = rsconf()

cfgmembers[0]priority = 3

cfgmembers[1]priority = 1

cfgmembers[2]priority = 2

rsreconfig(cfg)

配置延迟副本集
cfg = rsconf()

cfgmembers[0]priority = 0

cfgmembers[0]hidden = true

cfgmembers[0]slaveDelay = 3600

rsreconfig(cfg)
#  07/03/2017

一、node运行环境

1、npm install -g n  

通过npm 全局安装node

2、 sudo n 8160 

设置node版本

Password:

install : node-v8160

mkdir : /usr/local/n/versions/node/8160

fetch : >主从复制作用:数据备份、读写分离
双机热备份:部署两个节点的MongoDB服务,配置一主一从,主节点添加数据,将自动备份到从节点上面,保证主机宕机后数据不丢失,同时可以继续提供数据读取服务(主服务挂掉,从服务将无法在进行写入数据,只能提供数据读取服务)
一主多从:部署多个节点的MongoDB服务,配置一主多从,数据也会自动备份到所有从节点上面,保证主机宕机后数据不丢失,同时可以根据从节点的优先级进行选取新的主节点,继续提供读写服务(主从关系跟服务设置的优先级有直接关系 优先级参数:priority 数字越大优先级越高)

使用上面的方式,在不同服务器上安装并启动MongoDB服务

将启动时使用的配置文件mongodbconf中添加下面的副文本集名称配置,将权限控制参数改为false(auth=false),然后将服务进行重新启动即可(testrs是自定义的副本集名称)
#使用此设置来配置复制副本集。指定一个副本集名称作为参数,所有主机都必须有相同的名称作为同一个副本集
replSet=testrs

然后启动每个服务的客户端查看当前节点为主节点还是从节点;
1) 如果服务部署在不同服务器上,直接启动/bin目录下的mongo即可 命令:/ mongo
2) 如果服务部署在同一台服务器上,使用不同端口及配置文件进行启动的,启动客户端使用该命令 命令:/mongo 127001:27018/

经过上面的一系列 *** 作后,主从配置就完成了,接下来可以进行数据同步测试

第一步:在主库上面切换到admin,然后进行添加数据(命令:dbtestdb1insert([{"name":"zs"}]))

在从库上查询该数据(命令:dbtestdb1find({name:"zs"})),会出现下面如图的错误,因为从库没有查询数据权限,所以需要设置查询权限

设置从库查询权限,使用命令:rssecondaryOk()
然后在使用查询命令进行查询(命令:dbtestdb1find({name:"zs"}))就会看到如下图的查询结果:

如上图所示,数据已经同步到从库上面了,这样双机热备份就已经实现了,上面的情况不包含权限控制

上面的情况已经完成了MongoDB的主从复制功能,但是我们把权限没有开放,启动时使用的配置中auth配置的值为false,说明没有添加权限,接下来就开放一下权限配置;
首先需要主从之间通信的一个keyFile文件,根据官网提供的说明,这个keyfile是可以任意内容的,只要保证所有集群中的机器都拥有同样的文件即可。

我这里将keyFile文件放到了MongoDB的bin目录下了,使用openssl rand -base64 1024 > /usr/local/mongodb-master/bin/mongodbkey 命令生成;

然后将mongodbkey文件复制到每台从服务上面,在每台服务的启动文件上添加 keyFile=/usr/local/mongodb-master/keyfile/mongodbkey 配置项 ,然后将auth属性值改为true,这样就完成了权限配置

重启主从两个节点,这样主机添加的数据,就会同步到从机上面了!!!

添加或删除从节点参考文章:
>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12623305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存