大湖之子 发表于 2018-7-29 12:23:52

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]
查看完整版本: ansible部署mongoDB