请务必注意CDP Data Center的安装前置条件,请到https://docs.cloudera.com/cloudera-manager/7.1.1/installation/topics/cdpdc-requirements-supported-versions.html 查询对应版本的前提条件。对应CDP数据中心版7.1来讲,前提条件包括如下:
硬件需求
要评估群集的硬件和资源分配,您需要分析要在群集上运行的工作负载的类型,以及将用于运行这些工作负载的运行时组件。您还应该考虑要存储和处理的数据大小,工作负载的频率,需要运行的并发作业的数量以及应用程序所需的速度。
创建集群的体系结构时,需要在集群的主机之间分配Cloudera Manager和Runtime角色,以最大程度地利用资源。Cloudera提供了一些有关如何向群集主机分配角色的准则。请参阅推荐的群集主机和角色分配。将多个角色分配给主机后,将主机上每个角色的总资源需求(内存,CPU,磁盘)加在一起即可确定所需的硬件。
关于特定组件的硬件需求的更多信息,请参考https://docs.cloudera.com/cloudera-manager/7.1.1/installation/topics/cdpdc-hardware-requirements.html
操作系统
目前支持的操作系统为:RHEL/CentOS/ OL with RHCK Kernel 7.6/7.7
https://docs.cloudera.com/cloudera-manager/7.1.1/installation/topics/cdpdc-os-requirements.html
软件依赖关系
• Python-默认情况下,操作系统随附的Python版本以及更高版本均支持Hue除外的CDP数据中心以及更高版本,但与Python 3.0或更高版本不兼容。
• 例如,在与RHEL 7兼容的操作系统上,CDP数据中心需要Python 2.7或更高版本。
• Spark 2需要Python 2.7或更高版本。如果默认情况下未选择正确的Python级别,请在运行pyspark命令之前将PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON环境变量设置为指向正确的Python可执行文件。
• 不支持Python 3。
• Perl -Cloudera Manager需要perl。
• python-psycopg2 -Cloudera Manager 7对软件包具有依赖性 python-psycopg2。Runtime 7中的Hue需要psycopg2比Cloudera Manager依赖项更高的版本。有关更多信息,请参见安装psycopg2Python软件包。
• iproute软件包-CDP数据中心对iproute软件包有依赖性。任何运行Cloudera Manager Agent的主机都需要该软件包。所需版本取决于操作系统:
表1. iproute软件包
操作系统 | iproute版本 |
---|---|
兼容RHEL 7 | iproute-3.10 |
文件系统要求
Hadoop分布式文件系统(HDFS)设计为在操作系统中的基础文件系统之上运行。Cloudera建议您使用在支持的操作系统上测试的以下两个文件系统之一:
• ext3:这是用于HDFS的最受测试的基础文件系统。
• ext4:ext3的此可扩展扩展在最新的Linux版本中受支持。
Cloudera不支持从ext3到ext4的就地升级。Cloudera建议您在将磁盘用作数据目录之前将其格式化为ext4。
• XFS:这是RHEL 7中的默认文件系统。
• S3:亚马逊简单存储服务
Kudu文件系统要求-ext4和XFS支持Kudu。Kudu需要支持打孔(hole punching)的内核版本和文件系统。
文件存取时间
Linux文件系统保留访问每个文件的时间的元数据的记录。这意味着即使读取也会导致对磁盘的写入。为了加快文件读取速度,Cloudera建议您atime使用以下noatime 选项中的mount选项禁用名为的选项/etc/fstab:
代码语言:javascript复制/dev/sdb1 /data1 ext4 defaults,noatime 0
应用更改而无需重新启动:
代码语言:javascript复制mount -o remount /data1
文件系统挂载选项
文件系统mount选项具有一个sync允许您同步写入的选项。
使用sync文件系统挂载选项会降低将数据写入磁盘的服务的性能,例如HDFS/YARN/Kafka和Kudu。在CDH中,大多数写入已被复制。因此,对磁盘的同步写入是不必要的、昂贵的,并且不能显着提高稳定性。
即使使用分层存储功能,也不支持将NFS和NAS选项用作DataNode Data Directory挂载。
文件系统需求
Cloudera Manager会自动在/etc/security/limits.conf中设置nproc配置,但是该配置可以被/etc/security/limits.d/中的单个文件覆盖。这可能会导致Apache Impala和其他组件出现问题。
确保将nproc限制设置得足够高,例如 65536或262144。
Kudu需要nscd
尽管不是严格要求,但强烈建议您为Kudu使用nscd同时缓存DNS名称解析和静态名称解析。
外部数据库支持
表1. 对CDP数据中心版7.1的数据库支持
数据库类型 | 支持版本 | |
---|---|---|
MySQL | 5.7 | |
MariaDB | 10.2 | |
PostgreSQL | 10 | |
Oracle | 12。仅支持新安装。不支持CDH 5升级。 |
Cloudera Manager和Runtime随附有嵌入式PostgreSQL数据库,供在非生产环境中使用。生产环境不支持嵌入式PostgreSQL数据库。对于生产环境,必须将群集配置为使用专用的外部数据库。
安装数据库后,升级到最新补丁并应用适当的更新。可用更新可能特定于安装它的操作系统。
注意:
• Cloudera建议在大多数情况下,使用与群集节点的操作系统相对应的数据库的默认版本。如果选择使用默认数据库以外的数据库,请参考操作系统的文档以验证支持。
• Data Analytics Studio需要PostgreSQL 9.6,而RHEL 7.6提供PostgreSQL 9.2。
• 对所有自定义数据库使用UTF8编码。
• 对于MySQL 5.7,必须安装MySQL-shared-compat或 MySQL-shared软件包。这是Cloudera Manager Agent安装所必需的。
• 不支持基于MySQL GTID的复制。
• 支持MySQL的社区版和企业版,以及由AWS RDS服务配置的MySQL。
• 从CDH 5升级到CDH 6之前,请COMPATIBLE使用以下SQL查询检查Oracle数据库中初始化参数的值 :
代码语言:javascript复制SELECT name, value FROM v$parameter WHERE name = 'compatible'
默认值为12.2.0。如果参数的值不同,则可以将其设置为默认值,如《Oracle 数据库升级指南》中所示 。
RDBMS高可用性支持
Cloudera的各种组件都依赖RDBMS服务作为关键基础架构。您可能需要Cloudera组件来支持在使RDBMS服务具有高可用性的环境中进行部署。RDBMS的高可用性(HA)解决方案是特定于实现的,并且可以在Cloudera组件中创建约束或行为更改。
本节阐明了支持状态,并确定了HA部署的已知问题和限制。
高可用性与负载平衡
了解HA和负载平衡之间的区别对于Cloudera组件很重要,Cloudera组件旨在假定服务由单个RDBMS实例提供。负载平衡可同时在多个RDBMS服务之间分配操作,而HA则专注于服务的连续性。负载平衡部署通常用作高可用性策略的一部分,以克服高可用性环境中监视和故障转移管理的需求。尽管实施起来不太容易,但是负载平衡的部署需要针对特定技术的行为和限制量身定制的应用程序。
支持声明:Cloudera组件并非设计用于并且不支持任何类型的负载平衡部署。任何涉及多个活动RDBMS服务的HA策略都必须确保在任何给定时间将所有连接路由到单个RDBMS服务,而不管供应商或HA实施/技术如何。
通用高可用性支持
Cloudera支持各种RDBMS选项,每个选项都有实现HA的多种可能策略。Cloudera无法合理地对每个RDBMS的每种策略进行测试和认证。Cloudera希望RDBMS的HA解决方案对于Cloudera软件是透明的,因此不受Cloudera支持和调试。客户有责任供应、配置和管理RDBMS HA部署,以便Cloudera软件在与单个非HA服务进行接口时表现出与众不同的行为。当集群启用了HA时,Cloudera将支持并帮助客户解决问题。在诊断Cloudera组件中与数据库相关的问题时,客户可能需要临时禁用或绕过HA机制以进行故障排除。如果发现了与HA相关的问题,则客户有责任与数据库供应商联系,以便找到该问题的解决方案。
支持声明:Cloudera支持可能要求客户暂时绕过HA层并直接连接到受支持的RDBMS后端以解决问题。客户DBA员工有责任解决仅通过HA层连接时发现的问题。
JDK
Supported JDKs
CDP数据中心版本 | 支持的OpenJDK | 支持的Oracle JDK | |
---|---|---|---|
7.0 | OpenJDK 1.8 | Oracle JDK 1.8 | |
7.1 | • OpenJDK 1.8• OpenJDK 11 | Oracle JDK 1.8 |
仅支持64位JDK。
除非明确排除,否则Cloudera支持从引入该支持的版本开始对主要JDK版本的更高版本的更新。当安全受到威胁时,Cloudera会排除或删除对某些Java更新的支持。
不支持在不同JDK版本上的同一群集中运行Runtime节点。所有群集主机必须使用相同的JDK更新级别。
表1. 经过测试和推荐的Oracle JDK 8版本
Oracle JDK 8版本 | Note |
---|---|
1.8u181 | 推荐 |
表2. 经过测试和推荐的OpenJDK 8版本
OpenJDK版本 | Note |
---|---|
1.8u232 | 最低要求/最新版本经过测试 |
11.0.4- 11 |
网络和安全要求
Cloudera Manager部署中的主机必须满足以下网络和安全要求:
网络协议支持
CDH需要IPv4。不支持IPv6,必须将其禁用。
多宿主支持
在经过特殊认证的Cloudera合作伙伴设备之外,不支持Multihoming CDH或Cloudera Manager。Cloudera发现,当前的Hadoop架构与现代网络基础架构和安全性实践相结合,消除了对多宿主的需求。但是,多宿主在设备形式上内部有利于利用高带宽InfiniBand互连。
尽管产品的某些子区域可能适用于不受支持的自定义多宿主配置,但多宿主存在一些已知问题。此外,由于Cloudera认证的合作伙伴设备以外的测试矩阵未涵盖多宿主,因此可能会出现未知问题。
熵
静态数据加密需要足够的熵以确保随机性。
• 群集主机必须具有有效的网络名称解析系统和格式正确的 /etc/hosts文件。所有群集主机必须已通过DNS正确配置了正向和反向主机解析。这些/etc/hosts文件必须:
o 包含有关所有主机的主机名和IP地址的一致信息
o 不包含大写主机名
o 不包含重复的IP地址
/etc/hosts在配置DNS 时或配置DNS时,群集主机不得使用别名。格式正确的/etc/hosts文件应类似于以下示例:
代码语言:javascript复制127.0.0.1 localhost.localdomain localhost192.168.1.1 cluster-01.example.com cluster-01192.168.1.2 cluster-02.example.com cluster-02192.168.1.3 cluster-03.example.com
• 在大多数情况下,运行安装或升级向导时,Cloudera Manager Server必须具有对群集主机的SSH访问权限。您必须使用root帐户或具有无密码sudo权限的帐户登录。为了在安装和升级过程中进行身份验证,您必须输入密码或为root或sudo用户帐户上载公钥和私钥对。如果要使用公用密钥和专用密钥对,则在使用Cloudera Manager之前,必须在群集主机上安装公用密钥。
Cloudera Manager仅在初始安装或升级期间使用SSH。设置群集后,您可以禁用root SSH访问或更改root密码。Cloudera Manager不保存SSH凭据,安装完成后,所有凭据信息将被丢弃。
• Cloudera Manager Agent运行root时将确保创建所需的目录,并且进程和文件由适当的用户(例如hdfs和mapred 用户)拥有。
• 增强安全性的Linux(SELinux)不得阻止Cloudera Manager或运行时操作。
注意
在启用了安全性增强的Linux(SELinux)且处于enforcing模式下的平台上支持Cloudera Enterprise 。Cloudera不负责SELinux策略的开发,支持或实施。如果在启用SELinux的情况下运行Cloudera软件时遇到问题,请与操作系统提供商联系以寻求帮助。
如果您在enforcing模式下使用SELinux,则permissive在调查报告的问题时,Cloudera支持可以要求您禁用SELinux或将模式更改 为排除SELinux。
• 必须禁用或配置防火墙(例如iptables和firewalld),以允许访问Cloudera Manager,运行时和相关服务使用的端口。
• 对于RHEL和CentOS,/etc/sysconfig/network每个主机上的文件必须包含正确的主机名。
• Cloudera Manager和Runtime使用多个用户帐户和组来完成其任务。用户帐户和组的集合根据您选择安装的组件而有所不同。不要删除这些帐户或组,也不要修改其权限。确保没有现有系统阻止这些帐户和组正常运行。例如,如果您有脚本删除不在白名单中的用户帐户,则将这些帐户添加到允许的帐户列表中。
更多详细信息参考:https://docs.cloudera.com/cloudera-manager/7.1.1/installation/topics/cdpdc-networking-security-requirements.html
参考:https://docs.cloudera.com/cloudera-manager/7.1.1/installation/topics/cdpdc-requirements-supported-versions.html