CDH安装前置基础准备条件

基础环境

1.1.节点规模

测试环境,最小规模,最少4台服务器。一台做管理节点Cloudera Manager和NameNode等,另外三台用作worker,DATANODE节点,这种最小规模一般仅用于开发和测试。

如果是生产环境,最少6台,3台管理节点包括1个Cloudera Manager,2个NameNode做高可用,3个工作节点。

常见的较小规模的生产系统一般为10-20台。

1.2.操作系统

CDH支持大部分主流的64位操作系统,我这里会以centos 6.9部署CDH 5.14版本为例子。其他CDH版本及其对应的操作系统版本可参考:[CDH版本及其支持的操作系统版本](https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#concept_ap1_q2g_4cb)

1.3.安装用户

可以用root,或具有免密sudo权限的用户

1.4.硬件要求

要评估群集的硬件和资源分配,其实需要分析要在群集上运行业务的负载情况,以及将要部署的CDH组件。

还应该考虑存储和处理的数据大小,工作负载的频率,需要运行的作业并发数量以及应用程序所需的资源。

所以硬件配置需要视具体情况而定。

测试集群最低要求:

CPU:最少4 cores

内存:最少16GB

网络:千兆及以上

磁盘:视情况而定

这里我使用的服务器配置是:

CPU:56 cores

内存:14*16GB

网络:双万兆网卡绑定

磁盘:24*1.2T SAS(2.5 10K)

1.4.1.磁盘要求

所有节点服务器系统盘可以使用raid1或raid10,数据盘不要使用raid,应该用JBOD模式。hdfs存储系统本身就是分布式高可用的,使用raid就失去使用hdfs的初衷,且会有性能损失。

如果集群的规模不大,有多个应用服务复用的话,NN,ZK,JN等管理服务存放的数据目录也可以放在使用raid的磁盘上。

DataNode数据盘建议选择ext4或xfs,并配置noatime:

目前常见的SATA读写速度大概在150MB/S-200MB/S,SAS或者SSD会更快,如果磁盘读写速度小于80MB/S,最好检查下磁盘,或者更换更好的磁盘,不然后期IO隐患很大。

1.4.2.网络要求

由于大数据应用,集群内部网络吞吐一般较大,稳健的高性能网络支撑十分重要。前期最好规划好,等到后期业务吞吐上去,网络撑不住再去升级底层网络设施是非常痛苦的。

最起码千兆网卡,根据实际情况,必要时需要考虑万兆网卡,以及配套的光纤交换机,并留有网卡绑定,交换机堆叠的扩展余地。

如果是使用云上的虚拟机,最好确认下网卡的多队列支持,笔者就被XX云网卡多队列支持数过少而坑过,导致集群性能利用率上不去,且CPU负载偏移,网络丢包等现象。

2.系统及应用环境

2.1.JDK

CDH发行版中自带JDK为1.7.0_67的版本,CDH5.3以后开始支持JDK1.8。可以实现自己安装好,或者后续安装CDH时,勾选CDH自带的JDK安装。

2.2.外部数据库

CM自动部署安装时会自带数据库进行系统配置、schema等并进行相应管理。

也可是自行部署,不用自带的,具体支持的数据库包括:

MySQL:5.1、5.5、5.6、5.7

PostgreSQL:8.1、8.3、8.4、9.1、9.2、9.3、9.4

Oracle:11gR2、12c

这里我是自己部署的mysql,方便管理。 确保以下配置:

增加数据库的最大连接数

确保数据库支持UTF-8编码

配置为主备模式,参考如何实现CDH元数据库MySQL的主备

自己部署的话,就需要自己预先创建好CDH各项服务对应的元数据库。

2.3.开放端口

以下常用服务端口,根据实际情况,需要在防火墙上放行。

2.4.http服务

安装httpd服务主要是提供CDH和cm的本地源,进行离线安装。由于总所周知的原因,在线安装一般不会太顺利,最好是离线安装。

2.4.1.配置本地yum源

在/var/www/html下新增cm5.14目录

下载CM5.14版本的RPM安装包放在cm5.14目录下,并执行:

在Cloudera Manager所在服务器的/etc/yum.repo.d目录下创建cm.repo文件,内容如下:

CDHParcels部署同上。

2.5.hosts配置

将集群所有服务器的IP和HOSTNAME配置到hosts文件,并同步至集群的所有服务器。

2.6.系统相关设置

禁用selinux

关闭iptables防火墙

swap相关设置

swappiness表示如何使用swap分区。

swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60,这里我是设为1:

关闭透明大页面

2.7.NTP时钟同步

如果公司有自己的NTP Server则可以集群中所有节点可配置企业NTP Server,如果没有则在集群中选用一台服务器作为NTP Server,其它服务器与其保持同步,配置如下:

所有节点安装

选一台做

集群其它节点与其同步,配置如下:

所有节点启动:

3.外部数据库

集群中CM节点安装MySQL服务

初始化脚本

创建CDH所需要的库

4.安装MySQL驱动,将mysql-connector-java-5.1.34.jar拷贝至/usr/share/java目录,并创建软链接。

CDH的安装前置要求大致就这些,后续会讲下CDH部署的具体步骤。以及由浅入深的讲下CDH的一些基本组件。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180721G12GG500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券