背景:
管理hadoop集群,需要批量执行操作。比如,修改hosts文件,将配置、jar包同步到每台机器
为什么使用fabric:
1.首先,在Instgram的技术博客里看到fabric的介绍;
2.之前在爬虫团队用fabric管理了200+阿里云的机器,可靠性、稳定性已经过验证;
3.学习成本低,安装方便;
fabric简介:
fabric的官方网站:http://www.fabfile.org/
官方网站对fabric的定义为:
Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
我的理解:
fabric是一个python的module(再次证明python胶水语言的霸气),底层采用ssh连接,可以对目标机器集群进行批量部署或者系统管理
fabric的安装方法:
$ pip install fabric
这会把fabric依赖模块一起安装好
在命令行打fab命令,如果能看到这样的输出,就表明fabric已经安装好
Usage: fab [options] [:arg1,arg2=val2,host=foo,hosts='h1;h2',...] …
使用fabric:
1. 新建一个文件夹,作为我们的开发目录
$ cd ~
$ mkdir -p develop/python/fabricDev
$ cd develop/python/fabricDev
2. 新建 fabfile.py 文件,添加如下代码并保存:
#encoding=utf-8
from fabric.api import run
def host_type():
run(‘uname -s’)