原标题:手把手教你Apache顶级项目Amabari 的集群管理(一)

本文主要带领大家一起,参与到基于Windows2003操作系统的集群配置中来,从以下的配置过程中,希望读者朋友能切实了解到Windows2003集群技术在Windows2003中的具体应用。
  一、总体情况

IG六合彩 1

导读

  Windows Server
2003的企业版和Datacenter版都可以支持最大达8个节点的集群配置;其典型的特征是可为数据库、消息系统、文件与打印服务这些关键业务应用,提供高可用性和可扩展性,在集群中的多个服务器(节点)保持不间断的联系。即是说如果在集群中的某一节点因出错或维护不可用时,另一节点会立刻提供服务,以实现容错。正在访问服务的用户可以继续访问,而不会察觉到服务已经由另一台服务器(节点)提供。

IG六合彩 2

Apache
Ambari是Hortonworks开源的Hadoop集群管理工具,并于2013年底从孵化器毕业,成为Apache的顶级项目。Ambari具备Hadoop组件的安装、管理、运维等基本功能,并提供GUI进行可视化的集群管理,简化了大数据平台的安装、使用难度。

  二、安装前准备

IG六合彩 3

本次分享主要涉及Ambari的简单介绍及Ambari自定义插件开发步骤(基于Ambari
2.5.1.0版本)。

  集群服务作为Windows Server 2003
操作系统的一个主要部分,不再是一个可选的组件。以下配置过程主要分为“安装前准备”、“服务安装”以及“创建集群”三方面进行。

IG六合彩 4

▌**引言**

  在这一步中,主要明白在软、硬件方面都应作怎样的准备,才能让集群服务正常安装并运行起来。首先在软件方面,要求群集中的所有计算机上均安装有Windows
Server
2003操作系统;需要有一个域名解析系统;所有的节点必须是同一个域的成员,需要一个域级账户,而且要是每个节点上的本地管理员组的成员。

IG六合彩 5

Hadoop自从它诞生之日起,集群的管理就是一个无法回避的问题。两家商业化平台厂商Cloudera和Hortonworks分别推出了各自的平台管理软件:ClouderaManager和Ambari来解决集群管理这个问题。Ambari并没有对Hadoop组件进行过多的功能集成(如日志分析等),只是提供了安装,配置,启停等基础功能,尽量保持了跟原生Hadoop组件的隔离性,对组件的具体操作,则可通过Quick
Links直接导向原生的管理界面(如yarn UI,HBase Master
UI)来完成,保持了对于Hadoop组件的低侵入性。但是Ambari目前只支持HDP,不支持原生的或者其他二次开发的Hadoop平台,一定程度上影响了它的流行。

  硬件方面,要求群集中的每个节点拥有两块网卡;每个节点上的所有网络界面均拥有静态IP地址;一个唯一的NetBIOS名称;群集磁盘上的所有分区必须格式化为NTFS等等。

IG六合彩 6

考虑到Ambari的开源,可拓展,社区强大等特性,易观选择了Ambari来管理集群。

  三、服务安装

IG六合彩 7

▌**概念介绍**

  在第一个节点上开始安装群集服务前,必须先在每一个群集节点上执行以下步骤:

IG六合彩 8

正式开始之前,先为不熟悉Ambari的同学普及几个ambari里的概念:

  在每个节点上安装 Windows Server 2003操作系统。

IG六合彩 9

Server,Agent:Ambari框架采用的是Server/Client的模式,主要由两部分组成:ambari-agent和ambari-server。Ambari
Server 会读取 Stack 和 Service 的配置文件。当Ambari
Server启动的时候,Ambari Server 会分发 Stack 和 Service 的配置文件以及
Service 生命周期的控制脚本到 Ambari
Agent。Agent端拿到配置文件后,会下载安装公共源里软件包(对于centos系统,就是使用
yum 服务)。安装完成后,Ambari Server 会通知 Agent去启动 Service。之后
Ambari Server 会定期发送命令到 Agent 检查 Service 的状态,Agent
返回信息给 Server,并呈现在 Ambari 的 GUI 上。

  设置网络。

IG六合彩 10

一个ambari服务的目录结构大致如下:

设置磁盘。
  提示:要配置群集服务,您必须以一个具有所有节点管理权限的账户登录。每个节点都必须是同一个域的成员。如果您选择将其中一个节点作为域控制器,则应在相同的子网上再设置一个域控制器,以便消除单点故障,并对该节点进行维护。

IG六合彩 11

IG六合彩 12

  关于Windows
2003操作系统的具体安装过程,这里不再详述,大家可以参考Microsoft相关技术文档。这里主要介绍余下两步。

IG六合彩 13

stacks:
stack表示某个发行版本,例如HDP-2.0.6。stack版本可以通过metainfo.xml设置继承关系,便于共享脚本和配置。

  1:设置网络

IG六合彩 14

common-services:ambari的服务定义库。service在此完成定义,在某个stack版本注册,实现服务的发布。

  每个群集节点要求至少要有两块网卡用于两个或多个独立网络,以避免单点故障。其中一个网络适配器用于连接到公用网络,而另一个则用于连接到仅由群集节点组成的专用网络。拥有多个网络适配器的服务器被称为“多宿主”。在这部分的网络配置中,可从以下几方面进行。

IG六合彩 15

service:service是集群(大数据)组件的抽象,由一个或多个component组成。component的category有MASTER,SLAVE,CLIENT三种,对应不同的生命周期:

  规划好两块网卡的名称

IG六合彩 16

IG六合彩 17

  依次在“控制面板/网络连接”中,右击本地连接的网卡图标,选择“重命名”命令,将此连接命名为“专用”;然后将另一个网卡连接图标命名为“公用”。新的连接名称将出现在“群集管理器”中,并将在联机时自动复制到其他所有的群集节点。

IG六合彩 18

▌**工作原理**

  确定绑定的顺序网络

IG六合彩 19

IG六合彩 20

  在“网络连接”窗口内,依次单击主菜单上的“高级/高级设置”命令,在弹出的窗口中确定顺序为公用、专用和远程访问连接,如图1所示。

IG六合彩 21

图一:Ambari工作原理

  

IG六合彩 22

Ambari工作原理如上图所示:

  图1

IG六合彩 23

1.ambari已安装的服务配置会存储在mysql中,可通过web界面修改,改完记得重启服务保证配置生效;

配置专用连接属性
  步骤1:在网络连接窗口中,右键单击专用连接图标,选择属性命令。

2.新添加的service定义会在ambari-server启动时,从server节点分发到各agent节点;

  步骤2:在“常规选”项卡下,清除所有其他客户端、服务和协议的复选框,确认只勾选了“Internet
协议 (TCP/IP)” 复选框,如图 2 所示。

3.安装service时,会默认yum安装,而且它对于安装服务,有30分钟的超时时间,如果30分钟内没有下载完,就会造成安装失败。这意味着大部分情况下需要你配置本地yum源;

  

4.web界面的start,stop命令,会被server发送给agent,由agent调用生命周期脚本中的对应方法来实现服务起停。

  图2

▌**服务定制开发**

  步骤3:在图3中单击右上角“配置”按钮,打开如图3所示界面后,在“高级”选项卡下,为网卡选择一个合适的传输速度值;建议将同一路径上的所有设备设定为
10 兆字节每秒 (Mbps) 和半双工,即保证集群环境内所有网卡速率保持一致。

虽然Ambari已经支持大多数Hadoop组件,但是有时候我们希望通过Ambari监控管理部署在集群上的自研程序,这时候就需要用到ambari的服务定制。

  

下面,我们将尝试开发一个叫EGSERVER的服务,并将它添加到一个已存在的stack里:

  图3

1.创建服务定义目录

步骤4:配置专用网络网卡地址。在图2所示界面中双击“Internet 协议
(TCP/IP)”,在打开的如图4所示IP地址配置界面中,为专用网络的网卡配置唯一的IP地址。比如可将10.0.0.0
到 10.255.255.255 (A 类)的地址段作为集群环境的专用IP地址段。
  

IG六合彩 24

  图4

2.进入刚创建的目录,创建编辑metainfo.xml文件

  步骤5:然后单击IP地址配置界面右下角的“高级”按钮。确保清除了在 DNS
中注册此连接的地址和在 DNS 注册中使用此连接的 DNS
后缀复选框;然后切换到“WINS”选项卡,勾选“禁用TCP/IP上的NetBIOS”选项,如图5所示。

IG六合彩 25

  

IG六合彩 26

  图5

IG六合彩 27

  提示:以上三方面的内容在群集中的所有其他节点上,都应进行同样的设置。

IG六合彩 28

设置群集用户账户

编辑metainfo.xml时要注意:

  群集服务需要一个域用户账户,该账户应为每个可运行群集服务的节点上的“本地管理员”组成员。因为安装需要用户名和密码,所以该用户账户必须在配置群集服务前予以创建。该用户账户只能专门用于运行群集服务,而不能属于个人。

a.service和component的name一定要大写;

  依次单击“开始/程序/管理工具/ Active Directory
用户和计算机”后,即可开始创建过程。注意最后在“Active Directory
用户和计算机”管理单元的左侧窗格中,右击群集后选择将成员添加到组;然后单击管理员,这样将给予新用户账户在该计算机上的管理特权。

b.cardinality节点表示安装数。

  2:设置磁盘

1表示只能装一个,

  设置磁盘时注意,为了避免破坏群集磁盘,在其他节点上启动操作系统前,确认至少在一个节点上安装、配置并运行了
Windows Server 2003
和群集服务。在完成群集服务配置之前,所开启的节点数不要超过一个,这一点至关重要。

1+表示最少装一个,

  创建仲裁磁盘

0-1表示最多一个,

  仲裁磁盘用于存储群集配置数据库检查点和日志文件,日志文件可协助管理群集和维护一致性。一般情况下应创建一个最小
50 MB 的逻辑驱动器用来作为仲裁磁盘。

ALL表示每台及其都需要装。

  配置共享磁盘

c.package的name节点会作为yum时所用的名字,可使用*做适配。

  共享磁盘的配置,主要是从硬盘空余空间中分配一个仲裁磁盘和最少一个数据磁盘出来,用于集群管理(最好再加装一块硬盘,专用于集群);然后右击磁盘分区,选择“格式化”命令;接着在如图6所示窗口中,在卷标框中,键入该磁盘的名称;然后选择“NTFS”文件系统;最后单击“确定”按钮即可。

3.创建metainfo.xml里涉及的服务脚本

  

IG六合彩 29

  图6

IG六合彩 30

  提示:为共享磁盘分配驱动器卷标至关重要,因为在还原磁盘时这会大大减少故障排除时间。

IG六合彩 31

 

IG六合彩 32

上述脚本中涉及到的方法中,install()在安装时调用,start(),stop()对应服务的起停,status()用来做状态检查,configure()则用来从配置文件等处获取相关配置。

4.重启Ambari
Server来将刚刚编辑好的文件分发到集群的各agent节点

ambari-server restart

5.将你的服务打成rpm包,并添加到yum源里

6.通过web UI安装刚定义好的服务

IG六合彩 33

图2:Web UI Add Service
Wizard界面

b.点击 Add Services,

choose
services界面勾选刚刚添加的服务EGUAN custom Service,然后Next;

c.Assign masters,

选择
EGSERVER_MASTER要部署的节点;

d.Assign Slaves and Clients,

选择slave和client要部署的节点;

e.继续next,直到安装成功,

然后你就能在页面左侧导航区看到新加的服务了;

g.如果某个节点想新加client,

可以进入该节点的监控页面,点击components右侧的”+Add”来添加。

这样,你就成功添加了EGSERVER服务到Ambari中,可随时通过Ambari来监控服务的存活状态,执行启停等。

部分内容引用:

单日票新鲜出炉

26日通票279元

27日通票209元

随心组合

共享年度大数据巅峰盛典

**戳“阅读原文”,参与优惠活动吧~**返回搜狐,查看更多

责任编辑: