龙空技术网

ApacheHAWQ_SystemRequirements_01

feifeifei 135

前言:

今天我们对“apache未加入服务”大致比较着重,咱们都想要学习一些“apache未加入服务”的相关知识。那么小编也在网络上网罗了一些关于“apache未加入服务””的相关知识,希望小伙伴们能喜欢,看官们快快来了解一下吧!

按照以下指导原则配置好即将在每台机器上运行Apache HAWQ或PXF服务。

主机内存配置

为了防止Apache HAWQ集群中的数据丢失或损坏,您必须在每台主机上配置内存, 以便Linux内存不足(OOM)killer进程不会由于OOM情况而终止HAWQ进程。 (HAWQ应用自己的规则来强制执行内存限制。)

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

设置操作系统vm.overcommit_memory内存参数设置为2。 通过此设置,OOM killer进程将报告错误,而不是终止正在运行的进程。要设置此参数:

1.1. 打开并编辑/etc/sysctl.conf文件

1.2. 添加或更改参数定义,使文件包含以下行:

kernel.threads-max=798720vm.overcommit_memory=2

1.3. 保存并关闭文件,然后执行以下命令使参数生效

$ sysctl -p

1.4. 执行下列命令,查看当前配置vm.overcommit_memory:

$ sysctl -a | grep overcommit_memory

1.5. 执行下列命令,查看运行时的配置vm.overcommit_memory:

$ cat /proc/meminfo | grep Commit

2.设置Linux swap 大小和vm.overcommit_ratio的值依据每台主机的可用内存情况来设定。 对于2GB <= MEM < 8GB 的主机,设置swap space = physical RAM 并设置vm.overcommit_ratio=50. 对于8GB <= MEM < 64GB的主机,设置swap space = physical RAM * 0.5,并设置vm.overcommit_ratio=50 对于64GB<= MEM 的主机 , 设置swap space = 4GB 并设置vm.overcommit_ratio=100 设置vm.overcommit_ratio参数:

2.1. 打开文件/etc/sysctl.conf并编辑

2.2. 新增或修改参数定义在文件中

vm.overcommit_ratio=50

2.3. 保存和关闭文件,并执行下列命令使配置更改生效:

$ sysctl -p

2.4. 查看当前系统中vm.overcommit_ratio的设置

$ sysctl -a | grep overcommit_ratio

你可以选择专有的交换分区,交换文件或者两种结合。 查看当前swap设置的命令:

$ cat /proc/meminfo | grep Swap
确保机器上运行的所有Java服务都使用-Xmx开关只用于分配它们所需的heap。确保没有其他服务(如Puppet)或自动进程尝试重置群集主机上的overcommit_ratio设置。在安装过程中,通过设置YARN或HAWQ配置参数来配置HAWQ内存,详见HAWQ内存配置。HAWQ内存配置

当你使用YARN或者HAWQ管理系统资源,前提你必须配置MEM用于HAWQ。

当你根据主机内存配置配置vm.overcommit_ratio和swap space,每台LInux系统总的可用内存可以采用下列计算公式表示:

TOTAL_MEMORY = RAM * overcommit_ratio_percentage + SWAP

TOTAL_MEMORY 包括HAWQ_MEMORY和NON_HAWQ_MEMORY, 后者是组件使用的MEM,例如:

Operating systemDataNodeNodeManagerPXFAll other software you run on the host machine.

要为确定的主机配置HAWQ内存,请首先确定机器上的NON_HAWQ_MEMORY。

然后根据您是使用HAWQ默认资源管理器还是YARN来管理资源,

在通过设置正确的参数来配置HAWQ内存:

如果你使用 YARN资源管理, set yarn.nodemanager.resource.memory-mb = MIN(TOTAL_MEMORY - NON_HAWQ_MEMORY , RAM).如果你使用HAWQ默认资源管理, set hawq_rm_memory_limit_perseg = RAM - NON_HAWQ_MEMORY.

您可以在配置YARN时使用Ambari设置参数,也可以在使用Ambari安装HAWQ时使用Ambari设置参数。

Example 1 - Large Host Machine

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

RAM: 256GB

SWAP: 4GB

NON_HAWQ_MEMORY:

2GB for Operating System

2GB for DataNode

2GB for NodeManager

1GB for PXF

overcommit_ratio_percentage:1 (vm.overcommit_ratio = 100)

得出这台集群的 TOTAL_MEMORY = 256GB * 1 + 4GB = 260GB.

如果此系统使用YARN进行资源管理,则yarn.nodemanager.resource.memory-mb = TOTAL_MEMORY - NON_HAWQ_MEMORY = 260GB - 7GB = 253(因为253GB小于可用的RAM容量)。如果此系统使用默认的HAWQ资源管理器,则hawq_rm_memory_limit_perseg = RAM - NON_HAWQ_MEMORY = 256 GB - 7GB = 249.

Example 2 - Medium Host Machine

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

RAM: 64GB

SWAP: 32GB

NON_HAWQ_MEMORY:

2GB for Operating System

2GB for DataNode

2GB for NodeManager

1GB for PXF

overcommit_ratio_percentage: 0.5 (vm.overcommit_ratio = 50)

得出这台集群的 TOTAL_MEMORY = 64GB * .5 + 32GB = 64GB.

如果此系统使用YARN进行资源管理,则yarn.nodemanager.resource.memory-mb = TOTAL_MEMORY - NON_HAWQ_MEMORY = 64GB - 7GB = 57 (因为57GB小于可用的RAM容量)。如果此系统使用默认的HAWQ资源管理器,则hawq_rm_memory_limit_perseg = RAM - NON_HAWQ_MEMORY = 64 GB - 11GB = 57.

Example 3 - Small Host Machine (不建议用于生产)

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

RAM: 8GB

SWAP: 8GB

NON_HAWQ_MEMORY:

2GB for Operating System

2GB for DataNode

2GB for NodeManager

1GB for PXF

overcommit_ratio_percentage: 0.5 (vm.overcommit_ratio = 50)

得出这台集群的TOTAL_MEMORY = 8GB * .5 + 8GB = 12GB.

如果此系统使用YARN进行资源管理,则yarn.nodemanager.resource.memory-mb = TOTAL_MEMORY - NON_HAWQ_MEMORY = 12GB - 7GB = 5 (因为5GB小于可用的RAM容量)。如果此系统使用默认的HAWQ资源管理器,则hawq_rm_memory_limit_perseg = RAM - 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 config文件并将PasswordAuthentication配置值从no更改为yes:

$ sudo vi /etc/ssh/sshd_configPasswordAuthentication yes

3.重启ssh:

$ sudo service sshd restart

安装完成后,您可以选择关闭前面步骤中配置的基于密码的临时身份验证:

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

PasswordAuthentication no

2.重启ssh:

$ sudo service sshd restart
磁盘要求每个主机至少预留2GB用于HAWQ安装每个segment实例的元数据大约300MB。对于HAWQ master and segment 的临时目录,建议使用多个大磁盘(2TB或更大)。

对于给定的查询,HAWQ将为每个virtual segment使用单独的temp目录(如果可用)来存储溢出文件。

多个HAWQ会话还将在可用的情况下使用单独的temp目录,以避免磁盘争用。

如果配置的临时目录太少,或者在同一磁盘上放置多个临时目录,则当多个virtual segment以同一磁盘为目标时,会增加磁盘争用或磁盘空间不足的风险。

每个HAWQ段节点可以有6个virtual segment。适当的数据可用空间:磁盘应至少有30%的可用空间(容量不超过70%)。高速本地存储网络要求阵列中的千兆以太网。对于生产集群,建议使用万兆以太网。专用非阻塞开关。具有多个NIC的系统需要NIC绑定以利用所有可用的网络带宽。HAWQ master和segments 之间的通信需要在群集网络中配置反向DNS查找。端口要求

在添加HAWQ和PXF服务之后,安装的各个PXF插件需要在主机上安装Tomcat。

Tomcat保留端口8005、8080和8009。

如果您在将运行PXF插件的主机上配置了Oozie JXM ,请确保报告服务使用的端口不是8005。

这有助于防止在启动PXF服务时发生端口冲突错误。

Umask要求

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

参考

标签: #apache未加入服务