CDH 介紹
CDH是Apache Hadoop及相關(guān)項(xiàng)目中最完整伴澄,且經(jīng)過測試和受歡迎的發(fā)行版琳拨。 CDH提供Hadoop的核心元素 - 可擴(kuò)展存儲(chǔ)和分布式計(jì)算 - 以及基于Web的用戶界面和重要的企業(yè)功能劈彪。 CDH是Apache授權(quán)的開源浇雹,是唯一提供統(tǒng)一處理壹若,交互式SQL和交互式搜索以及基于角色的訪問控制的Hadoop解決方案稿蹲。
Cloudera Manager是用于管理CDH群集的端到端應(yīng)用程序碳抄。 Cloudera Manager通過為CDH集群的每個(gè)部分提供細(xì)致的可見性和控制權(quán),為企業(yè)部署設(shè)置了標(biāo)準(zhǔn)场绿,從而提高運(yùn)營商的性能剖效,提高服務(wù)質(zhì)量,提高合規(guī)性并降低管理成本焰盗。 通過Cloudera Manager璧尸,您可以輕松部署和集中操作完整的CDH堆棧和其他托管服務(wù)。 應(yīng)用程序自動(dòng)執(zhí)行安裝過程熬拒,將部署時(shí)間從幾周縮短到幾分鐘; 為您提供運(yùn)行的主機(jī)和服務(wù)的集群范圍的實(shí)時(shí)視圖; 提供了一個(gè)單一的中央控制臺(tái)來在集群中實(shí)現(xiàn)配置更改; 并集成了全面的報(bào)告和診斷工具爷光,以幫助您優(yōu)化性能和利用率。
Cloudera Manager架構(gòu)
cloudera manager的核心是管理服務(wù)器澎粟,該服務(wù)器承載管理控制臺(tái)的Web服務(wù)器和應(yīng)用程序邏輯蛀序,并負(fù)責(zé)安裝軟件,配置活烙,啟動(dòng)和停止服務(wù)徐裸,以及管理上的服務(wù)運(yùn)行群集。
ansible介紹
Ansible 是一個(gè)配置管理和應(yīng)用部署工具啸盏,功能類似于目前業(yè)界的配置管理工具 Chef,Puppet,Saltstack重贺。Ansible 是通過 Python 語言開發(fā)。Ansible 平臺(tái)由 Michael DeHaan 創(chuàng)建,他同時(shí)也是知名軟件 Cobbler 與 Func 的作者气笙。
利用ansible的playbook安裝集群次企,可實(shí)現(xiàn)一次編寫,多次安裝部署潜圃。所以使用ansible安裝cdh5不僅僅是省一次的時(shí)間缸棵,而是省下了每個(gè)人安裝cdh5的時(shí)間。
更多內(nèi)容: http://www.reibang.com/p/c56a88b103f8
本次使用的cdh集群架構(gòu)
系統(tǒng)版本: Centos 6.7 X64
Server內(nèi)存配置:8G谭期,磁盤100G
Agent內(nèi)存配置: 4G堵第, 磁盤100G
本次安裝的僅僅是cdh集群,而不是hadoop集群崇堵,hadoop集群在cm web頁面可配置。
本次用到的ansible rules
-
Ansible Role 數(shù)據(jù)庫 之【mysql】
mysql 角色用于安裝mysql數(shù)據(jù)庫客燕,用于cdh5的數(shù)據(jù)存儲(chǔ) -
Ansible Role 大數(shù)據(jù) 之【cdh5-pre】
cdh5-pre 角色用于在安裝前做些環(huán)境設(shè)置操作鸳劳,如ntp,java配置等等 -
Ansible Role 大數(shù)據(jù) 之【cdh5-agent】
cdh5-agent 角色用于安裝cm angent服務(wù)也搓,連接server -
Ansible Role 大數(shù)據(jù) 之【cdh5-server】
cdh5-server 角色用于安裝cm server服務(wù)赏廓,管理agent
Ansible系統(tǒng)環(huán)境
os: Centos 6.7 X64
python: 2.6.6
安裝ansible和git
[root@node ~]# yum install -y ansible git
[root@node ~]# ansible --version
ansible 2.3.0.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.6.6 (r266:84292, Jul 23 2015, 15:22:56) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]
設(shè)置ansible
關(guān)閉主機(jī)ssh known_hosts檢查
配置文件:/etc/ansible/ansible.cfg
59 host_key_checking = False
使用git 克隆ansible role
git clone https://github.com/kuailemy123/Ansible-roles.git /etc/ansible/roles/
添加主機(jī)清單
根據(jù)上面的集群架構(gòu)圖,定義cdh集群架構(gòu)中的主機(jī)角色
# cat /etc/ansible/hosts
[cdh5-all]
192.168.77.129
192.168.77.130
192.168.77.131
[cdh5-server]
192.168.77.129
[cdh5-agent]
192.168.77.129
192.168.77.130
192.168.77.131
[all:vars]
ansible_ssh_pass=123456
添加playbook
利用ansible安裝cdh集群傍妒,就是要寫playbook幔摸。下面的playbook分為3個(gè)步驟
- 對(duì)集群所有主機(jī)進(jìn)行安裝服務(wù)器預(yù)處理。利用role:cdh-pre
- 安裝cm server颤练,注意這里先安裝的是mysql既忆,后續(xù)才是server,mysql的binlog format 必須是MiXED
- 最后在安裝cm agent嗦玖,agent啟動(dòng)后會(huì)自動(dòng)連接server患雇。
# cat /etc/ansible/cdh5.yml
---
- hosts: cdh5-all
vars:
- ipnames:
'192.168.77.129': 'master'
'192.168.77.130': 'node1'
'192.168.77.131': 'node2'
roles:
- { role: cdh5-pre }
- hosts: cdh5-server
vars:
- mysql_host: 192.168.77.129
- mysql_user: root
- mysql_password: 123456
- mysql_binlog_format: 'MiXED'
roles:
- { role: mysql }
- { role: cdh5-server }
- hosts: cdh5-agent
vars:
- cdh5_server_host: '192.168.77.129'
roles:
- { role: cdh5-agent }
執(zhí)行playbook
# cd /etc/ansible/
# ansible-playbook cdh5.yml
web配置
http://192.168.77.129:7180/cmf/login
默認(rèn)用戶名/密碼: admin/admin
然后跟著web頁面一步一步的部署hadoop集群
建議
在安裝集群服務(wù)后,務(wù)必重啟下機(jī)器宇挫。