腾讯专有云TBDS规划和自动化部署工具介绍
TBDS规划和自动化部署工具介绍
1. 前言
1.1 工具介绍
TBDS Autodeploy Tool是一款针对腾讯大数据套件(即TBDS)的规划和自动化部署工具,其基本功能包括:
- 根据用户输入的配置信息,自动生成规划表和配置文件;
- 通过后台调用api接口的方式,读取上述配置文件以自动化部署产品。
工具的主要目的在于减少TBDS产品规划和部署安装时的人为错误,以及提升产品整体的交付效率。对于PoC项目,快速生成用于原型验证所需的测试环境。
1.2 文档用途
本文对TBDS部署规划工具的功能和使用进行了说明。
1.3 适用对象
本文主要阅读对象为:
- TBDS产品架构师
- TBDS交付工程师
1.4 前提条件
使用TBDS部署规划工具之前,需要先确保以下条件得以满足:
- 运行规划工具的本地电脑上的Excel软件已允许启用宏。
1.5 下载工具
工具已集成到tbds-tools部署运维工具包,如有体验需求请留言以联系作者。
1.6 物料说明
工具包含的目录结构和文件说明如下:
tbdsAutodeployTool # 工具包主目录
|-- bin # 工具本身目录
| |-- tbds-planning.xlsm # TBDS规划工具
| |-- tbds-autodeploy.sh # TBDS自动化部署工具
|-- readme.md # 工具说明文档
|-- readme.assets # 工具说明文档中的插图目录
2. 拓扑规划
本章主要说明如何利用一个基于Excel开发的tbds-planning.xlsm
规划工具对TBDS产品进行配置和规划。
2.1 引导开始
在一台装有Excel软件的电脑上,打开tbds-planning.xlsm
,点击《引导开始》页。
基本的流程包含5个步骤:
- 选择基础配置信息;
- 选择套件服务;
- 填写集群信息;
- 查看组件规划;
- 最终确认。
在了解完基本的流程后,点击“已知悉,开始吧!”按钮,进入下一步进入《基础配置》页。
2.2 基础配置
在《基础配置》页,请填写以下基础配置信息:
- License序列号:填写TBDS产品的序列号,例如
INETXAHQZLSTYAGSJLADYMGNJNEG5IMUROIWSJHQBMUD2UG2RMKTWQKTKRIVWQOTLZIVWIG
; - 集群节点总数:TBDS集群所有节点的个数,例如
10
; - 数据盘路径:工作节点挂载的数据盘对应的目录,以英文逗号(,)分割,例如
/data,/data1,/data2,/data3
;
注意:目前仅支持所有数据节点的数据盘为统一路径的情景,如需分组配置,请先部署好产品再通过修改配置的方式完成。
- 配置文件输出路径:点击“浏览”按钮,在电脑本地选择一个文件夹,例如
C:\\Users\\aronhlchen\\Desktop\\TMP
,用于存放最终生成的配置文件。 - 版本号:TBDS的版本号,请勾选,目前支持
4.0.4.0
和4.0.3.1
,例如4.0.4.0
。
填写完毕后,点击“下一步:选择套件服务”按钮进入《服务选择》页。如需返回《引导开始》页,点击“上一步:引导开始”按钮。
2.3 服务选择
在《服务选择》页,请根据实际的业务场景,选择需要部署的服务:
- 选择状态:
Y/N
(注意是大写)分别代表选择/不选择服务;
其他列说明如下:
- 序号:服务的序号,仅用于方便查看;
- 服务名称:服务的名称;
- 可选性:分为可选和必选的服务;
注意:必选服务的选择状态必须为Y
,可选服务的选择状态可以为Y/N
。
- 服务简要说明:对服务进行的简要说明,更详细的说明请参考《TBDS-组件列表》文档。
选择完毕后,点击“下一步:填写集群信息”按钮进入《集群信息》页。如需返回《基础配置》页,点击“上一步:填写基础配置”按钮。
2.4 集群信息
在《集群信息》页,会根据《基础配置》页填入的集群节点数信息,自动生成《集群信息》表。需要填写以下信息:
- IP:集群中各个节点的IP,例如
10.0.0.1
; - root用户密码:集群中各个节点的root用户密码,例如
pw@Tbds.com
。
其他不需要填写的信息说明如下:
- 编号:集群中各个节点的编号,仅用于方便查看;
- 主机名:集群中各个节点的主机名,根据IP(
x.x.x.x
)以tbds-x-x-x-x
的形式自动生成,不需手动填入; - 节点类型:TBDS中节点的类型有三种:Portal节点、控制节点、工作节点。目前仅支持2(portal主/备)+3(控制)+N(工作)的模式,从上到下顺序生成;
选择完毕后,点击“下一步:查看组件规划”按钮进入《组件规划》页。如需返回《服务选择》页,点击“上一步:选择套件服务”按钮。
2.5 组件规划
在《组件规划》页,会根据《集群信息》页所填入的集群节点信息,以及《服务选择》页所选择的服务,自动生成一个节点与服务对应的规划表,例如下图,说明如下:
- 黄色框:包括节点序号、节点IP、节点类型信息;
- 红色框:根据选择的服务生成的服务和对应组件的列;
- 蓝色框:服务/组件和节点的部署规划情况,
Y
(注意为大写)表示部署,空表示不部署;
注意:组件规划信息为自动生成,可按默认规划不需修改直接部署,也可以根据实际的情况进行调整。
确认组件规划无误后,点击“下一步:最终确认”按钮进入《最终确认》页。如需返回《集群信息》页,点击“上一步:填写集群信息”按钮。
2.6 最终确认
在《最终确认》页,提示需要审阅之前填入和生成的所有信息。确保所有信息无误后,点击“下一步:生成配置文件”按钮以生成配置文件。
之后请根据提示到文件夹查看生成的对应文件。
生成的配置文件有两个,即cluster.info
和cluster_info.json
,详细说明请参考附录。
3. 自动化部署
3.1 上传配置文件
请将上述生成的配置文件,上传到TBDS集群的Portal主节点的以下对应目录:
1.cluster.info
:在TBDS Portal部署开始前,上传到/data
目录;
注意:上传后,需要注意一下格式,因为文件是在Windows系统底下生成,因此请手动转换为Unix格式。上传后,执行命令:
dos2unix /data/cluster.info
2.cluster_info.json
:在TBDS Portal部署完成后,上传到/usr/local/tbds-portal/conf
目录。
注意:TBDS Portal安装完成后会自带/usr/local/tbds-portal/conf/cluster_info.json
文件,直接覆盖即可。
3.2 安装TBDS Portal
请根据《TBDS部署操作指引手册》,安装好tbds-portal服务,并确保服务正常运行。
查看tbds-portal运行状态:
tbds-portal status
3.3 执行脚本
将tbds-tools下载到TBDS集群的Portal主节点上并解压,执行以下命令来自动化部署产品:
bin/tbds_autodeploy.sh
若运行正常,返回结果如下:
3.4 查看结果
登陆TBDS Portal页面和Ambari管理界面,查看部署进度。
1.TBDS Portal页面:
- URL:http://[portal_ip]
- 登陆信息:admin/123456
2.Ambari页面:
- URL:http://[portal_ip]:8088
- 登陆信息:admin/admin@Tbds.com
附录
配置文件说明
cluster.info
cluster.info
包含部署TBDS所需要写入的集群信息,用于部署tbds-portal
,格式如下:
node_1_ip [node_1_pw_optional]
node_2_ip [node_2_pw_optional]
…
node_n_ip [node_n_pw_optional]
其中
node_n_ip
:必选项,为第n个节点的IP;node_n_pw_optional
:可选项,为第n个节点的root用户密码。
注意:如果所有节点root用户密码相同,则该部份信息缺失,部署portal时直接使用/data/.tbds.ini
中的ROOTPWD
信息即可)。
cluster_info.json
cluster_info.json
主要包含集群名称、产品许可、选择的服务、机器信息、组件主机分布的规划信息、配置信息等,是调用TBDS自动化部署API接口所需要的信息文件,包含的字段说明如下:
cluster_name
:安装的集群名称;license
:对应安装集群申请的license;case_info
: 安装的服务标识名列表信息;services
:对应安装的服务信息;id
:对应服务标识;host_list
:安装的机器信息;name
:主机名称,不填则使用套件默认主机名;user
:访问主机的用户名,不填则默认通过配置文件/usr/local/tbds-portal/conf/custom.properties
中配置项auto.deploy.default.user获取;password
:访问主机的密码,不填则默认通过配置文件/usr/local/tbds-portal/conf/custom.properties
中配置项auto.deploy.default.password
获取;lanIp
:主机的ip地址;host_assign
:主机分配信息 非必填,默认会自动分配;service_name
:指定组件信息,格式:服务标识/组件标识;hosts
:该组件的安装机器列表;custom_config
:组件的自定义信息;service_name
:指定配置项信息,格式:服务标识/配置文件/配置项;config_content
:自定义的配置信息。