目录
1. 简介
2006年Hadoop技术的出现标志着大数据技术时代的开始,经过10多年的蓬勃发展,大数据技术已经真正承托起一大批 企业的数据基础架构。经过4年的快速演进,Transwarp Data Hub(简称TDH)已成为国际一流的大数据平台。从2016年起,TDH正式成为Gartner认可的Hadoop国际主 流发行版本。
TDH是国内首个全面支持Spark的Hadoop发行版,也是国内落地案例最多的商业版本,是国内外领先的高性能平台,比开源基于Hadoop MapReduce计算框架的版本快10x~100x倍。TDH应用范围覆盖各种规模和不同数据量的企业,通过内存计算、高效索引、执行优化和高度容错的技术,使得一个平台能够处理GB级到PB级的数据,并且在每个数量级上,都能比现有技术提供更快的性能;企业客户不再需要混合架构,TDH可以伴随企业客户的数据增长,动态不停机扩容,避免MPP或混合架构数据迁移的棘手问题。
TDH主要提供6款核心产品:Transwarp Inceptor是大数据分析数据库,Transwarp Slipstream是实时计算引擎, Transwarp Discover专注于利用机器学习从数据提中取价值内容,Transwarp Hyperbase用于处理非结构化数据, Transwarp Search用于构建企业搜索引擎,Transwarp Sophon则是支持图形化操作的深度学习平台。通过使用TDH, 企业能够更有效的利用数据构建核心商业系统,加速商业创新。
TDH产品的主要技术优势包括以下几个方面:
1. 极致的性能与可扩展性
TDH的批处理速度是开源Hadoop的10-100倍,是MPP的5-10倍,可以对从GB到PB级的数据量实现复杂的查询和分析。TDH具有高可扩展性,用户可以通过增加集群节点数量,线性提高系统的处理能力。
2. 容器技术与大数据平台
TDH支持部署于TOS之上。TOS是为大数据应用量身订做的云操作系统,基于Docker和Kubernetes,支持一键部署TDH、扩容、缩容,同时支持基于优先级的抢占式资源调度和细粒度资源分配。
3. 完整的SQL和ACID支持
Transwarp Inceptor是第一个实现完整SQL支持的Hadoop发行产品。它不仅支持SQL 2003,Oracle PL/SQL以及DB2 SQLPL,还实现了完整的ACID和CRUD功能。TDH提供JDBC和ODBC驱动连接,方便第三方工具运行于TDH之上。
4. 低延迟的流处理
Transwarp Slipstream是同时支持事件驱动和微批处理的流处理引擎,计算延迟最低可至5ms。它提供标准的SQL编程接口,还支持高可用性(HA)和Exactly-Once的语义,从而支持7x24小时的 生产业务。
5. 丰富的机器学习和深度学习功能
Transwarp Discover支持用户通过R语言和Python开发机器学习项目,也可以用图形化的工具做分析。深度学习平台Sophon能 帮助用户快捷的创建AI应用程序。
6. 大数据上的全文搜索
Transwarp Search支持通过SQL实现大数据上的秒级全文搜索,它利用层次化存储、堆外内存管理等创新性技术,极大的提高了系统的可用性。此外,Search还可以结合Inceptor提供较 强的数据分析能力。
7. 图形化的大数据开发工具套件
Transwarp Studio是TDH中的大数据开发工具集,包括元数据管理Governor、工作流Workflow、数据整合工具Transporter,Cube设计工具Rubik以及报表工具Pilot。用户可以使用这些图形化工具来提高大数据的开发效率,降低技术门槛。
8. 多样化的数据处理功能
Transwarp Hyperbase用于存储和计算结构化或非结构化数据,包括日志记录、JSON/XML文件以及二进制数据(如图像和视频)。Hyperbase底层是KV的数据库,因此其非常适合高频次的数据入库、高并发精确检索等业务。
9. 简易的操作和管理
Transwarp Transwarp Manager是专门用于部署、管理和运维TDH集群的组件。它支持产品一键安装、一键升级和图形化运维,并提供了预警和健康检测功能,帮助用户简化运维过程。
10. 统一的安全/多租户管理
Transwarp Guardian是TDH平台中实现安全控制和资源管理的中央服务平台,它支持Kerberos和LDAP认证,可以做细粒度的权限控制,并且提供租户管理功能。
1.2. 集群结构
创建一个集群前,首先必须对整个集群进行规划,规划包括集群节点、网络、软件模块分布等部分。运维人员必须保证将用于构造集群的服务器满足Transwarp Data Hub系统的基本要求。这些要求包括硬件要求、软件要求、内存要求、网络要求等。第二章将对这些要求进行详细介绍。Transwarp Data Hub通过网络连接所有服务器并实现整个集群的服务,因此架构师需要仔细计算应用服务对网络带宽和延迟的需求并规划整个网络拓扑,如您需要规划帮助可以咨询星环科技的售前人员和架构师。在应用规划中您需要根据应用的特点决定哪些软件模块和组件需要安装。我们将列出安装前的硬件和软件要求,在满足这些要求的基础上,您才可以开始进行系统安装。
系统安装包括以下步骤:
1. 在集群中所有的节点上安装所需要的操作系统。
2. 在管理节点上安装Transwarp Manager。
3. 通过Transwarp Manager来把所有的节点加到集群中、对这些节点部署相关软件和配置,并运行服务。
2. 安装准备
2.1. 硬件环境要求
Transwarp Data Hub(简称TDH)提供集群服务来保证服务的高可用性,因此集群系统必须是3台以上物理服务器组成,每台服务器必须具备以下最低配置:
• 2颗6核心或以上带超线程x86指令集CPU的服务器
• 64GB以上内存
• 2个300G以上的硬盘做RAID1,作为系统盘
• 4个以上的300GB容量以上的 硬盘作为数据存放硬盘
• 2个千兆以上网卡
为实现较好的性能并实现最高的性价比,TDH针对集群内不同的模块有不同的推荐配置,Namenode和Transwarp Manager推荐使用以下配置:
• 2颗6核带超线程的x86指令集CPU服务器(比如Intel(r) Xeon(r) E5-2620 v2 CPU)
• 128GB以上内存
• 6个600G以上的硬盘做RAID1作为系统盘和管理数据
• 2个千兆以上网口的网卡
数据节点(Datanode)的硬件配置应该根据不同应用的特点进行选配,使用Inceptor,Discover和Slipstream配置的用户需要比较高的计算能力的服务器,其数据节点的推荐配置如下:
• 2颗8核心或以上带超线程x86指令集CPU的服务器(比如Intel® Xeon® E5-2650 v2)
• 128GB以上内存
• 2个300G以上的硬盘做RAID1,作为系统盘
• 10个以上的2TB容量以上的硬盘作为数据存放硬盘
• 2个千兆以上网卡
系统盘可以做RAID1。但是数据盘不需要RAID,若需要RAID,请做RAID0.
2.2. 操作系统要求
所有集群中的节点,必须运行于同一操作系统。Transwarp Data Hub支持以下操作系统。
操作系统 | 版本 |
Red Hat Enterprise Linux | 7.2、7.3 |
CentOS | 7.2、7.3 |
2.3. Java环境要求
如果您的集群的机器上还没有安装JDK,您无需自行安装JDK——我们提供的TranswarpData Hub安装工具会帮您安装。如果您的机器上有不同版本的JDK,可能会和安装工具安装的JDK发生冲突。请在安装前运行下面指令来查看您的JDK版本。
java -version
TDH目前支持以下JDK版本:
• Oracle JDK 1.7
注意:如果系统还没有安装jdk,则不需要单独安装,TDH会自动安装jdk。
2.4. 支持的浏览器
Transwarp Data Hub采用Web页面作为平台管理界面,管理平台支持以下浏览器
浏览器 | 版本 |
Google Chrome(推荐) | 41及以上 |
FireFox | 40.0及以上 |
Safari | 9.0及以上 |
Internet Explorer(不推荐) | 不支持 |
3. 安装前的检查
3.1. 系统磁盘分区要求
系统安装和运行需要占用硬盘空间,在安装前操作系统硬盘必须留出300GB空间。 对磁盘进行分区时需要遵守以下几点要求:
• 至少要分出swap和加载于“/”的系统分区。
• 推荐系统分区大小为200GB~300GB,并将该分区挂载到/目录。
• 推荐把每个物理磁盘挂载在/mnt/disknn (nn为1至2位的数字) 上不同的挂载点。建议使用XFS文件系统。每个这样的目录会被管理节点自动配置为HDFS DataNode的数据目录。
• HDFS DataNode的数据目录不能放在系统分区,以避免空间不足和IO竞争。同时也建议不要将数据分区和系统分区放在同一块磁盘上以避免IO竞争。除非整个HDFS规划空间不足,否则不要在系统分区所在磁盘上创建数据分区。
• 请在某挂载盘上为TxSQL预留不小于200GB的空间,并将TxSQL的data dir设置为该挂载盘的某个目录(例如 /mnt/disk1/txsqldata/)。
• 为了保证Docker运行的稳定性,需要专门给Docker分配一个磁盘分区,推荐分区大小为100~300GB。注意,为了保证流畅运行,请尽量把Docker卷组划分在数据盘下。如果数据盘较多且存储空间过剩,建议使用单独一块数据盘作为docker分区。否则,建议将一块数据盘的一个分区作为docker分区。在安装之前需要对该预留的分区进行处理,需要对分区进行格式化处理。
3.1.1 磁盘资源的规划
namenode
文件系统 | 大小 | 挂载目录 | 文件系统类型 |
/dev/sda1 | 400GB | / | XFS |
/dev/sda2 | 32GB | swap | |
/dev/sda3 | 200GB | /var/log | XFS |
/dev/sdb1 | 600GB | /mnt/disk1 | XFS |
/dev/sdc1 | 600GB | /var/lib/docker | XFS |
datanode1
文件系统 | 大小 | 挂载目录 | 文件系统类型 |
/dev/sda1 | 200GB | / | XFS |
/dev/sda2 | 32GB | swap | |
/dev/sda3 | 200GB | /var/log | XFS |
/dev/sdb1 | 300GB | /mnt/disk1 | XFS |
/dev/sdc1 | 300GB | /mnt/disk2 | XFS |
/dev/sdd1 | 300GB | /var/lib/docker | XFS |
datanode2
文件系统 | 大小 | 挂载目录 | 文件系统类型 |
/dev/sda1 | 200GB | / | XFS |
/dev/sda2 | 32GB | swap | |
/dev/sda3 | 200GB | /var/log | XFS |
/dev/sdb1 | 300GB | /mnt/disk1 | XFS |
/dev/sdc1 | 300GB | /mnt/disk2 | XFS |
/dev/sdc2 | 300GB | /var/lib/docker | XFS |
3.2. 内存容量要求
每个节点必须至少有64GB的RAM。根据节点所安装的Transwarp Data Hub服务,节点可能需要超过64GB的RAM。
3.3. 网络设置
安装Transwarp Data Hub需要最低的网络为千兆以太网。当一台机器上有多个网络适配器时,用户可以在安装Transwarp Data Hub之前对其进行绑定配置。
3.4. 集群和网络拓扑要求
• 决定集群中的节点数目。
• 决定集群中的机柜数目及每个机柜的名称。
• 决定每个机柜中的节点数目。
• 决定每个节点所在的子网(或多个子网)。
• 决定每个节点的主机名和IP地址。
• 决定哪个机器是管理节点。
• 决定哪些机器是NameNode。
• 决定哪些机器是客户端,哪些机器运行TDH服务,或二者兼是。
• 一旦主机名分配给NameNode,主机名则不能再更改。
• 确定你知道要加入到TDH集群中的每个节点的root密码。
• 管理节点必须和集群中的其他节点属于同一子网。
• 决定在集群中使用哪些组件。
• 决定网络带宽和交换机背板带宽。决定交换机型号。
• 决定如何连接到交换机。必须知道需要用到哪些以太网端口和是否需要绑定。
• 确定每台机器的IP地址和主机名。决定如何分配IP(使用DHCP或静态分配)。决定如何解析主机名(使
用DNS或/etc/hosts)。如果使用/etc/hosts,管理节点将负责更新集群中每台机器的/etc/hosts。
3.5. NTP服务设置
决定如何进行时间同步。管理节点将负责所有服务器上的时间的同步,但您需要决定是否使用外部的NTP服务。如果不使用外部NTP服务,集群中所有服务器的时间是相同的,但这个时间有可能不是标准时间,这有可能导致集群与外部连接时产生错误。
3.6. 安全设置
禁掉SELinux和iptables(Transwarp Manager会自动禁掉SELinux和iptables)。
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
3.7. 系统的推荐设置
以下推荐配置可帮助确保TDH集群的性能优化和可管理性。
• 节点的主机名解析。注意,主机名只能由英文、数字和“-”组成,否则之后的安装会出现问题。
• 要同时添加一组节点到集群中。
• 要减少网络延迟,集群中的所有节点都必须属于同一子网。
• 每个节点应配置一块10GE的网卡,用于节点间的通信和执行集群中需要网络连接的任务。
• 如果节点没有使用10GE的网卡,则可使用网卡绑定以便将多个网卡组合在一起以提升网络流量。绑定的网卡必须使用工作模式6。
• 每个节点推荐最小的系统分区,至少有300GB的磁盘空间。
• 每个节点应至少有6T的可用磁盘空间用于HDFS。
• 如果可能,避免将物理磁盘分为多个逻辑分区。除了系统分区外,每个物理磁盘应当仅有一个分区,且该分区包含整个物理磁盘。
• 仅使用物理机器,不要使用虚拟机器。虚拟机可能会明显导致HDFS I/O的缓慢。
• 节点所在的单个或多个子网不允许有其他机器。
• 集群中不能同时有物理机器和虚拟机器。
• 要确保集群中的机器不成为性能和I/O的瓶颈,所有机器必须有相似的硬件和软件配置,包括RAM、CPU和磁盘空间。
• 每个节点应至少有64GB的内存。
• 由于服务可能生成大量日志,推荐将/var/log放置在其他逻辑分区。这可保证日志不会占满根分区的空间。
• 要加快对本地文件系统的读取,可使用noatime选项挂载磁盘,这表示文件访问时间不会被写回。
4. 安装配置
4.1. 修改主机名
1、为每个节点添加如下信息
vi /etc/hosts
192.168.100.108 namenode #作为name节点
192.168.100.103 datanode1 #作为data节点
192.168.100.101 datanode2
注意,/etc/hosts文件的第一行必须为127.0.0.1的记录,不能将此行注释掉,也不能将当前主机名写在该行中。
2、修改hostname
[root@namenode ~]# hostnamectl set-hostname namenode
# vi /etc/sysconfig/network
3、修改static hostname
查看static hostname与transient hostname是否一致
hostnamectl status
hostnamectl -- transient set-hostname datanode1
hostnamectl --static set-hostname datanode1
如不一致需要修改一致,否则安装TDH进行环境监察时会报错,错误如下:
4、修改/etc/resolv.conf文件
注释掉search localdomain,该选项如果不注释,在为节点配置ssh时可能会报java.net.UnknownHostException
4.2. 创建目录
创建disk目录
需要几个disk盘就创建几个disk目录。
推荐把每个物理磁盘挂载在/mnt/disknn (nn为1至2位的数字) 上不同的挂载点。建议使用XFS文件系统。每个这样的目录会被管理节点自动配置为HDFS DataNode的数据目录。
mkdir /mnt/disk1
mkdir /var/lib/docker
4.3. 配置磁盘分区
1、Redhat / CentOS系统
在Redhat / CentOS上,docker分区应采用xfs格式
1. 创建目录/var/lib/docker
mkdir -p /var/lib/docker
2. 对分区进行xfs格式化
mkfs.xfs -f -n ftype=1 /dev/<p_name>
3. 挂载分区
mount /dev/<p_name> /var/lib/docker
4. 进行验证,检查是否格式化成功
xfs_info /dev/<p_name> | grep ftype=1
如果该语句返回结果中有ftype=1字样,则说明格式化成功。
5. 配置/etc/fstab
执行语句下述命令查看UUID:
blkid /dev/<p_name>
将查到的UUID值<UUID>添加在/etc/fstab中:
UUID=<UUID> /var/lib/docker xfs defaults 0 0
5. Transwarp Manager的安装
5.1. 安装前系统配置改动
如果您有DNS,那么您可以直接跳到下一节。如果您没有DNS,在安装前,请打开管理节点下的/etc/hosts文件,查看该文件是否包含管理节点的hostname和它IP地址的对应。
5.2. 安装介质
如果有安装光盘可将安装光盘插入服务器CD/DVD ROM中直接运行。由于安装过程中会使用到操作系统的安装介质,建议用户将OS的ISO文件事先拷贝到管理服务器上。
如客户服务代表或技术支持提供的是压缩包,请将压缩文件导入服务器中。
目前共提供以下三个压缩包:
1. TDH-Image-Registry-Transwarp-5.0.0-final.tar.gz
2. TDH-Basic-Component-Transwarp-5.0.0-final.tar.gz
3. TDH-Machine-Learning-Transwarp-5.0.0-final.tar.gz
为了安装TDH,首先请解压TDH-Image-Registry-Transwarp-5.0.0-final.tar.gz和TDH-Basic-Component-Transwarp-5.0.0-final.tar.gz,然后将解压后的文件registry移动至transwarp,实现该过程的命令如下:
# 解压出目录registry
tar xvzf TDH-Image-Registry-Transwarp-5.0.0-final.tar.gz
# 解压出目录transwarp
tar xvzf TDH-Basic-Component-Transwarp-5.0.0-final.tar.gz
# 将registry移动至transwarp目录下
mv registry transwarp/
随后即可开始TDH的安装,执行下述命令,进入Transwarp Manager的安装界面。Transwarp Manager的具体安装步骤请阅读安装Transwarp Manager。
cd transwarp #进入解压后的transwarp目录
./install #执行install二进制文件
5.3. 安装Transwarp Manager
5.3.1. 阅读java许可协议
5.3.2. 检查环境
注意:此处如果static hostname与trainst hostname不一致会报如下错误:
5.3.3. 配置网络
5.3.4. 配置RPM库
安装TDH需要操作系统的iso镜像文件,并配置RPM库
5.3.5. 开始安装
注意:安装时只在name节点安装即可,data节点不需要安装。
5.3.6. 安装完成
端口默认8180,用户/密码默认admin/amin
6. 用Transwarp Manager配置集群
打开客户端浏览器(推荐使用Google Chrome浏览器),输入安装好的管理节点IP或DNS地址,比
如http://172.16.3.108:8180/(172.16.3.108是管理节点的IP 地址)。访问这个地址,您会看到下面的登陆页面。Transwarp Manager会试着根据您的系统判断您使用的语言,如果当前显示的语言和您想要使用的不同,可以点击右上角的 来选择语言。目前Transwarp Manager支持中文和英文:
6.1.1. 阅读TDH最终协议
6.1.2. 配置集群名称
6.1.3. 添加节点
此处输入root的密码,要求所有节点密码相同
如果不注释/etc/resolv.conf中的search localdomain,会报如下错误:
6.1.4. 添加服务
注意:添加服务需要一个服务一个服务的添加,不然整个TDH集群会挂掉。
服务添加顺序:
TOS、ZOOLEEPER、HDFS、HYPERBASE、INCEPTOR、YARN
具体服务及角色介绍详见:https://www.warpcloud.cn/#/documents-support/docs/products