HDB—Apache HAWQ系统要求(二)

本章主题:

遵循这些准则来配置每台将运行Apache HAWQ或PXF服务的主机。

主机内存配置

为了防止Apache HAWQ集群中的数据丢失或损坏,您必须在每台主机上配置内存,以便由于OOM条件而导致Linux内存不足(OOM)杀手进程永不杀死HAWQ进程。(HAWQ使用自己的规则来强制执行内存限制。)

对于HAWQ的关键任务部署,请在每台主机上执行以下步骤来配置内存:

  1. 将操作系统vm.overcommit_memory参数设置为2(容易导致内存无法分配问题)。使用此设置,OOM杀手程序会报告错误而不是杀死正在运行的进程。要设置此参数:

    1. /etc/sysctl.conf用文本编辑器打开文件。
    2. 添加或更改参数定义,以便该文件包含以下行:

      kernel.threads-max=798720
      vm.overcommit_memory=2
      
    3. 保存并关闭文件,然后执行以下命令来应用您的更改:

      $ sysctl -p
      
    4. 要查看当前vm.overcommit_memory设置,请执行以下命令:

      $ sysctl -a | grep overcommit_memory
      
    5. 要查看运行时过度使用设置,请执行以下命令:

      $ cat /proc/meminfo | grep Commit
      
  2. vm.overcommit_ratio根据每个主机上的可用内存设置Linux交换空间大小和参数。对于具有2GB-8GB内存的主机,请设置交换空间=物理RAM并进行设置vm.overcommit_ratio=50对于拥有8GB以上至64GB内存的主机,请设置交换空间= 0.5 *物理RAM并进行设置vm.overcommit_ratio=50对于内存超过64GB的主机,请设置交换空间= 4GB并进行设置vm.overcommit_ratio=100

    要设置vm.overcommit_ratio参数:

    1. /etc/sysctl.conf用文本编辑器打开文件。
    2. 添加或更改参数定义,以便该文件包含以下行:

      vm.overcommit_ratio=50
      

      vm.overcommit_ratio=100用于超过64GB RAM的主机。)

    3. 保存并关闭文件,然后执行以下命令来应用您的更改:

      $ sysctl -p
      
    4. 要查看当前vm.overcommit_ratio设置,请执行以下命令:

      $ sysctl -a | grep overcommit_ratio
      

      您可以选择使用专用交换分区,交换文件或两者的组合。使用以下命令查看当前交换设置:

      $ cat /proc/meminfo | grep Swap
      
    5. 确保机器上运行的所有Java服务都使用-Xmx交换机来分配其所需的堆。

    6. 确保没有其他服务(如Puppet)或自动化进程尝试重置群集主机上的overcommit设置。

    7. 在安装过程中,通过设置YARN或HAWQ配置参数来配置HAWQ内存,如HAWQ内存配置中所述

HAWQ内存配置

您必须根据您计划使用YARN还是HAWQ来管理系统资源来配置HAWQ使用的内存。

在配置后vm.overcommit_ratio根据和交换空间主机内存配置,可到Linux主机的总内存可通过以下公式来表示:

TOTAL_MEMORY = RAM * overcommit_ratio_percentage + SWAP

TOTAL_MEMORY包含HAWQ内存和NON_HAWQ_MEMORY,这是组件使用的内存,例如:

  • 操作系统
  • 数据管理部
  • 节点管理器
  • PXF
  • 您在主机上运行的所有其他软件。

要为给定主机配置HAWQ内存,请首先确定NON_HAWQ_MEMORY机器上使用的内存量然后根据您使用HAWQ默认资源管理器或YARN来管理资源,通过设置正确的参数来配置HAWQ内存:

  • 如果您使用YARN进行资源管理,请将其设置yarn.nodemanager.resource.memory-mbTOTAL_MEMORY - NON_HAWQ_MEMORY或中的较小者RAM
  • 如果您正在使用HAWQ默认资源管理器,请进行设置hawq_rm_memory_limit_perseg = RAM - NON_HAWQ_MEMORY

配置YARN时或使用Ambari安装HAWQ时,您可以使用Ambari设置任一参数。

示例1 - 大型主机

示例大型主机使用内存配置:

内存:256GB

SWAP:4GB

NON_HAWQ_MEMORY:

2GB的操作系统

2GB的DataNode

2GB的NodeManager

1GB的PXF

overcommit_ratio_percentage:1(vm.overcommit_ratio= 100)

对于这台机器,TOTAL_MEMORY = 256GB * 1 + 4GB = 260GB

如果此系统使用YARN进行资源管理,则设置yarn.nodemanager.resource.memory-mbTOTAL_MEMORY - NON_HAWQ_MEMORY= 260GB - 7GB = 253(因为253GB小于可用RAM的数量)。

如果此系统使用默认的HAWQ资源管理器,则可以设置hawq_rm_memory_limit_persegRAM - NON_HAWQ_MEMORY= 256 GB - 7GB = 249。

示例2 - 中等主机

一个中型主机的示例使用内存配置:

内存:64GB

SWAP:32GB

NON_HAWQ_MEMORY:

2GB的操作系统

2GB的DataNode

2GB的NodeManager

1GB的PXF

overcommit_ratio_percentage:.5(vm.overcommit_ratio= 50)

对于这台机器,TOTAL_MEMORY = 64GB * .5 + 32GB = 64GB

如果此系统使用YARN进行资源管理,则您将设置yarn.nodemanager.resource.memory-mbTOTAL_MEMORY - NON_HAWQ_MEMORY= 64GB - 7GB = 57(因为57GB小于可用RAM的数量)。

如果此系统使用默认的HAWQ资源管理器,则应设置hawq_rm_memory_limit_persegRAM - NON_HAWQ_MEMORY= 64 GB - 11GB = 57。

示例3 - 小型主机(不推荐用于生产)

示例小型机器使用内存配置:

内存:8GB

SWAP:8GB

NON_HAWQ_MEMORY:

2GB的操作系统

2GB的DataNode

2GB的NodeManager

1GB的PXF

overcommit_ratio_percentage:.5(vm.overcommit_ratio= 50)

对于这台机器,TOTAL_MEMORY = 8GB * .5 + 8GB = 12GB

如果此系统使用YARN进行资源管理,则您将设置yarn.nodemanager.resource.memory-mbTOTAL_MEMORY - NON_HAWQ_MEMORY= 12GB - 7GB = 5(因为5GB小于可用RAM的数量)。

如果此系统使用默认的HAWQ资源管理器,则应设置hawq_rm_memory_limit_persegRAM - NON_HAWQ_MEMORY= 8 GB - 7GB = 1。

无密码的SSH配置

HAWQ主机将被配置为在安装过程中使用无密码SSH进行集群内通信。每个HAWQ主机都必须启用基于密码的临时认证,以准备此配置。

  1. 如果尚未在HAWQ系统上配置,请安装SSH服务器:

    $ yum list installed | grep openssh-server
    $ yum -y install openssh-server
    
  2. 更新主机的SSH配置以允许基于密码的身份验证。编辑SSH配置文件并将PasswordAuthentication配置值从更改noyes

    $ sudo vi /etc/ssh/sshd_config
    
    PasswordAuthentication yes
    
  3. 重新启动SSH:

    $ sudo service sshd restart
    

安装完成后,您可以选择关闭先前步骤中配置的临时密码认证。

  1. /etc/ssh/sshd_config在文本编辑器中打开SSH 文件并更新您在上面第2步中启用的配置选项:

    PasswordAuthentication no
    
  2. 重新启动SSH:

    $ sudo service sshd restart
    

     

磁盘要求

  • 每个主机2GB用于HAWQ安装。 
  • 元数据每段大约300MB。
  • 对于HAWQ主节点和网段临时目录,建议使用多个大(2TB或更大)的磁盘。对于给定的查询,HAWQ将为每个虚拟段使用单独的临时目录(如果可用)来存储溢出文件。多个HAWQ会话也将使用单独的临时目录(可用于避免磁盘争用)。如果配置的临时目录太少,或者将多个临时目录放在同一磁盘上,则当多个虚拟段定位到同一磁盘时,可能会增加磁盘争用或磁盘空间不足的风险。每个HAWQ段节点可以有6个虚拟段。
  • 数据适当的可用空间:磁盘应至少有30%的可用空间(不超过70%的容量)。
  • 高速的本地存储

网络要求

  • 阵列中的千兆位以太网。对于生产群集,建议使用10千兆位以太网。
  • 专用的无阻塞开关。
  • 具有多个NIC的系统需要NIC绑定来利用所有可用的网络带宽。
  • HAWQ主站和段之间的通信需要在集群网络中配置反向DNS查找。

端口要求

单独的PXF插件(在添加HAWQ和PXF服务后安装)需要您在主机上使用Tomcat。Tomcat保留8005,8080和8009端口。

如果您在将运行PXF插件的主机上配置了Oozie JXM报告,请确保报告服务使用8005以外的端口。这有助于防止在启动PXF服务时发生端口冲突错误。

Umask

要求

在所有群集主机上将OS文件系统umask设置为022。这确保用户可以读取HDFS块文件。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值