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

[经验分享] ansible安装zookeeper

[复制链接]

尚未签到

发表于 2018-7-29 12:05:36 | 显示全部楼层 |阅读模式
cat iphost.txt  
n16 172.x.x.1
  
d17 172.x.x.2
  
d18 172.x.x.3
  

  
cd /etc/ansible/shell
  
cat iphost.py
  
#!/usr/bin/python
  
# coding:utf-8
  
import sys
  

  
try:
  
    import json
  
except ImportError:
  
    import simplejson as json
  

  
def grouplist():
  
    inventory = {}
  
    #inventory['local'] = []
  
    sfile='/etc/ansible/shell/iphost.txt'
  
    with open(sfile,'rb') as f:
  
        for i in f.readlines():
  
            group=i.strip().split()[0]
  
            name=i.strip().split()[1]
  
            if not group in inventory:
  
                inventory[group] = {
  
                    'hosts': []
  
                }
  
            inventory[group]['hosts'].append(name)
  

  
        print json.dumps(inventory, indent=4)
  

  

  
def hostinfo(name):
  
    vars = {}
  
    vars = {
  
        'admin': 'Jane Jolie',
  
        'datacenter': 1
  
    }
  
    print json.dumps(vars, indent=4)
  

  
if __name__ == '__main__':
  
    if len(sys.argv) == 2 and (sys.argv[1] == '--list'):
  
        grouplist()
  
    elif len(sys.argv) == 3 and (sys.argv[1] == '--host'):
  
        hostinfo(sys.argv[2])
  
    else:
  
        print "Usage: %s --list or --host <hostname>" % sys.argv[0]
  
        sys.exit(1)
  

  
cd /etc/ansible/zookeeper
  
tree
  
.
  
├── hosts
  
├── roles
  
│   └── http
  
│       ├── default
  
│       ├── files
  
│       │   ├── java.env
  
│       │   └── zookeeper.tar.gz
  
│       ├── handlers
  
│       ├── meta
  
│       │   └── test
  
│       ├── tasks
  
│       │   ├── main v1.yml
  
│       │   └── main.yml
  
│       ├── templates
  
│       │   └── zoo.cfg
  
│       └── vars
  
│           └── main.yml
  
└── site.yml
  

  
cd /etc/ansible/zookeeper/roles/http/tasks
  
[root@jk tasks]# ls
  
main v1.yml  main.yml
  
[root@jk tasks]# cat main.yml
  
- name: Stop zookeeper
  
  shell: ps -ef|grep zookeeper|grep -v grep|awk '{print $2}'|xargs kill -9 >>/dev/null 2>&1
  
  ignore_errors: yes
  
- name: Copy zookeeper
  
  copy: src=zookeeper.tar.gz dest=/tmp/zookeeper.tar.gz owner=hadoop group=hadoop
  
- name: Uncompression
  
  shell: tar zxf /tmp/zookeeper.tar.gz -C /home/hadoop/  && rm -rf /tmp/zookeeper.tar.gz
  
- name: Copy env
  
  copy: src=java.env dest=/home/hadoop/zookeeper/conf/java.env owner=hadoop group=hadoop
  
- name: mkdir
  
  shell: mkdir /home/hadoop/zookeeper/data  &&  mkdir /home/hadoop/zookeeper/datalog/
  
  ignore_errors: yes
  
- name: Copy zoo.cfg
  
  template: src=zoo.cfg dest=/home/hadoop/zookeeper/conf/zoo.cfg  owner=hadoop group=hadoop mode=0755
  
- name: echo myid
  
  shell: echo {{ myid }} > /home/hadoop/zookeeper/data/myid
  
- name: chown
  
  shell: chown -R hadoop.hadoop /home/hadoop/zookeeper
  
- name: Start zookeeper Service
  
  shell: sudo -i -u hadoop nohup sh /home/hadoop/zookeeper/bin/zkServer.sh start &
  
- name: wc
  
  shell: cat /etc/rc.d/rc.local|grep zkServer|wc -l
  
  register: zookeepers
  
  ignore_errors: True
  
- name: Add Boot Start zookeeper Service
  
  shell: echo "sudo -i -u hadoop nohup sh /home/hadoop/zookeeper/bin/zkServer.sh start &" >>/etc/rc.d/rc.local
  
  when: zookeepers.stdout|int == 0
  

  
cd /etc/ansible/zookeeper/roles/http/vars
  
cat main.yml
  
ip1: 172.x.x.1
  
ip2: 172.x.x.2
  
ip3: 172.x.x.3
  

  
安装
  
ansible-playbook -i /etc/ansible/shell/iphost.py site.yml --extra-vars "myid=1 host=n16"
  
ansible-playbook -i /etc/ansible/shell/iphost.py site.yml --extra-vars "myid=2 host=d17"
  
ansible-playbook -i /etc/ansible/shell/iphost.py site.yml --extra-vars "myid=3 host=d18"
  

  
用ansible的shell sudo -i -u hadoop /home/hadoop/zookeeper/bin/zkServer.sh start
  
启动zkServer

运维网声明 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-543017-1-1.html 上篇帖子: Ansible自动化安装nginx-Hello,World! 下篇帖子: 1ansible 模块使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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