当前位置: 首页 > wzjs >正文

房产集团网站建设游戏推广话术技巧

房产集团网站建设,游戏推广话术技巧,网络软文营销案例,营销推广公司案例1 数据库服务复制集概述 MongoDB复制集(replication Set)的主要意义在于实现服务高可用,它的实现依赖于两个方面的功能 数据写入时将数据迅速复制到另一个独立节点上在接受写入的节点发生故障时自动选举出一个新的替代节点 在实现高可用的…

1 数据库服务复制集概述

MongoDB复制集(replication Set)的主要意义在于实现服务高可用,它的实现依赖于两个方面的功能

  • 数据写入时将数据迅速复制到另一个独立节点上
  • 在接受写入的节点发生故障时自动选举出一个新的替代节点

在实现高可用的同时,复制集实现了其他几个附加功能:

  • 数据分发:将数据从一个区域复制到另一个区域,减少另一个区域的读延迟
  • 读写分离:不同类型的压力分别在不同的节点上执行
  • 异地容灾:在数据中心故障时候快速切换到异地

一个典型的复制集由3个以上具有投票权的节点组成:(PSS PSA-建议5节点)

  • 一个主节点(primary):接收写入操作和选举时投票;
  • 两个或多个从节点(secondary):复制主节点上的新数据和选举时投票
  • Arbiter(投票节点),建议5节点架构时应用
    • arbiterOnly 是 MongoDB 中复制集配置的一部分,用于指定一个节点作为 仲裁者(Arbiter),而不是数据的存储或提供数据的副本
    • 设置某个节点为仲裁者节点时,MongoDB 会忽略该节点的数据存储功能,只将其作为选举的一部分来参与复制集的故障转移
    • 仲裁者节点不占用数据存储空间,因此在需要保证复制集多数节点数的情况下,可以使用仲裁者节点来降低资源开销

在这里插入图片描述

复制集节点之间的数据复制:

  • 当一个修改操作发生,无论是插入、更新或删除,到达主节点时,它对数据的操作将被记录下来(经过一些必要的转换);

    这些记录称为oplog

  • 从节点通过在主节点上打开一个tailable游标不断获取新进入主节点的oplog,并在自己的数据库上回放,以此保证更主节点数据一致

在这里插入图片描述

2 配置主从复制

01 创建数据库实例

实例监听端口存放目录
实例128017/mongodb/28017
实例228018/mongodb/28018
实例328019/mongodb/28019
实例428020/mongodb/28020

1.创建实例目录:

mkdir -pv /mongodb/{28017..28020}/{conf,data,log}# tree命令查看目录结构
tree -F /mongodb/
/mongodb//
├── 28017/
│   ├── conf/
│   ├── data/
│   └── log/
├── 28018/
│   ├── conf/
│   ├── data/
│   └── log/
├── 28019/
│   ├── conf/
│   ├── data/
│   └── log/
└── 28020/├── conf/├── data/└── log/

2.创建配置文件

cat > /mongodb/28017/conf/mongodb.yaml <<'EOF'
systemLog:destination: filepath: "/mongodb/28017/log/mongodb.log"logAppend: true
storage:journal:enabled: truedbPath: "/mongodb/28017/data"directoryPerDB: truewiredTiger:engineConfig:cacheSizeGB: 1directoryForIndexes: truecollectionConfig:blockCompressor: zlibindexConfig:prefixCompression: true
processManagement:fork: true
net:port: 28017bindIp: 10.0.0.51,127.0.0.1
replication:# 定义oplog日志存储量,实质是数据库服务的表的大小oplogSizeMB: 2048# 表示复制集的名称,要和后面创建的集群名称一致replSetName: my_repl
EOF

3.把配置文件复制到其他实例目录下,修改端口信息。编写systemd

for i in {28018..28020}; do \cp /mongodb/28017/conf/mongodb.yaml /mongodb/$i/conf; done
for i in {28018..28020}; do sed -i "s#28017#$i#g" /mongodb/$i/conf/mongodb.yaml; done
cat > /etc/systemd/system/mongod28017.service <<EOF
[Unit]
Description=MongoDB Database Server
After=network.target[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/local/mongodb/bin/mongod -f /mongodb/28017/conf/mongodb.yaml
Type=forking
Restart=on-failure
LimitNOFILE=65535
TimeoutStopSec=5
PermissionsStartOnly=true
AmbientCapabilities=CAP_NET_BIND_SERVICE[Install]
WantedBy=multi-user.target
EOF
cd /etc/systemd/systemfor i in {28018..28020}; do \cp mongod28017.service mongod$i.service; done
for i in {28018..28020}; do sed -i "s#28017#$i#g" mongod$i.service; donesystemctl daemon-reload
for i in {28017..28020}; do systemctl start mongod$i; done
for i in {28017..28020}; do systemctl status mongod$i; done

在这里插入图片描述

02 设置主从复制

  • 主从关系建立完毕后,会实现底层自动克隆过程,不用考虑备份恢复数据问题
  • 对于secondary节点是默认不支持任何读和写操作的,后期可以打开节点的读功能

1.连接主库18017实例

[root@db51~]# mongo --port 28017 admin# 执行以下配置,设置复制集
config = {_id: 'my_repl',members: [{ _id: 0, host: '10.0.0.51:28017' },{ _id: 1, host: '10.0.0.51:28018' },{ _id: 2, host: '10.0.0.51:28019' }]
}# 启动复制集
> rs.initiate(config)
{ "ok" : 1 }my_repl:SECONDARY> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB

2.查看复制集的状态

rs.status();

03 查看其他节点的同步状态

1.在主节点上创建一个集合

use wzy;
db.createCollection("a")

2.登录其他节点查看


04 仲裁节点

1.在主节点把28019实例改为arbiterOnly。不建议进行应用,当只有三个节点时,会有一定的风险性

config = {_id: 'my_repl',members: [{ _id: 0, host: '10.0.0.0.51:28017' },{ _id: 1, host: '10.0.0.0.51:28018' },{ _id: 2, host: '10.0.0.0.51:28019', arbiterOnly: true }]
}

2.查看集群状态


# 查看主节点状态
rs.isMaster()# 查看配置
rs.conf();

在这里插入图片描述

05 添加删除节点

节点停止之前先停止从节点可以避免数据不一致

# 增加/移除节点
rs.add("10.0.0.51:28020")
rs.remove("10.0.0.51:28020")# 添加仲裁节点
rs.addArb("10.0.0.0.51:28020")# 移除仲裁节点
rs.remove("10.0.0.0.51:28020")

06 秘钥认证

1.生成和分发秘钥

openssl rand -base64 756 >/mongodb/28017/conf/keyfile
chmod 600 /mongodb/28017/conf/keyfile && chown mongodb.mongodb -R /mongodb
for i in {28018..28020}; do \cp -a /mongodb/28017/conf/keyfile /mongodb/$i/conf/keyfile; done

2.所有节点增加验证功能

for i in {28017..28020}; docat >> /mongodb/$i/conf/mongodb.yaml <<EOF
security:keyFile: /mongodb/$i/conf/keyfile
EOF
done

3.重启所有节点后生效

for i in {28017..28020}; do systemctl start mongod$i; done
ongodb/$i/conf/keyfile; done

2.所有节点增加验证功能

for i in {28017..28020}; docat >> /mongodb/$i/conf/mongodb.yaml <<EOF
security:keyFile: /mongodb/$i/conf/keyfile
EOF
done

3.重启所有节点后生效

for i in {28017..28020}; do systemctl start mongod$i; done
http://www.dtcms.com/wzjs/34733.html

相关文章:

  • 西安域名注册seo排名技巧
  • 男子做淫秽网站图片网站排名优化师
  • 做网站电话如何提高网站在搜索引擎中的排名
  • 近期做网站需要什么软件网络广告创意
  • 网站的上传与发布北京关键词优化报价
  • wordpress 调用热门 文章seo的作用
  • 北京做网站维护广州品牌营销策划公司排名
  • 做网站需要了解的内容百度2022年版本下载
  • 好看的网站建设广州seo顾问
  • 推网站建设话术企业网络营销策略案例
  • 做网站乱码在线培训网站次要关键词
  • wordpress取消缩略图重庆百度快照优化
  • wordpress页面直接跳转关键词排名优化公司推荐
  • 西安重大新闻今日头条seo方案
  • 电商网站开发主要的三个软件关键词排名点击器
  • 做设计开哪个素材网站的会员好阿里指数数据分析平台
  • 建设银行手机绑定网站seo北京网站推广
  • 大连教育培训网站建设百度账号客服
  • 做网站建设找哪家好搜索引擎排名2021
  • 高端网站优化公司乌海网站seo
  • 用java做网页如何建立网站百度pc端入口
  • 技术支持 东莞网站建设 轴承关键词优化排名软件案例
  • ps最好用的素材网站如何制作一个宣传网页
  • 天津网站制作报价正规电商培训学校排名
  • 外贸免费开发网站建设最近的电脑培训班在哪里
  • 惠州网红seo公司培训课程
  • 禅城区网站建设东莞seo计费
  • 整套网站建设如何进行网站的宣传和推广
  • 网站建设策划书在哪济南兴田德润实惠吗百度免费推广登录入口
  • 0基础网站开发鲜花网络营销推广方案