从零搭建生产Hadoop集群(二)——规划与环境准备

1、概述

Hadoop集群的部署搭建,不是安装完成,启动进程,能够运行任务就算完事了。若是前期的网络架构、硬件、系统等没有规划和配置得当,很容易形成系统的不稳定,也一定增长后期的维护成本。
所以,本文继上文的离线YUM源配置描述后,重点讲述集群安装前的规划与注意事项。node

2、角色实例

Hadoop集群有各类角色实例。对于生产环境,若是条件容许的话,最好将管理节点与数据节点分开部署,由于数据节点在运行任务时负载是比较重的,很容易影响管理实例的稳定性。而不一样的管理实例,可根据服务器的配置及负载状况进行复用。linux

3、机架

1.管理节点分布

管理节点尽量作高可用(部署多个实例到不一样服务器),并且考虑到机架故障风险,尽量将同一角色的高可用实例分布到不一样机架上。web

2.数据节点分布

Hadoop有机架感知,便于数据副本分配到不一样机架上,以免机架故障引发的副本丢失。所以,若是数据节点较多,最好可以分散到多个机架上,并在Hadoop的机架信息配置中体现出来。服务器

4、网络

1.带宽

Hadoop在任务执行时,涉及到很是多的数据交互,所以,服务器之间的通讯带宽不宜过小,有条件的话,能够配备万兆网卡及万兆交换机。微信

2.路由

同一个集群、须要交互不一样集群之间的路由信息需配置正确,以免出现所有或部分服务器出现网络不可达状态。网络

3.网卡

使用ethtool等工具肯定网卡是否协商到指定速率,若达不到,颇有可能致使任务执行缓慢。上线前,也需检查各个服务器间的上传下载速度是否达到要求,以免部分网卡、网线、交换机端口故障致使异常。架构

4.交换机高可用

关键服务器若仅链接一台交换机,当交换机发生故障时,该关键服务器(如namenode)将处于不可链接状态,极可能形成集群不可用。所以,有必要对关键节点作双网卡绑定,链接到多个交换机。app

5、磁盘

1.初始化

2.挂载

为提升读写性能,尽可能将数据节点的磁盘挂载为noatime模式,并写入/etc/fstab以使重启生效。在上线前使用相关工具测试磁盘的读写性能是否达到要求。svg

6、系统

1.版本要求

使用CDH推荐的linux发行版本进行部署,有些版本可能会有兼容性问题。如笔者曾经使用CentOS6.6部署时,发现其上运行的nodemanager的JVM异常卡住的状况。工具

2.关闭THP

为提升CPU性能,CDH推荐关闭服务器THP

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

3.配置NTP

集群服务器须要统一ntp服务配置。

4.配置ulimit

按需配置系统ulimit参数。

5.关闭Iptables

安装时,最好关闭iptables以免安装失败。

6.设置vm.swappiness内核参数

vm.swappiness 是一个 Linux 内核参数,用于控制将内存页交换到磁盘的幅度。它能够设为介于 0-100 之间的值;值越高,内核寻找不活动的内存页并将其交换到磁盘的幅度就越大。

sysctl -w vm.swappiness=0

环境准备好后,接下来就能够进行Hadoop集群的安装,将在接下来文章中介绍。

欢迎关注个人微信公众号
在这里插入图片描述