公有云(一)

我这里公有云部分使用华为云平台

一、私有网络管理

在公有云中完成虚拟私有云的创建,具体要求如下:

  • 在上海一区域进行创建操作
  • 创建一个名为intnetX的内部网络:IP地址为172.16.0.0/16
  • 创建子网名称为intnetX-server:IP地址为172.16.1.0/24
  • 创建子网名称为intnetX-mysql:IP地址为172.16.2.0/24

1.搜索VPC,找到虚拟私有云VPC

2.进入虚拟私有云,并创建虚拟私有云

3.选择区域和名称修改并创建子网

二、云实例管理

在华为云平台创建两台云实例

具体要求如下:

  • 计费模式:按需计费
  • 地域:上海一
  • CPU架构:x86计算
  • 镜像:CentOS 7.5 64位
  • 系统盘:高IO 50G硬盘
  • 公网带宽:按带宽计费,5Mbps
  • 实例名称:ChinaSkill-node-1、ChinaSkill-node-2
  • 登录方式:使用密码登录,密码自定义

1.搜索“云服务器ECS”并进入

2.购买弹性云服务器

3.选择对应配置

选择自定义购买,计费选择按需计费,区域选择上海一

选择x86计算,c7规格

选择公共镜像,使用CentOS7.5镜像

选择系统盘为高IO并设为50G,网络题目并没要求选哪个虚拟私有云网络,但我这里就先选个前面创的intnetX

选择按带宽计费,选择5Mbps带宽,修改服务器

后面设置密码自定义设置

注:由于经费有限,我这里自己创就不按照题目要求配置创了。

三、数据库管理

使用intnetX-mysql网络创建三台云服务器chinaskill-sql-1、chinaskill-sql-2、chinaskill-sql-3(系统使用CentOS7.9),使用提供的压缩文件mongodb-repo.tar.gz中的软件包源,在这三台云服务器上部署MongoDB数据库服务。

1.创建云服务器

和上面操作差不多,系统选为CentOS7.9,网络选择intnetX-mysql

2.准备文件

mongodb-repo.tar.gz下载

3.进入服务器

等服务器创建完成,用Shell工具进入就可以

4.上传文件

用ftp工具将文件传到每个数据库服务器中

5.进行部署

解压软件包:

tar -xzvf mongodb-repo.tar.gz

配置软件包源:

将解压后的软件包源文件移动到合适的位置,例如 /etc/yum.repos.d/ 目录

mv mongodb.repo /etc/yum.repos.d/

配置YUM源的repo文件:

把自带的yum.repo文件放到其他文件夹备份,然后创建一个mongodb.repo文件

vi /etc/yum.repos.d/mongodb.repo  #创建文件

[mongodb]
name=mongodb
baseurl=file:///etc/yum.repos.d/mongodb-repo
gpgcheck=0
enabled=1

然后清理并更新YUM缓存

yum clean all
yum makecache

安装MongoDB

yum install -y mongodb-org

启动并自启MongoDB服务:

systemctl start mongod
systemctl enable mongod

开放云服务器安全组端口27017

四、主从数据库

在 chinaskill-sql-1、chinaskill-sql-2 和 chinaskill-sql-3 云服务器中配置MongoDB一主二从数据库+副本集操作,chinaskill-sql-1节点为主节点,其余节点为从节点,配置MongoDB集群名称为cloud。

1.所有节点统一配置

修改配置文件:

vi /etc/mongod.conf

修改以下参数:

net:
  port: 27017
  bindIp: 0.0.0.0   #允许全部IP连接
replication:
  replSetName: cloud  # 修改集群名称

重启服务:

systemctl restart mongod

修改/etc/hosts文件,添加以下内容:

172.16.2.50 chinaskill-sql-1
172.16.2.249 chinaskill-sql-2
172.16.2.142 chinaskill-sql-3
#这些是云服务器的私有IP,不是弹性公网IP,如果用公网IP也行,但他们集群之间用公网IP访问没有私有IP方便

2.初始化副本集

进入Mongo Shell

mongo --host chinaskill-sql-1
mongo --host chinaskill-sql-2
mongo --host chinaskill-sql-3
#在各个节点执行

主节点初始化副本集:

rs.initiate({
  _id: "cloud",
  members: [
    { _id: 0, host: "chinaskill-sql-1:27017", priority: 2 },
    { _id: 1, host: "chinaskill-sql-2:27017", priority: 1 },
    { _id: 2, host: "chinaskill-sql-3:27017", priority: 1 }
  ]
})

3.主节点验证副本集状态

检查副本集配置:

rs.conf()  // 确认所有节点已加入且priority值正确

检查主从角色

rs.status()  // 输出中显示"chinaskill-sql-1"为PRIMARY

4.从节点验证

检查复制状态:

db.getMongo().setReadPref('secondaryPreferred') // 优先从从节点读取数据
rs.secondaryOk()   // 确认自身状态为SECONDARY

3.数据同步测试

主节点插入数据:

use clouddb
db.testcollection.insertOne({ name: "test", value: 1 })

从节点查询数据:

db.testcollection.find()

不出意外的话从节点会返回一条类似下面这样的话:

{ "_id" : ObjectId("67c427f05c305232bd6fe37e"), "name" : "test", "value" : 1 }

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇