在这篇文章中,我们将讨论部署<一个href="//m.doggingzone.com/software/mongodb/percona-server-for-mongodb">雷竞技下载官网MongoDB Percona服务器一个>与Ansible * (PSMDB)复制设置。Ansible是一个流行的自动化工具,可以配置系统,部署软件,编排更先进的连续部署等任务或零停机时间滚动更新。其主要目标是简单性和易用性。默认情况下,它使用SSH协议连接到服务器。知道更多关于它,请办理文档。
Ansible,人们很容易配置和部署PSMDB副本集(RS)。请按照Ansible的安装说明为各自的操作系统。
先决条件
- 必须创建一个用户,通常“percona”操作系统。雷竞技下载官网
- 操作系统用户(在我们的例子中是“percona”)需要无密码s雷竞技下载官网udo db服务器上。
- Ansible
- SSH访问从控制节点到所有DB服务器Ansible使用SSH协议连接到服务器。
以下是库存,我们指定主机的信息。
库存:
|
1
2
3
4
5
6
7
|
库存
# Ansible库存文件
(
卢比
]
知识产权- - - - - -172年- - - - - -31日- - - - - -93年- - - - - -193. ec2.internal
mongodb_primary=真正的
知识产权- - - - - -172年- - - - - -31日- - - - - -85年- - - - - -203. ec2.internal
知识产权- - - - - -172年- - - - - -31日- - - - - -80年- - - - - -251. ec2.internal
|
全局变量文件所有中定义的group_vars
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
25
26
27
28
29日
30.
31日
32
33
|
group_vars/所有
推荐- - - - - -
# # # # # # # # # # # # # # # # # #
# #常规配置
# # # # # # # # # # # # # # # # # #
包
:
- - - - - -
雷竞技下载官网- - - - - -服务器- - - - - -mongodb
#回购版本安装
repo_version
:
psmdb- - - - - -42
mongo_root_password
:
your_secrets
rs_port
:
27017年
mongod_log_path
:
/var/日志/蒙戈
mongod_path
:
/var/自由/蒙戈
# mongo_extra_args:定义参数如tls - tlsCertificateKeyFile /道路/客户端。pem - tlsCAFile /道路/ caToValidateServerCertificates.pem
# use_tls:真/假
use_tls
:
假
#只适用use_tls:假的
keyfile_path
:
/var/自由/蒙戈
keyFile_location
:
/var/自由/蒙戈/密钥文件
# openssl兰德base64 741如果你想生成一个新的
keyfile_content
:
|
8 pycxvcqoe89kcp33kuttkvf5mohgefjtnudrq5bosvwroixlowmdjrmupvfaivh
CHjqM6w0zVBytAxH1lW+7 temye6edn2s/O/1 ylrriw57bwu3zjliw3vdgujar5i9
keyfile_encryption
:
假
encryption_key_content
:
|
vvMTZ3dnSbG7wc6DkPpt+rp3Cc+jF8lJsYlq6QE1yEM=
#路径密钥文件加密
encryption_keyfile
:
/选择/mongodb
。key
|
playbookmain.ymlPSMDB RS的部署如下。在这里,我们分享一个高级任务部署完整的副本集。main.yml剧本,请检查GitHub链接一个>。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
25
26
27
28
29日
30.
31日
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61年
62年
63年
64年
65年
66年
67年
68年
69年
70年
71年
72年
73年
74年
75年
76年
77年
78年
79年
80年
81年
82年
83年
84年
85年
86年
87年
88年
89年
90年
91年
92年
93年
94年
95年
96年
97年
98年
99年
One hundred.
101年
102年
103年
104年
105年
106年
107年
108年
109年
110年
|
主要
.yml
推荐- - - - - -
- - - - - -
的名字
:
安装
雷竞技下载官网
rpm
,
部署
PSMDB
RS
主机
:
所有
成为
:
是的
任务
:
- - - - - -
的名字
:
安装
雷竞技下载官网
关键
rpm_key
:
关键
:
https
:/ /下载
.雷竞技下载官网percona
com/下载/RPM- - - - - -GPG- - - - - -关键- - - - - -雷竞技下载官网
状态
:
现在
当
:
ansible_os_family
= =
“红帽”
- - - - - -
的名字
:
安装
雷竞技下载官网
回购
包
:
的名字
:
“https://repo.雷竞技下载官网percona.com/yum/percona-release-latest.noarch.rpm”
状态
:
现在
当
:
ansible_os_family
= =
“红帽”
- - - - - -
的名字
:
安装
黛比
文件
从
回购
成为
:
是的
块
:
- - - - - -
的名字
:
下载
雷竞技下载官网
回购
get_url
:
url
:
“https://repo.雷竞技下载官网percona.com/apt/percona-release_latest.focal_all.deb”
桌子
:
/家/雷竞技下载官网
当
:
ansible_os_family
= =
“Debian”
- - - - - -
的名字
:
安装
回购
恰当的
:
黛比
:
/家/雷竞技下载官网/雷竞技下载官网- - - - - -release_latest
.focal_all
. deb
当
:
ansible_os_family
= =
“Debian”
- - - - - -
的名字
:
更新
和
升级
恰当的
包
恰当的
:
update_cache
:
是的
当
:
ansible_os_family
= =
“Debian”
- - - - - -
的名字
:
启用
具体的
版本
壳牌
:
“/ usr / b雷竞技下载官网in / percona-release使{{repo_version}} & & /usr/bin/percona-release启用工具”
- - - - - -
的名字
:
安装
包
包
:
的名字
:
“{{项}}”
状态
:
现在
with_items
:
“{{包}}”
#部署PSMDB副本集
- - - - - -
的名字
:
复制
mongod
. conf
来
rs
成员
成为
:
是的
模板
:
src
:
模板/mongod- - - - - -replicaset
. conf
.j2
桌子
:
/等/mongod
. conf
老板
:
根
集团
:
根
模式
:
0644年
- - - - - -
的名字
:
复制
初始化- - - - - -rs
. js
文件
来
初始化
的
副本
集
模板
:
src
:
模板/初始化- - - - - -rs
. js
.j2
桌子
:
/tmp/初始化- - - - - -rs
. js
模式
:
0644年
当
:
mongodb_primary
是
定义
和
mongodb_primary
- - - - - -
的名字
:
引导
副本
集
块
:
- - - - - -
的名字
:
集
向上
密钥文件
如果
不
使用
ssl
成为
:
是的
复制
:
桌子
:
“{{keyFile_location}}”
内容
:
“{{keyfile_content}}”
老板
:
mongod
集团
:
根
模式
:
0600年
当
:
不
use_tls
|
bool
- - - - - -
的名字
:
开始
mongod
在
rs
成员
成为
:
是的
服务
:
的名字
:
mongod
状态
:
重新启动
- - - - - -
的名字
:
等待
为
几
秒
所以
服务器
完成
开始
暂停
:
秒
:
15
- - - - - -
的名字
:
运行
的
初始化
命令
为
rs
壳牌
:
蒙戈
{
{
mongo_extra_args
|
默认的
(
”“
)
}
}
- - -港口
{
{
rs_port
}
}
<
/tmp/初始化- - - - - -rs
. js
当
:
mongodb_primary
是
定义
和
mongodb_primary
- - - - - -
的名字
:
等待
一个
几
秒
所以
副本
集
完成
初始化
暂停
:
秒
:
15
# root用户添加到MongoDB
- - - - - -
的名字
:
创建
一个
用户
为
RS
块
:
- - - - - -
的名字
:
准备
的
命令
来
创建
根
用户
模板
:
src
:
模板/createRoot
. js
.j2
桌子
:
/tmp/createRoot
. js
模式
:
0644年
当
:
mongodb_primary
是
定义
和
mongodb_primary
- - - - - -
的名字
:
运行
的
命令
来
创建
一个
根
用户
壳牌
:
蒙戈
管理
{
{
mongo_extra_args
|
默认的
(
”“
)
}
}
- - -港口
{
{
rs_port
}
}
<
/tmp/createRoot
. js
当
:
mongodb_primary
是
定义
和
mongodb_primary
。
。
。
|
执行策略如下:
|
1
|
ansible- - - - - -剧本
- - - - - -我
库存
主要
.yml
|
如果剧本已经被成功执行,您将看到以下输出(这里显示了输出的剧本。e剧本的回顾):
|
1
2
3
4
5
6
7
8
9
10
11
12
|
(
centos
@
知识产权- - - - - -172年- - - - - -31日- - - - - -17- - - - - -26
testAnsible
]
美元
ansible- - - - - -剧本
- - - - - -我
库存
主要
.yml
玩
(
安装
雷竞技下载官网
rpm
,
部署
PSMDB
RS
]
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
。
。
。
玩
回顾
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
知识产权- - - - - -172年- - - - - -31日- - - - - -80年- - - - - -251. ec2.internal
:
好吧=11
改变了=6
遥不可及的=0
失败的=0
跳过=7
获救=0
忽略了=0
知识产权- - - - - -172年- - - - - -31日- - - - - -85年- - - - - -203. ec2.internal
:
好吧=11
改变了=6
遥不可及的=0
失败的=0
跳过=7
获救=0
忽略了=0
知识产权- - - - - -172年- - - - - -31日- - - - - -93年- - - - - -193. ec2.internal
:
好吧=17
改变了=10
遥不可及的=0
失败的=0
跳过=3
获救=0
忽略了=0
|
让我们连接到mongo并验证如果PSMDB RS部署已经成立。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
25
26
27
28
29日
30.
31日
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
(
centos
@
知识产权- - - - - -172年- - - - - -31日- - - - - -93年- - - - - -193年
~
]
美元
蒙戈
- - - - - -uroot
- - - - - -p
雷竞技下载官网
服务器
为
MongoDB
壳牌
版本
v4
。
2.21- - - - - -21
输入
密码
:
连接
来
:
mongodb
:/ /127.0.0.1
:
27017年/吗?
压缩机=禁用
&gssapiServiceName=mongodb
隐式的
会话
:
会话
{
“id”
:
UUID
(
“41 f13673 - edf8 - 43 - e6 - 8 b0e - 040 - f08640f26”
)
}
雷竞技下载官网
服务器
为
MongoDB
服务器
版本
:
v4
。
2.21- - - - - -21
卢比
:
主
>
rs
. conf
(
)
.members
(
{
“_id”
:
1
,
“主机”
:
“ip - 172 - 31 - 93 - 193. - ec2.internal: 27017”
,
“arbiterOnly”
:
假
,
“buildIndexes”
:
真正的
,
“隐藏”
:
假
,
“优先”
:
10
,
“标签”
:
{
}
,
“slaveDelay”
:
NumberLong
(
0
)
,
“投票”
:
1
}
,
{
“_id”
:
2
,
“主机”
:
“ip - 172 - 31 - 85 - 203. - ec2.internal: 27017”
,
“arbiterOnly”
:
假
,
“buildIndexes”
:
真正的
,
“隐藏”
:
假
,
“优先”
:
1
,
“标签”
:
{
}
,
“slaveDelay”
:
NumberLong
(
0
)
,
“投票”
:
1
}
,
{
“_id”
:
3
,
“主机”
:
“ip - 172 - 31 - 80 - 251. - ec2.internal: 27017”
,
“arbiterOnly”
:
假
,
“buildIndexes”
:
真正的
,
“隐藏”
:
假
,
“优先”
:
1
,
“标签”
:
{
}
,
“slaveDelay”
:
NumberLong
(
0
)
,
“投票”
:
1
}
]
卢比
:
主
>
|
从上面,我们可以看到,PSMDB RS已成功部署。我们的自动化部署一套副本Ansible是否正常工作。
结论
Ansible是最受欢迎的简单,易于使用的自动化工具,扮演着重要的角色在配置系统,部署软件,持续部署。与Ansible,轻松轻松部署PSMDB RS在剧本中通过定义任务。
我们也鼓励你尝试我们的产品等MongoDB雷竞技下载官网MongoDB Percona服务器,雷竞技下载官网为MongoDB Percona备份,雷竞技下载官网Percona运营商对MongoDB。
*免责声明:这个博客解释了Ansible可用于部署一套Percona MongoDB副本。Ansible不是Percona雷竞技下载官网 Percona产品,不支持。这篇文章中的信息仅用于教育目的。
雷竞技下载官网MongoDB Percona分布是一个免费的MongoDB数据库选择,给你一个解决方案,结合了最好的和最重要的开放源码社区的企业组件,设计和测试一起工作。






不是一个更好的主意设置MongoDB集群作为一个分片吗?国际海事组织、数据的增长,并使这一决定以后只会导致一个主要体育=块工作,确定切分键,设置碎片,和建立从一开始这里应该是什么?
我还发现,虽然这些天使用的“优先级”是小,将优先分配给物理层次,决定哪些机器将接管在停机的情况下,更好的工作。这也使得一台机器作为一个地方的备份,碎片。我也发现它有用的有一个小机器仲裁者还…。只是帮助作出正确的决定如果splu =大脑发生。
形式,一个伟大的文章。
嗨<一个href="http://woodygsd.blogspot.co.uk/2014/07/how-do-you-log-problem-like-mysql.html" target="_blank" style="background-color: rgb(255, 255, 255); color: rgb(0, 179, 143);" rel="noopener nofollow ugc">彼得Colclough一个>,
谢谢你的博客,分享你的观点。这个博客的目的是与Ansible部署一套three-data-bearing节点副本。