安装CDH6集群之前的环境准备
这篇文章是安装CDH6集群之前的环境准备部分。
基于CentOS 7.x,其他类型Linux请参考CDH官方文档进行配置。
环境要求
操作系统
软件依赖
- Python 2.7+,不支持Python 3(安装HUE需要)
- perl
- python-psycopg2 2.5.4+(安装HUE需要)
- iproute package
- RHEL7:iproute-3.10
- RHEL6:iproute-2.6
说明:通常这部分依赖环境操作系统已经自带,不需要手动安装。
系统版本
- RHEL系列:6.10,6.9,6.8,7.2,7.3,7.4,7.5
- SELS:12 SP3,12 SP2
- Ubuntu系列:16.04 LTS
文件系统
- ext3
- ext4
- XFS
- S3
Kudu仅支持ext4和XFS文件系统。
不支持NFS和NAS存储。
文件访问记录
Cloudera建议禁用该项功能,可以提升磁盘性能。
配置/etc/fstab文件:/dev/sdb1 /data1 ext4 defaults,noatime 0 0
不重启即生效命令:mount -o remount /data1
nproc配置
配置文件位置/etc/security/limits.conf,Cloudera Manager通常会自动配置该文件,但是该项配置可能会被/etc/security/limits.d/目录下的文件覆盖掉。确保nproc限制设置的足够高,比如65536或者262144。
数据库要求
Cloudera Manager和CDH内置嵌入式PostgreSQL数据库,用于非生产环境。生产环境不支持PostgreSQL数据库,必须为集群配置专用外部数据库。
注意:
- 数据库需要使用UTF8编码。对于MySQL和MariaDB,必须使用UTF8编码,而不是utf8mb4;
- 对于MySQL5.7,必须要额外安装MySQL-shared-compat或者MySQL-shared包
版本要求:
- MySQL:5.7
- MariaDB:5.5,10.0
- PostgreSQL:8.4,9.2,9.4
- Oracle:12C
Java要求
仅支持Oracle 64位JDK8,不支持JDK7,JDK9。
版本要求:最低要求1.8u31,推荐1.8u74,1.8u91,1.8u102,1.8u111,1.8u121,1.8u131,1.8u162
网络以及安全要求
- CDH不支持IPv6,操作系统必须要禁用IPv6
- 集群主机必须正确配置
/etc/hosts文件- 应该包含集群中所有主机的主机名和对应IP地址
- 不能含有大写主机名
- 不能有重复的IP地址
- SELinux不得阻止Cloudera Manager或者CDH的操作
- 防火墙必须被禁用或者放开CDH集群所使用的端口
- 对于RHEL或者CENTOS,
/etc/sysconfig/network文件中必须包含正确的主机名
浏览器要求
- Chrome:63+
- Firefox:59+
- Safari
- IE:11+
- Edge:41+
所使用的端口
这个直接看官方文档吧:CDH集群端口占用列表
组件版本
| 组件名称 | 组件版本 |
|---|---|
| Apache Avro | 1.8.2 |
| Apache Flume | 1.8.0 |
| Apache Hadoop | 3.0.0 |
| Apache HBase | 2.0.0 |
| HBase Indexer | 1.5 |
| Apache Hive | 2.1.1 |
| Hue | 4.2.0 |
| Apache Impala | 3.0.0 |
| Apache Kafka | 1.0.1 |
| Kite SDK | 1.0.0 |
| Apache Kudu | 1.6.0 |
| Apache Solr | 7.0.0 |
| Apache Oozie | 5.0.0 |
| Apache Parquet | 1.9.0 |
| Parquet-format | 2.3.1 |
| Apache Pig | 0.17.0 |
| Apache Sentry | 2.0.0 |
| Apache Spark | 2.2.0 |
| Apache Sqoop | 1.4.7 |
| Apache ZooKeeper | 3.4.5 |
安装之前
网络相关配置
- 设置唯一主机名:
hostnamectl set-hostname new-hostname - 配置
/etc/hosts - 检测主机名与IP是否正确对应
禁用防火墙
- 停止防火墙:
systemctl stop firewalld - 关闭防火墙开机自启动:
systemctl disable firewalld
设置SELinux执行模式
- 检查SELinux模式:
getenforce,如果输出permissive或者disabled,你可以跳过该步骤,如果输出enforcing,则需要继续下面的操作步骤。 - 编辑
/etc/selinux/config(在某些操作系统可能是/etc/sysconfig/selinux)文件,将SELINUX=enforcing修改为SELINUX=permissive,保存该文件。 - 重启操作系统生效或者执行:
setenforce 0临时禁用SELinux。 - 当CDH安装部署完成之后,可以重新启用SELinux,修改SELinux配置文件,然后执行:
setenforce 1命令。
配置局域网内yum源
安装Cloudera Manager需要很多依赖包,强烈建议搭建一个局域网内yum源,在集群中某一个节点上部署即可。
可参考我之前的文章:CentOS7下使用FTP搭建局域网内Yum源
配置NTP服务
集群中所有节点的时间必须要保持同步,可以选择集群中其中一个节点作为ntp服务端,其余节点作为客户端。
- 安装ntp软件:
yum -y install ntp - 配置ntp服务端
/etc/ntp.conf - 配置ntp客户端
/etc/ntp.conf - 启动ntp服务:
systemctl start ntpd - 配置开机自启动:
systemctl enable ntpd - 同步客户端时间与服务端时间相同:
ntpdate -u <ntp-server>
具体配置说明可参考我之前的文章:环境准备-配置ntp时间同步
安装jdk8
集群所有节点都要安装。
可参考我之前的文章:环境准备-JDK1.8安装
安装mysql5.7
只需要在集群中某一个节点上安装即可。
可参考我之前的文章:CentOS7下使用RPM安装MySQL5.7
集群性能优化相关配置
集群所有节点都需要进行这些配置。
可参考我之前的文章:CDH6集群性能调优(操作系统层面)