初始Mapr(四)——准备每个节点

来源:互联网 发布:淘宝 消防工程师教材 编辑:程序博客网 时间:2024/06/04 01:36

编制各节点

跳转到元数据的结束
转至元数据起始

每个节点都贡献到集群设计在前面的步骤,所以每个必须能够运行MAPR和Hadoop软件。

 

要求

CPU

64位

操作系统

红帽的CentOS,SUSE还是Ubuntu

记忆

4 GB的最低,多在生产

圆盘

生的,未格式化的驱动器和分区

DNS

主机名,达到所有其他节点

用户

在所有节点上普通用户;无钥匙SSH

Java的

必须运行Java

其他

NTP,系统日志,PAM

使用以下各节作为一个清单,以使每个候选节点适合其指派的角色。一旦每个节点已编制或丧失资格,则继续执行步骤3,安装MAPR软件。

2.1 CPU和操作系统

一个。处理器是64位

要确定处理器类型,运行

$ uname-m输出
x86_64的

如果输出包括“x86_64的,”该处理器是64位。如果包括“386”,“i486的”,“i586的”或“i686的,”它是一个32位处理器,它是不支持的MAPR软件。

如果结果是“未知”,或没有上述情况,请尝试这些替代命令之一。

$ uname-a的
Linux的马赫名2.6.35-22-服务器#33-Ubuntu的SMP周日9月19日20:48:58 UTC 2012 x86_64的GNU / Linux的

cpuinfo中的文件中,标志“流明”(为“长模式”)表示一个64位处理器。

$ grep的标志的/ proc / cpuinfo中
标志:FPU VME德PSE TSC MSR PAE MCE CX8 APIC月MTRR PGE MCA CMOV拍拍PSE36 CLFLUSH DTS ACPI MMX SSE FXSR SSE2 SS系统调用NX rdtscp流明CONSTANT_TSC了arch_perfmon PEBS BTS rep_good xtopology tsc_reliable NONSTOP_TSC aperfmperf PNI PCLMULQDQ SSSE3 CX16 sse4_1 sse4_2 POPCNT AES管理程序lahf_lm ​​IDA ARAT

湾 支持的操作系统

运行下面的命令来确定安装的操作系统的名称和版本。(如果lsb_release命令报告“没有LSB的模块可用,”这不是一个问题。)

$ lsb_release-A
无LSB的模块可供选择。
经销商ID:Ubuntu的
说明:Ubuntu的10.10
释放:10.10
代号:特立独行

操作系统必须是下列之一:

操作系统

最低版本

红帽企业Linux(RHEL)或社区企业版Linux(CentOS的)

5.4或更高版本

SUSE企业级Linux服务器

11或更高版本

Ubuntu Linux操作系统

9.04或更高版本

如果lsb_release找不到命令,请尝试下列方法之一。

$执行cat / proc /版本
的Linux版本2.6.35-22-服务器(建立@五香粉)(GCC 4.4.5版本(Ubuntu的/ Linaro的4.4.4-14ubuntu4))#33-Ubuntu的SMP太阳9月19日20:48:58 UTC 2012
$猫的/ etc / *释放
DISTRIB_ID = Ubuntu的
DISTRIB_RELEASE = 10.10
DISTRIB_CODENAME =特立独​​行
DISTRIB_DESCRIPTION =“Ubuntu的10.10”

如果您确定该节点运行支持的操作系统的旧版本,至少升级到受支持的版本,并在继续操作之前测试升级。如果你发现一个不同的Linux发行版,比如Fedora或者Gentoo的,该节点必须重新格式化,并安装一个支持的发行版。

2.2内存和硬盘空间

一个。最小内存

运行免费-G以千兆字节显示总的和可用的内存。该软件将用尽可能少的节点上4 GB的总内存中运行,但性能将低于8 GB的苦。MAPR建议至少16 GB用于生产环境,以及典型的MAPR生产节点具有32 GB或更多。

免费$-G
              缓存的总使用免费共享缓冲区
灰熊:3 2 1 0 0 1
- / +缓冲区/缓存:0 2
掉期:2 0 2

如果自由没有找到命令,有很多的选择:的grep MemTotal:的/ proc / meminfo中的vmstat-S-SM顶部,或各种GUI系统信息的工具。

MAPR不建议使用过量使用,因为它可能会导致内核内存管理器结束进程释放内存,从而杀死MAPR流程和系统不稳定。设置vm.overcommit_memory为0:

  1. 编辑文件在/ etc / sysctl.conf中,并添加下面一行:

    vm.overcommit_memory = 0
  2. 保存文件并运行:

    的sysctl-P
图标

您可以尝试MAPR出在非生产设备,但在一个生产环境的需求,内存需要对磁盘,网络和CPU的平衡。

湾 存储

不同于普通的Hadoop,MAPR直接管理原始(未格式化)的设备来优化性能,并提供高可用性。如果这将是一个数据节点,MAPR建议至少3卸载的物理驱动器或可通过MAPR仓储用途分区。MAPR使用的磁盘轴平行更快的读/写带宽,因此组的磁盘到三套。这些原始驱动器不应该使用RAID或逻辑卷管理。(MAPR可以与这些技术工作,但他们需要先进的设置和实际降低集群的性能。)

图标

MAPR需要至少一个磁盘或分区MAPR数据。然而,文件争用共享磁盘会降低性能。在典型的生产环境中,每个节点上的多个物理磁盘都献给了分布式文件系统,从而导致更好的性能。

最小磁盘空间

操作系统分区。提供至少10 GB的操作系统分区的可用磁盘空间。

磁盘。提供了10 GB的可用磁盘空间的/ tmp目录(JobTracker的和TaskTracker必须临时文件),并在128 GB的可用磁盘空间的/ opt目录(日志,内核,并支持图像)。

Swap空间。提供足够的交换空间的稳定性,比节点的物理内存增加10%,但不低于24 GB和不超过128 GB。

动物园管理员。在动物园管理员的节点,奉献一个分区,如果可行,为的/ opt / MAPR / zkdata目录,以避免填充该分区与写其他进程,并减少出错的可能性,由于一个完整的/ opt / MAPR / zkdata目录。此目录是用来存储最大为64 MB的快照。由于最近四个快照的保留,储备至少500 MB用于该分区。不要共用所在的物理磁盘的/ opt / MAPR / zkdata驻留任何MAPR文件系统数据分区,以避免I / O冲突可能会导致ZooKeeper的服务失败了。

2.3连接

一个。主机名

集群中的每个节点都必须有一个唯一的主机名解析的向前和向后与所有其他节点正常和反向DNS名称查询。

运行主机名-F ,检查该节点的主机名。例如:

$主机名-F
node125

如果主机名-F返回一个名称,运行了getent主机的主机名``返回节点的IP地址和完全限定域名(FQDN)。

$了getent主机的主机名``
10.250.1.53 node125.corp.example.com

要解决主机名的问题,编辑/ etc / hosts文件文件作为根。一个简单的/ etc / hosts文件可能包含:

127.0.0.1本地
10.10.5.10 MAPR-hadoopn.maprtech.prv MAPR-hadoopn

一个常见的问题是不正确的回环条目(127.0.xx),防止IP地址被分配给该主机名。例如,在Ubuntu中,默认的/ etc / hosts中的文件可能包含:

127.0.0.1本地
127.0.1.1 node125.corp.example.com

环回(127.0.xx)项的节点的主机名会混淆的安装程序和其他程序。编辑/ etc / hosts中的文件,并删除主机名与一个回送IP关联的任何条目。只有主机名与实际IP地址相关联。

图标

关于Ubuntu的默认详细信息/ etc / hosts中的文件,请参阅https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/871966。

使用的ping命令来验证每个节点都可以使用每个节点的主机名达到其他人。欲了解更多信息,请参阅主机(5)手册页。

 湾 普通用户

访问集群用户必须在集群中的每个节点上相同的凭据和用户ID(UID)。运行MAPR工作每个人或部门必须有一个帐户,也必须属于一个共同的组ID(GID)。的UID为每个用户和gid的每个组中,必须在所有的节点相一致。

A“MAPR'用户必须存在。在'MAPR“用户具有完全的权限来管理群集。如果您创建了“MAPR”用户在安装MAPR之前,可以测试连接问题。如果你没有创建“MAPR”的用户,在安装MAPR自动为您创建的用户。在'MAPR“用户ID在每个节点上自动创建的,如果你不使用目录服务,如LDAP。

要创建组,将用户添加到组,或创建“MAPR'用户,请运行以下命令以root身份代以UID为    和GID为  Ñ。(错误“无法锁定/ etc / passwd文件”表明,该命令没有以root身份运行。)

$ useradd的MAPR - GID北 - UID米


例如:$ GROUPADD-G 5000 MAPR $ useradd的-G 5000-U 5000 MAPR

 

要验证已创建的用户或组,  苏MAPR。  确认主目录创建(通常是  /家/ MAPR ,而用户或组具有读写访问。该用户或组必须具有写访问  的/ tmp  目录下,或者监狱长将无法启动服务。

角 可选:无钥匙SSH

这是非常有帮助的普通用户能够从每个Web服务器节点ssh到任何其他节点无需提供密码。如果没有提供所谓的“无钥匙SSH”,集中磁盘管理将不可用。远程,集中的集群管理方便,但节点之间的无钥匙SSH是可选的,因为MAPR将运行离不开它。

设置无钥匙SSH很简单。在每个Web服务器节点,生成密钥对,并追加钥匙的授权文件。那么这个授权文件复制到每个节点,使每个节点都可以从网络服务器节点。

苏MAPR(如果您尚未登录为MAPR)使用ssh-keygen-T RSA-P''-F〜/ 文件名

使用ssh-keygen命令创建文件名 ​​,包含私钥和文件名 ​​。酒馆,包含公钥。为方便起见,您可能要命名为节点的主机名的文件。例如,与主机名称的节点上的“node10.10.1.1”

使用ssh-keygen-T RSA-P''-F〜/ node10.10.1.1

在这个例子中,附加的文件/ home/mapr/node10.10.1.1.pubauthorized_keys的文件。

每个附加的Web服务器节点的公钥到一个文件,使用命令像 的文件名 ​​。酒吧>> authorized_keys中。(密钥文件是简单的文本,这样你就可以在几个方面,包括文本编辑器附加文件。)当所有的服务器节点的空口令公钥已经产生,而公钥文件已附加到主“的authorized_keys”文件,复制该主密钥文件复制到每个节点的〜/ .ssh / authorized_keys存放,其中〜是指MAPR用户的主目录(通常为/家/ MAPR)。

2.4软件

一个。Java的

MAPR服务需要Java运行时环境。

运行Java的版本。请确认这些版本之一是安装在节点上:

  • 的Sun Java JDK 1.6或1.7
  • OpenJDK的1.6或1.7 

如果java的找不到命令,下载并安装甲骨文/ Sun Java或使用的软件包管理器来安装的OpenJDK。获得甲骨文/ Sun Java运行时环境(JRE),标准版(Java SE),可在Oracle的Java SE的网站。查找的Java SE 6在以前版本的存档。

图标

的Sun Java包括太平绅士命令列出正在运行的Java进程,并能显示CLDB是否已经开始。有办法确定这与OpenJDK的,但他们更复杂。

使用的软件包管理器,如百胜(在RedHat或CentOS),apt-get的(Ubuntu的),或者的节点上安装或更新的OpenJDK。该命令会像下列操作之一:

 Red Hat或CentOS的
 Ubuntu的
 SUSE

湾 MySQL的

该MAPR度量服务需要访问MySQL服务器运行版本5.1或更高版本。MySQL没有在集群中的一个节点上安装,但必须是在同一个网络的群集上。如果你不打算使用MAPR度量,MySQL是不是必需的。

2.5基础设施

一个。网络时间

为了让所有群集节点时间同步,MAPR需要软件,如网络时间协议(NTP)服务器进行配置,每一个节点上运行。如果集群中的服务器的时钟漂移不同步,会发生与HBase的和其他MAPR服务的严重问题。MAPR提出的任何超出同步节点的时间差报警。见http://www.ntp.org/有关获取和安装NTP的更多信息。

高级:安装内置NTP服务器让你的集群同步,即使外部NTP服务器无法访问。

湾 系统日志

系统日志必须在每个节点上启用就杀死进程或失败的作业保存日志。现代的版本,如syslog-ng的和rsyslog现在是可能的,使得它更难以确保系统日志守护进程存在。下面的一个命令就足够了:

syslogd的-V
服务的syslog状态
 
rsyslogd-V
服务rsyslog现在的状态

角 的ulimit

的ulimit是设置用户的全系统资源的访问限制的命令。具体来说,它提供了适用于shell的资源和由它启动的进 ​​程控制。

该MAPR-监狱长脚本使用的ulimit命令的文件描述符的最大数量(套NOFILE)和流程(nproc设置)为64000。较高的值不大可能导致明显的性能增益。较低的值,如1024的默认值,可能会导致任务失败。

图标

每次监狱长开始MAPR的推荐值被自动设置。

根据您的环境,你可能需要设置限制手动而不是依赖于监狱长使用自动设置它们的ulimit。下面的示例显示如何做到这一点,使用64000的推荐值。

 在CentOS /红帽设置资源限制
 在Ubuntu上设置资源限制

使用的ulimit来验证设置:

  1. 重新启动系统。
  2. 运行下面的命令为MAPR用户(不是root),在命令行:
    的ulimit-n的

该命令应报告64000

ð。PAM

将运行节点MAPR控制系统(该MAPR-Web服务器,如果发现服务),可以采取插入式验证模块(PAM)的优势。在配置文件在/ etc / pam.d /下通常为每个标准的Linux命令目录。MAPR可以使用,但不要求,其自身的配置文件。

如需更详细的有关PAM的配置,请参阅PAM配置。

Ë。安全 - SELinux的,AppArmor的

SELinux的(或等值的其他操作系统)必须在安装过程中被禁用。如果MAPR服务作为一个非root用户运行,SELinux的安装后可以启用和群集正在运行时。

f。TCP重

在每个节点上,设置TCP重为5,因此MAPR可以检测到无法访问的节点,更短的延迟数。

  1. 编辑文件在/ etc / sysctl.conf中,并添加下面一行:

    net.ipv4.tcp_retries2 = 5
  2. 保存文件并运行:

    的sysctl-P

克 NFS

禁用将运行MAPR NFS服务器节点股票Linux的NFS服务器。

小时。iptables的

启用一个节点上的iptables可以关闭正在使用的MAPR端口。如果您启用iptables的,请确保所需的端口保持开放。请检查您的当前IP表规则使用以下命令:

$服务iptables的状态

自动配置

有些用户发现像木偶或厨师配置的每个节点在集群中的有用工具。请确定,但是,当后来安装MAPR包的任何配置工具不会重置所做的更改。具体地讲,不要让自动配置工具覆盖变化到以下文件:

  • 在/ etc / sudoers中
  • 在/ etc /安全/ limits.conf中
  • / etc/udev/rules.d/99-mapr-disk.rules

下一步

集群中的每个节点的前瞻性,必须检查对这里提出的要求。不能确保每个节点是适合使用通常会导致与安装Hadoop的难以解决的问题。

在每个节点已被证明符合要求,并已准备好,你就可以安装MAPR组件。

0 0
原创粉丝点击