playbook部署mangodb
playbook文件 [root@localhost ~]# cat deploy_mongo.yaml --- - hosts: webservers become: yes become_method: sudo vars: mongodb_datadir_prefix: /data mongod_port: 25000 tasks: - name: create the mongodb user user: name=mongodb comment="MongoDB" - name: create the data directory for metadata file: path={{ mongodb_datadir_prefix }} owner=mongodb group=mongodb state=directory - name: install the mongodb command: yum install mongodb-org -y - name: create data directory for mongodb file: path: "{{ mongodb_datadir_prefix }}/mongo-{{ ansible_hostname }}" owner: mongodb group: mongodb state: directory - name: create log directory for mongodb file: path=/var/log/mongodb owner=mongodb group=mongodb state=directory - name: create the mongodb configuration file template: src=/root/mongodb.conf.j2 dest=/etc/mongod.conf - name: start mongodb command: systemctl start mongod.service 模板文件: 注意模板里面最多渲染个端口,渲染太多mongodb 总是无法启动 [root@localhost ~]# cat mongodb.conf.j2 # mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data. systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log # Where and how to store data. storage: dbPath: /var/lib/mongo journal: enabled: true # engine: # mmapv1: # wiredTiger: # how the process runs processManagement: fork: true # fork and run in background pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile # network interfaces net: port: {{ mongod_port }} bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces. #security: #operationProfiling: #replication: #sharding: ## Enterprise-Only Options #auditLog: #snmp: