一、通过playbook安装与设置zookeeper

---                                       #必须字段,类同于#/bin/bash- hosts: test                        #远程操作主机  remote_user: cedar          #远程操作用户  become: yes                    #是否sudo   tasks:    - name: "安装zookeeper"                                                      #任务命名      command: yum -y install mesosphere-zookeeper              #远程执行命令安装zook    - name: "启动zookeeper"                                   #任务命名      service:                                                             #service模块        name: zookeeper                                           #服务名zookeeper        state: started                                                  #动作started    - name: "设置开机启动"                                     #任务命名      service:                                                            #service模块        name: zookeeper                                           #服务名zookeeper        enabled: yes                                                  #enabled参数为YES开机启动

二、验证结果

[root@Ansible playbook]# ansible-playbook test.yaml PLAY [test] *****************************************************************************************************************************************************TASK [Gathering Facts] ******************************************************************************************************************************************ok: [10.3.153.8]TASK [安装zookeeper] **********************************************************************************************************************************************[WARNING]: Consider using the yum module rather than running 'yum'.  If you need to use command because yum is insufficient you can add 'warn: false' to thiscommand task or set 'command_warnings=False' in ansible.cfg to get rid of this message.changed: [10.3.153.8]TASK [启动zookeeper] **********************************************************************************************************************************************changed: [10.3.153.8]TASK [设置开机启动] ***************************************************************************************************************************************************ok: [10.3.153.8]PLAY RECAP ******************************************************************************************************************************************************10.3.153.8                 : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   You have new mail in /var/spool/mail/root[root@Ansible playbook]# ansible test -m command -a "systemctl status zookeeper" -u cedar -b10.3.153.8 | CHANGED | rc=0 >>● zookeeper.service - Apache ZooKeeper   Loaded: loaded (/usr/lib/systemd/system/zookeeper.service; enabled; vendor preset: disabled)   Active: active (running) since Wed 2021-01-20 03:19:35 EST; 49s ago Main PID: 11518 (java)   CGroup: /system.slice/zookeeper.service           └─11518 java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /opt/mesosphere/zookeeper/bin/../build/classes:/opt/mesosphere/zookeeper/bin/../build/lib/*.jar:/opt/mesosphere/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/mesosphere/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/opt/mesosphere/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/opt/mesosphere/zookeeper/bin/../lib/log4j-1.2.16.jar:/opt/mesosphere/zookeeper/bin/../lib/jline-0.9.94.jar:/opt/mesosphere/zookeeper/bin/../zookeeper-3.4.6.jar:/opt/mesosphere/zookeeper/bin/../src/java/lib/*.jar:/etc/zookeeper/conf: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /etc/zookeeper/conf/zoo.cfgJan 20 03:19:53 ansible-test zookeeper[11518]: 2021-01-20 03:19:53,010 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1007] - Closed socket connection for client /10.3.151.86:41692 which had sessionid 0x1771ee0aca90000Jan 20 03:19:53 ansible-test zookeeper[11518]: 2021-01-20 03:19:53,018 [myid:] - ERROR [SyncThread:0:NIOServerCnxn@178] - Unexpected Exception:Jan 20 03:19:53 ansible-test zookeeper[11518]: java.nio.channels.CancelledKeyExceptionJan 20 03:19:53 ansible-test zookeeper[11518]: at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:73)Jan 20 03:19:53 ansible-test zookeeper[11518]: at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:77)Jan 20 03:19:53 ansible-test zookeeper[11518]: at org.apache.zookeeper.server.NIOServerCnxn.sendBuffer(NIOServerCnxn.java:151)Jan 20 03:19:53 ansible-test zookeeper[11518]: at org.apache.zookeeper.server.NIOServerCnxn.sendResponse(NIOServerCnxn.java:1081)Jan 20 03:19:53 ansible-test zookeeper[11518]: at org.apache.zookeeper.server.FinalRequestProcessor.proce***equest(FinalRequestProcessor.java:404)Jan 20 03:19:53 ansible-test zookeeper[11518]: at org.apache.zookeeper.server.SyncRequestProcessor.flush(SyncRequestProcessor.java:200)Jan 20 03:19:53 ansible-test zookeeper[11518]: at org.apache.zookeeper.server.SyncRequestProcessor.run(SyncRequestProcessor.java:131)[root@Ansible playbook]# ansible test -m command -a "systemctl list-unit-files" -u cedar -b | grep zookeeperzookeeper.service                             enabled You have new mail in /var/spool/mail/root[root@Ansible playbook]# 

三、帮助文档参考

1、tasks下的内容,均为ansible对应的模块的功能使用,我们可以通过ansible-doc文档去查看每个模块的使用帮助文档与参数描述,如:ansible-doc service。

四、Playbook 与 Shell 脚本差异对比

当我们把shell脚本转换为Playbook运行的时候,Ansible 会留下清晰的执行痕迹,明确告诉我们在每一台主机上的每一步都做了什么。同时,Ansible 自带幂等判断机制也为运维省去不少伤脑费心的人脑逻辑判断运算。当我们重复执行一个Playbook时,当Ansible发现系统的现有状态与Playbook所定义的将要实现的状态一致时,Ansible 将自动跳过该操作。

©著作权归作者所有:来自51CTO博客作者wx592bc92b285c7的原创作品,如需转载,请注明出处,否则将追究法律责任

好知识,才能预见未来

赞赏

0人进行了赞赏支持

更多相关文章

  1. 假期玩得开心也不忘充电,学习Python操作JSON,网络数据交换不用愁
  2. LeetCode 题解:一顿操作猛如虎,一看击败百分五
  3. 如何设计一个支持增量操作的栈
  4. 对列和行的操作
  5. 从一道简单算法题理解快速排序的 partition 操作
  6. 玩转 Pandas 的 Groupby 操作
  7. 13个知识点,系统整理Python时间处理模块Datetime
  8. GitHub的注册,代码仓库的创建,用小乌龟上传代码(个人认为比较适合新
  9. 零基础学习Python列表操作

随机推荐

  1. android与webservice通信之中文乱码问题!
  2. android通过shape.xml制作渐变背景
  3. Android listview中使用button解决方法
  4. android apilevel和android系统版本对应
  5. Android动态壁纸开发
  6. android PhoneGap JQuery Mobile Demo
  7. android studio多渠道号,多包名打包
  8. Android SDK,API版本对照
  9. Android开发技术文章整理
  10. android 自动接听原码