设为首页 收藏本站
查看: 1130|回复: 0

[经验分享] ansible部署mongoDB

[复制链接]

尚未签到

发表于 2018-7-29 12:23:52 | 显示全部楼层 |阅读模式
  一、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
  [front]
  192.168.0.241 ansible_ssh_pass=centos
  192.168.0.242 ansible_ssh_pass=centos
  [static]
  192.168.0.243 ansible_ssh_pass=centos
  192.168.0.244 ansible_ssh_pass=centos
  [KW:children]
  front
  static
  [resin]
  192.168.0.245 ansible_ssh_pass=centos
  192.168.0.246 ansible_ssh_pass=centos
  [redis]
  192.168.0.247 ansible_ssh_pass=centos
  192.168.0.248 ansible_ssh_pass=centos
  [mongo]
  192.168.0.9 ansible_ssh_pass=centos
  192.168.0.8 ansible_ssh_pass=centos
  [M3:children]
  redis
  mongo
  [mysql]
  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/
  [root@7cest ~]# cat /etc/yum.repos.d/MongoDB.repo
  [mongodb-org-3.4]
  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
  [mongodb-org-2.6]
  name=MongoDB 2.6 Repository
  baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
  gpgcheck=0
  enabled=1
  [root@7cest ~]# yum clean all
  [root@7cest ~]# yum makecache
  直接yum安装如下:(mongodb为2.6版本,mongodb-org为3.0版本)
  [root@7cest ~]# yum install -y mongodb
  [root@7cest ~]# yum install -y mongodb-org
  下载rpm包,包括依赖包后安装:
  #依赖包下载工具包安装
  [root@7cest ~]# yum install yum-utils -y
  #使用方法:yum  --enablerepo=[repo] install --downloadonly  --downloaddir=<directory>  <package-name>
  #mongodb下载:(mongodb为2.6版本,mongodb-org为3.0版本)
  [root@7cest mongo]# yum install --downloadonly --downloaddir=/root/mongo/ mongodb
  [root@7cest mongo]# 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.rpm  mongodb-org-tools-3.4.0-1.el7.x86_64.rpm
  mongodb-org-server-3.4.0-1.el7.x86_64.rpm
  [root@7cest mongo34]# 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启动配置
  [root@7cest mongo34]# systemctl enable mongod.service
  [root@7cest mongo34]# systemctl start mongod.service
  [root@7cest mongo34]# ss -tunlp | grep mongod
  tcp    LISTEN     0      128    127.0.0.1:27017                 *:*                   users:(("mongod",pid=3152,fd=7))
  [root@7cest mongo34]# mongo               #登录操作
  2、通过ansible-playbook来安装mongodb
  为 mongodb的部署创建一个工作目录,包括子目录和部署配置文件,安装 tree 命令,使用tree命令来查看:
  [root@202-test ansiblesoft]# ls
  keepalived  mongoDB  nginx
  [root@202-test ansiblesoft]# pwd
  /bak/ansiblesoft
  [root@202-test ansiblesoft]#  mkdir mongoDB/{file,tasks} -pv
  [root@202-test ansiblesoft]#  touch mongoDB/install_mongo.sh
  [root@202-test ansiblesoft]# touch mongoDB/mongo_deploy.yml
  [root@202-test ansiblesoft]# touch mongoDB/mongo.repo
  [root@202-test ansiblesoft]# 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
  [mongodb-org-3.4]
  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=[repo]  --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本机下:
  [root@202-test rpmsoft]# pwd
  /bak/ansiblesoft/mongoDB/rpmsoft
  [root@202-test 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%   12MB  11.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%   11MB  11.2MB/s   00:01
  mongodb-org-tools-3.4.0-1.el6.x86_64.rpm                      100%   49MB  12.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安装脚本
  [root@202-test mongoDB]# ls
  file  install_mongo.sh  mongo_deploy.retry  mongo_deploy.yml  mongo.repo  tasks
  [root@202-test mongoDB]# cat install_mongo.sh
  #!/bin/bash
  yum install /root/ansiblerpm/mongo/file/* -y
  注意:-y喔
  5)、为mongo创建安装配置文件install_mongo.yml
  [root@202-test mongoDB]# 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服务检查
  [root@202-test 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
  [root@202-test mongoDB]# 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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-543036-1-1.html 上篇帖子: ansible inventory 下篇帖子: ansible 使用bt协议分发大文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表