腾讯专有云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:自定义的配置信息。