ansible部署mongoDB
一、ansible控制端安装和客户端主机组准备(/etc/ansible/hosts)#rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# yum install ansibel -y
#cat /etc/ansbileb/hosts
192.168.0.241 ansible_ssh_pass=centos
192.168.0.242 ansible_ssh_pass=centos
192.168.0.243 ansible_ssh_pass=centos
192.168.0.244 ansible_ssh_pass=centos
front
static
192.168.0.245 ansible_ssh_pass=centos
192.168.0.246 ansible_ssh_pass=centos
192.168.0.247 ansible_ssh_pass=centos
192.168.0.248 ansible_ssh_pass=centos
192.168.0.9 ansible_ssh_pass=centos
192.168.0.8 ansible_ssh_pass=centos
redis
mongo
192.168.0.251 ansible_ssh_pass=centos
192.168.0.252 ansible_ssh_pass=centos
192.168.0.254 ansible_ssh_pass=centos
192.168.0.253 ansible_ssh_pass=centos
二、ansible控制端与客户端主机的互信配置
三、mongodb yum源配置与安装
1、配置mongodb源,并下载rpm包进行yum安装
添加yum源和安装mongodb
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
# cat /etc/yum.repos.d/MongoDB.repo
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
name=MongoDB 2.6 Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
# yum clean all
# yum makecache
直接yum安装如下:(mongodb为2.6版本,mongodb-org为3.0版本)
# yum install -y mongodb
# yum install -y mongodb-org
下载rpm包,包括依赖包后安装:
#依赖包下载工具包安装
# yum install yum-utils -y
#使用方法:yum--enablerepo= install --downloadonly--downloaddir=<directory><package-name>
#mongodb下载:(mongodb为2.6版本,mongodb-org为3.0版本)
# yum install --downloadonly --downloaddir=/root/mongo/ mongodb
# yum install --downloadonly --downloaddir=/root/mongo/mongo34/ mongodb-org
root@7cest mongo34]# ls
mongodb-org-3.4.0-1.el7.x86_64.rpm mongodb-org-shell-3.4.0-1.el7.x86_64.rpm
mongodb-org-mongos-3.4.0-1.el7.x86_64.rpmmongodb-org-tools-3.4.0-1.el7.x86_64.rpm
mongodb-org-server-3.4.0-1.el7.x86_64.rpm
# rpm -ivh mongodb-org-3.4.0-1.el7.x86_64.rpm mongodb-org-shell-3.4.0-1.el7.x86_64.rpm mongodb-org-mongos-3.4.0-1.el7.x86_64.rpm mongodb-org-tools-3.4.0-1.el7.x86_64.rpm mongodb-org-server-3.4.0-1.el7.x86_64.rpm
二、mongodb启动配置
# systemctl enable mongod.service
# systemctl start mongod.service
# ss -tunlp | grep mongod
tcp LISTEN 0 128 127.0.0.1:27017 *:* users:(("mongod",pid=3152,fd=7))
# mongo #登录操作
2、通过ansible-playbook来安装mongodb
为 mongodb的部署创建一个工作目录,包括子目录和部署配置文件,安装 tree 命令,使用tree命令来查看:
# ls
keepalivedmongoDBnginx
# pwd
/bak/ansiblesoft
#mkdir mongoDB/{file,tasks} -pv
#touch mongoDB/install_mongo.sh
# touch mongoDB/mongo_deploy.yml
# touch mongoDB/mongo.repo
# tree mongoDB/
mongoDB/
├── file
│ ├── mongodb-org-3.4.0-1.el6.x86_64.rpm
│ ├── mongodb-org-mongos-3.4.0-1.el6.x86_64.rpm
│ ├── mongodb-org-server-3.4.0-1.el6.x86_64.rpm
│ ├── mongodb-org-shell-3.4.0-1.el6.x86_64.rpm
│ └── mongodb-org-tools-3.4.0-1.el6.x86_64.rpm
├── install_mongo.sh
├── mongo_deploy.yml
├── mongo.repo
└── tasks
└── install_mongo.yml
2 directories, 9 files
2.1、创建主配置文件mongo-deploy.yml
# cat mongo-deploy.yml
# /bak/ansiblesoft/mongo/mongo-deploy.yml
- hosts : mongo
tasks :
- include : 'tasks/install_mongo.yml'
2.2、为 monogo创建部署文件和下载相关的软件包
注意:出于安全考虑,建议先下载软件包到本地服务器或ansible控制端,再通过ansible的拷贝功能,拷贝到ansible客户端进行安装。
1)、配置mongodb的yum源(客户端也需要配置mongodb的yum源,防止关联包)
# cat mongo.repo
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
2)、下载mongdb的rpm包(yum安装)
下载rpm包,包括依赖包后安装(参考上文1):
#依赖包下载工具包安装
# yum install yum-utils -y
#使用方法:yum install --downloadonly --enablerepo=--downloaddir=<directory><package-name>
#mongodb下载:(mongodb为2.6版本,mongodb-org为3.0版本)
# yum install --downloadonly --downloaddir=/root/mongo/ mongodb
# yum install --downloadonly --downloaddir=/root/mongo/mongo34/ mongodb-o
我已经下载好在203主机了,所以通过scp拷贝到ansible本机下:
# pwd
/bak/ansiblesoft/mongoDB/rpmsoft
# scp root@192.168.0.203:/root/ansiblecest/rpmsoft/mongodb/* /bak/ansiblesoft/mongoDB/rpmsoft/
root@192.168.0.203's password:
mongodb-org-3.4.0-1.el6.x86_64.rpm 100% 5900 5.8KB/s 00:00
mongodb-org-mongos-3.4.0-1.el6.x86_64.rpm 100% 12MB11.6MB/s 00:01
mongodb-org-server-3.4.0-1.el6.x86_64.rpm 100% 20MB 9.8MB/s 00:02
mongodb-org-shell-3.4.0-1.el6.x86_64.rpm 100% 11MB11.2MB/s 00:01
mongodb-org-tools-3.4.0-1.el6.x86_64.rpm 100% 49MB12.2MB/s 00:04
3)、创建主配置文件mongo-deploy.yml
# cat mongo-deploy.yml
# /bak/ansiblesoft/mongo/mongo-deploy.yml
- hosts : mongo
tasks :
- include : 'tasks/install_mongo.yml'
4)、创建yum安装脚本
# ls
fileinstall_mongo.shmongo_deploy.retrymongo_deploy.ymlmongo.repotasks
# cat install_mongo.sh
#!/bin/bash
yum install /root/ansiblerpm/mongo/file/* -y
注意:-y喔
5)、为mongo创建安装配置文件install_mongo.yml
# cat mongo_deploy.yml
# /bak/ansiblesoft/mongo/mongo-deploy.yml
- hosts : mongo
tasks :
#- include : 'tasks/install_mongo.yml'
- name : install epel
yum :
name : https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
state : installed
- name : file module (file/link/directory/hard/touch/absent)
file :
path : /root/ansiblerpm/mongo
state : directory
- name : copy module(copy mongodb-org rpm)
copy :
src : /bak/ansiblesoft/mongoDB/file
dest : /root/ansiblerpm/mongo/
mode : 0755
backup : yes
- name : copy install_mongo.sh
copy :
src : /bak/ansiblesoft/mongoDB/install_mongo.sh
dest : /root/ansiblerpm/mongo/
mode : 0755
backup : yes
- name : install mongo-org
shell : /bin/bash /root/ansiblerpm/mongo/install_mongo.sh
- name : chkconfig mongo-org
service :
name : mongod
enabled : yes
state : started
5)、mongodb服务检查
# ansible mongo -m shell -a "chkconfig --list | grep mongod"
192.168.0.9 | SUCCESS | rc=0 >>
mongod 0:off 1:off 2:off 3:on 4:off 5:on 6:off
192.168.0.8 | SUCCESS | rc=0 >>
mongod 0:off 1:off 2:off 3:on 4:off 5:on 6:off
# ansible mongo -m shell -a "ss -tunlp | grep mongod"
192.168.0.8 | SUCCESS | rc=0 >>
tcp LISTEN 0 128 127.0.0.1:27017 *:* users:(("mongod",5891,8))
192.168.0.9 | SUCCESS | rc=0 >>
tcp LISTEN 0 128 127.0.0.1:27017 *:* users:(("mongod",5773,8))
页:
[1]