[root@c7 roles]# tree
.
├── cdh-agent
│ ├── files
│ │ └── cdh
│ ├── handlers
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── cdh-server
│ ├── files
│ │ ├── my.cnf
│ │ ├── mysql-rpms
│ │ │ ├── MySQL-server-5.5.62-1.el7.x86_64.rpm
│ │ │ ├── net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
│ │ │ └── perl-Data-Dumper-2.145-3.el7.x86_64.rpm...........
│ │ ├── parcels
│ │ │ ├── CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel
│ │ │ ├── CDH-5.12.2-1.cdh5.12.2.p0.4-el7.parcel.sha
│ │ │ └── manifest.json
│ │ └── scripts
│ │ ├── cdh
│ │ ├── kill_supervisor.sh
│ │ └── mysql_cdh_init.sh
│ ├── handlers
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ └── templates
│ └── my.cnf
└── common
├── files
│ ├── cdh-packs
│ │ ├── cloudera-manager-centos7-cm5.12.2_x86_64.tar.gz
│ │ └── jdk-8u211-linux-x64.rpm
│ ├── hosts
│ ├── jars
│ │ ├── mssql-jdbc-7.2.1.jre8.jar
│ │ ├── mysql-connector-java.jar
│ │ └── ojdbc6.jar
│ ├── rpm-deps
│ │ ├── perl-parent-0.225-244.el7.noarch.rpm
│ │ ├── perl-PathTools-3.40-5.el7.x86_64.rpm
│ │ ├── sshpass-1.06-1.el6.x86_64.rpm
│ │ └── zlib-devel-1.2.7-18.el7.x86_64.rpm...........
│ └── sys_env.sh
├── handlers
│ └── main.yml
├── tasks
│ └── main.yml
└── templates
20 directories, 119 files
[vagrant@c7 ansible-cdh-el7-playbook]$ cat help.txt
#1, 修改三个配置(hosts:集群角色分配, hosts-cdh:集群的主机名ip映射, group_vars/all:设置cdh-master的ip
[root@test-c6 ansible-cdh-el6-playbook]# cat hosts
[cdh-server]
server ansible_host=192.168.56.161 ansible_port=22 ansible_ssh_user=root ansible_ssh_pass=vagrant
[cdh-agent]
agent1 ansible_host=192.168.56.162 ansible_port=22 ansible_ssh_user=root ansible_ssh_pass=vagrant
agent2 ansible_host=192.168.56.160 ansible_port=22 ansible_ssh_user=root ansible_ssh_pass=vagrant
[root@test-c6 ansible-cdh-el6-playbook]# cat hosts-cdh
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.160 c6 cdh-server
192.168.56.161 test-c6 cdh-agent1
192.168.56.162 test-c62 cdh-agent2
[root@test-c6 ansible-cdh-el6-playbook]# cat group_vars/all
cdh_server_ip: 192.168.56.161
#2, 开始安装: ansible环境准备(控制机上安装ansible), 安装cdh
./install.sh
#1, 准备ansible-playbook目录结构
mkdir roles group_vars
touch site.yml hosts
mkdir roles/{comm,server,agent}
mkdir roles/comm/{files,handlers,tasks,templates}
touch roles/comm/{tasks,handlers}/main.yml
mkdir roles/cdh-server/{files,handlers,tasks,templates}
touch roles/cdh-server/{tasks,handlers}/main.yml
mkdir roles/cdh-agent/{files,handlers,tasks,templates}
touch roles/cdh-agent/{tasks,handlers}/main.yml
#2, 配置cdh 的/etc/hosts文件
[vagrant@c7 ansible-cdh-el7-playbook]$ cat roles/common/files/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.170 c7
192.168.56.171 test-c7
#3, 为了便于管理这个CDH集群的/etc/hosts文件,建立软连接
[vagrant@c7 ansible-cdh-el7-playbook]$ ln -sf roles/common/files/hosts hosts-cdh
[vagrant@c7 ansible-cdh-el7-playbook]$ ls -lF
total 31728
-rw-r--r--. 1 vagrant vagrant 32471040 May 14 11:46 ansible7.tar
drwxr-xr-x. 2 vagrant vagrant 17 May 14 15:42 group_vars/
-rw-rw-r--. 1 vagrant vagrant 919 May 14 10:39 help.txt
-rw-r--r--. 1 vagrant vagrant 225 May 14 11:57 hosts
lrwxrwxrwx. 1 vagrant vagrant 24 May 14 16:08 hosts-cdh -> roles/common/files/hosts
-rwxr-xr-x. 1 vagrant vagrant 1990 May 14 14:27 install.sh*
drwxr-xr-x. 5 vagrant vagrant 55 May 13 15:14 roles/
drwxr-xr-x. 2 vagrant vagrant 187 May 14 11:48 selinux-py-packs/
-rw-r--r--. 1 vagrant vagrant 147 May 13 18:05 site.yml
#4, 关键文件
[vagrant@c7 ansible-cdh-el7-playbook]$ cat group_vars/all
cdh_server_ip: 192.168.56.171
[vagrant@c7 ansible-cdh-el7-playbook]$ cat site.yml
---
- hosts: all
roles:
- common
- hosts: cdh-server
roles:
- cdh-server
- hosts: cdh-agent
roles:
- cdh-agent
tags: agentstart
文件都是空的(rpm包,parcel包,tar包…)
https://github.com/eaglesinchina/devops/tree/master/ansible-cdh-el7-playbook2