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

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

  • 一、概述
  • 二、角色实例
  • 三、机架
    • 1.管理节点分布
    • 2.数据节点分布
  • 四、网络
    • 1.带宽
    • 2.路由
    • 3.网卡
    • 4.交换机高可用
  • 五、磁盘
    • 1.初始化
    • 2.挂载
  • 六、系统
    • 1.版本要求
    • 2.关闭THP
    • 3.配置NTP
    • 4.配置ulimit
    • 5.关闭Iptables
    • 6.设置vm.swappiness内核参数

一、概述

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

二、角色实例

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

三、机架

1.管理节点分布

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

2.数据节点分布

Hadoop有机架感知,便于数据副本分配到不同机架上,以避免机架故障引起的副本丢失。因此,如果数据节点较多,最好能够分散到多个机架上,并在Hadoop的机架信息配置中体现出来。

四、网络

1.带宽

Hadoop在任务执行时,涉及到非常多的数据交互,因此,服务器之间的通信带宽不宜太小,有条件的话,可以配备万兆网卡及万兆交换机。

2.路由

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

3.网卡

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

4.交换机高可用

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

五、磁盘

1.初始化

2.挂载

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

六、系统

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集群的安装,将在接下来文章中介绍。

欢迎关注我的微信公众号
从零搭建生产Hadoop集群(二)——规划与环境准备_第1张图片

你可能感兴趣的:(从零搭建生产Hadoop集群(二)——规划与环境准备)